.text:00000000 ; .text:00000000 ; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» .text:00000000 ; º This file is generated by The Interactive Disassembler (IDA) º .text:00000000 ; º Copyright (c) 2006 by DataRescue sa/nv, º .text:00000000 ; º Licensed to: University of Wisconsin, 5 users std, edu, 09/2004 º .text:00000000 ; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ .text:00000000 ; .text:00000000 ; File Name : C:\working\TSL\analyzer\TSLFiles\DASH\regression\verisec-gxine\simp_ok.obj .text:00000000 ; Format : COFF (X386MAGIC) .text:00000000 ; includelib "LIBCMT" .text:00000000 ; includelib "OLDNAMES"" .text:00000000 .text:00000000 .686p .text:00000000 .mmx .text:00000000 .model flat .text:00000000 .text:00000000 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ .text:00000000 .text:00000000 ; Segment type: Pure code .text:00000000 _text segment para public 'CODE' use32 .text:00000000 assume cs:_text .text:00000000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing .text:00000000 .text:00000000 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000000 .text:00000000 ; Attributes: bp-based frame .text:00000000 .text:00000000 public _MakeChoice .text:00000000 _MakeChoice proc near ; CODE XREF: _nondet_int+3p .text:00000000 push ebp .text:00000001 mov ebp, esp .text:00000003 xor eax, eax .text:00000005 pop ebp .text:00000006 retn .text:00000006 _MakeChoice endp .text:00000006 .text:00000006 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000007 align 10h .text:00000010 .text:00000010 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000010 .text:00000010 ; Attributes: bp-based frame .text:00000010 .text:00000010 public _r_strcat .text:00000010 _r_strcat proc near .text:00000010 .text:00000010 var_C = dword ptr -0Ch .text:00000010 var_5 = byte ptr -5 .text:00000010 var_4 = dword ptr -4 .text:00000010 arg_0 = dword ptr 8 .text:00000010 arg_4 = dword ptr 0Ch .text:00000010 .text:00000010 push ebp .text:00000011 mov ebp, esp .text:00000013 sub esp, 0Ch .text:00000016 mov [ebp+var_4], 0 .text:0000001D mov [ebp+var_C], 0 .text:00000024 .text:00000024 loc_24: ; CODE XREF: _r_strcat+2Aj .text:00000024 mov eax, [ebp+arg_0] .text:00000027 add eax, [ebp+var_4] .text:0000002A movsx ecx, byte ptr [eax] .text:0000002D test ecx, ecx .text:0000002F jz short loc_3C .text:00000031 mov edx, [ebp+var_4] .text:00000034 add edx, 1 .text:00000037 mov [ebp+var_4], edx .text:0000003A jmp short loc_24 .text:0000003C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000003C .text:0000003C loc_3C: ; CODE XREF: _r_strcat+1Fj .text:0000003C ; _r_strcat+5Fj .text:0000003C mov eax, [ebp+arg_4] .text:0000003F add eax, [ebp+var_C] .text:00000042 mov cl, [eax] .text:00000044 mov [ebp+var_5], cl .text:00000047 mov edx, [ebp+arg_0] .text:0000004A add edx, [ebp+var_4] .text:0000004D mov al, [ebp+var_5] .text:00000050 mov [edx], al .text:00000052 mov ecx, [ebp+var_4] .text:00000055 add ecx, 1 .text:00000058 mov [ebp+var_4], ecx .text:0000005B mov edx, [ebp+var_C] .text:0000005E add edx, 1 .text:00000061 mov [ebp+var_C], edx .text:00000064 mov eax, [ebp+arg_4] .text:00000067 add eax, [ebp+var_C] .text:0000006A movsx ecx, byte ptr [eax] .text:0000006D test ecx, ecx .text:0000006F jnz short loc_3C .text:00000071 mov edx, [ebp+arg_0] .text:00000074 add edx, [ebp+var_4] .text:00000077 mov byte ptr [edx], 0 .text:0000007A mov eax, [ebp+arg_0] .text:0000007D mov esp, ebp .text:0000007F pop ebp .text:00000080 retn .text:00000080 _r_strcat endp .text:00000080 .text:00000080 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000081 align 10h .text:00000090 .text:00000090 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000090 .text:00000090 ; Attributes: bp-based frame .text:00000090 .text:00000090 public _r_strncat .text:00000090 _r_strncat proc near .text:00000090 .text:00000090 var_C = dword ptr -0Ch .text:00000090 var_5 = byte ptr -5 .text:00000090 var_4 = dword ptr -4 .text:00000090 arg_0 = dword ptr 8 .text:00000090 arg_4 = dword ptr 0Ch .text:00000090 arg_8 = dword ptr 10h .text:00000090 .text:00000090 push ebp .text:00000091 mov ebp, esp .text:00000093 sub esp, 0Ch .text:00000096 mov [ebp+var_4], 0 .text:0000009D mov [ebp+var_C], 0 .text:000000A4 .text:000000A4 loc_A4: ; CODE XREF: _r_strncat+2Aj .text:000000A4 mov eax, [ebp+arg_0] .text:000000A7 add eax, [ebp+var_4] .text:000000AA movsx ecx, byte ptr [eax] .text:000000AD test ecx, ecx .text:000000AF jz short loc_BC .text:000000B1 mov edx, [ebp+var_4] .text:000000B4 add edx, 1 .text:000000B7 mov [ebp+var_4], edx .text:000000BA jmp short loc_A4 .text:000000BC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000000BC .text:000000BC loc_BC: ; CODE XREF: _r_strncat+1Fj .text:000000BC ; _r_strncat+69j .text:000000BC mov eax, [ebp+var_C] .text:000000BF cmp eax, [ebp+arg_8] .text:000000C2 jl short loc_C6 .text:000000C4 jmp short loc_FB .text:000000C6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000000C6 .text:000000C6 loc_C6: ; CODE XREF: _r_strncat+32j .text:000000C6 mov ecx, [ebp+arg_4] .text:000000C9 add ecx, [ebp+var_C] .text:000000CC mov dl, [ecx] .text:000000CE mov [ebp+var_5], dl .text:000000D1 mov eax, [ebp+arg_0] .text:000000D4 add eax, [ebp+var_4] .text:000000D7 mov cl, [ebp+var_5] .text:000000DA mov [eax], cl .text:000000DC mov edx, [ebp+var_4] .text:000000DF add edx, 1 .text:000000E2 mov [ebp+var_4], edx .text:000000E5 mov eax, [ebp+var_C] .text:000000E8 add eax, 1 .text:000000EB mov [ebp+var_C], eax .text:000000EE mov ecx, [ebp+arg_4] .text:000000F1 add ecx, [ebp+var_C] .text:000000F4 movsx edx, byte ptr [ecx] .text:000000F7 test edx, edx .text:000000F9 jnz short loc_BC .text:000000FB .text:000000FB loc_FB: ; CODE XREF: _r_strncat+34j .text:000000FB mov eax, [ebp+arg_0] .text:000000FE add eax, [ebp+var_4] .text:00000101 mov byte ptr [eax], 0 .text:00000104 mov eax, [ebp+arg_0] .text:00000107 mov esp, ebp .text:00000109 pop ebp .text:0000010A retn .text:0000010A _r_strncat endp .text:0000010A .text:0000010A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000010B align 10h .text:00000110 .text:00000110 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000110 .text:00000110 ; Attributes: bp-based frame .text:00000110 .text:00000110 public _r_memcpy .text:00000110 _r_memcpy proc near .text:00000110 .text:00000110 var_C = dword ptr -0Ch .text:00000110 var_8 = dword ptr -8 .text:00000110 var_4 = dword ptr -4 .text:00000110 arg_0 = dword ptr 8 .text:00000110 arg_4 = dword ptr 0Ch .text:00000110 arg_8 = dword ptr 10h .text:00000110 .text:00000110 push ebp .text:00000111 mov ebp, esp .text:00000113 sub esp, 0Ch .text:00000116 mov eax, [ebp+arg_4] .text:00000119 mov [ebp+var_8], eax .text:0000011C mov ecx, [ebp+arg_0] .text:0000011F mov [ebp+var_C], ecx .text:00000122 mov edx, [ebp+arg_8] .text:00000125 sub edx, 1 .text:00000128 mov [ebp+var_4], edx .text:0000012B jmp short loc_136 .text:0000012D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000012D .text:0000012D loc_12D: ; CODE XREF: _r_memcpy+3Cj .text:0000012D mov eax, [ebp+var_4] .text:00000130 sub eax, 1 .text:00000133 mov [ebp+var_4], eax .text:00000136 .text:00000136 loc_136: ; CODE XREF: _r_memcpy+1Bj .text:00000136 cmp [ebp+var_4], 0 .text:0000013A jl short loc_14E .text:0000013C mov ecx, [ebp+var_C] .text:0000013F add ecx, [ebp+var_4] .text:00000142 mov edx, [ebp+var_8] .text:00000145 add edx, [ebp+var_4] .text:00000148 mov al, [edx] .text:0000014A mov [ecx], al .text:0000014C jmp short loc_12D .text:0000014E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000014E .text:0000014E loc_14E: ; CODE XREF: _r_memcpy+2Aj .text:0000014E mov eax, [ebp+arg_0] .text:00000151 mov esp, ebp .text:00000153 pop ebp .text:00000154 retn .text:00000154 _r_memcpy endp .text:00000154 .text:00000154 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000155 align 10h .text:00000160 .text:00000160 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000160 .text:00000160 ; Attributes: bp-based frame .text:00000160 .text:00000160 public _r_strncpy .text:00000160 _r_strncpy proc near ; CODE XREF: _main+22p .text:00000160 .text:00000160 var_4 = dword ptr -4 .text:00000160 arg_0 = dword ptr 8 .text:00000160 arg_4 = dword ptr 0Ch .text:00000160 arg_8 = dword ptr 10h .text:00000160 .text:00000160 push ebp .text:00000161 mov ebp, esp .text:00000163 push ecx .text:00000164 mov [ebp+var_4], 0 .text:0000016B jmp short loc_176 .text:0000016D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000016D .text:0000016D loc_16D: ; CODE XREF: _r_strncpy:loc_19Dj .text:0000016D mov eax, [ebp+var_4] .text:00000170 add eax, 1 .text:00000173 mov [ebp+var_4], eax .text:00000176 .text:00000176 loc_176: ; CODE XREF: _r_strncpy+Bj .text:00000176 mov ecx, [ebp+var_4] .text:00000179 cmp ecx, [ebp+arg_8] .text:0000017C jge short loc_19F .text:0000017E mov edx, [ebp+arg_0] .text:00000181 add edx, [ebp+var_4] .text:00000184 mov eax, [ebp+arg_4] .text:00000187 add eax, [ebp+var_4] .text:0000018A mov cl, [eax] .text:0000018C mov [edx], cl .text:0000018E mov edx, [ebp+arg_4] .text:00000191 add edx, [ebp+var_4] .text:00000194 movsx eax, byte ptr [edx] .text:00000197 test eax, eax .text:00000199 jnz short loc_19D .text:0000019B jmp short loc_19F .text:0000019D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000019D .text:0000019D loc_19D: ; CODE XREF: _r_strncpy+39j .text:0000019D jmp short loc_16D .text:0000019F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000019F .text:0000019F loc_19F: ; CODE XREF: _r_strncpy+1Cj .text:0000019F ; _r_strncpy+3Bj .text:0000019F mov eax, [ebp+arg_0] .text:000001A2 mov esp, ebp .text:000001A4 pop ebp .text:000001A5 retn .text:000001A5 _r_strncpy endp .text:000001A5 .text:000001A5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000001A6 align 10h .text:000001B0 .text:000001B0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000001B0 .text:000001B0 ; Attributes: bp-based frame .text:000001B0 .text:000001B0 public _r_strcpy .text:000001B0 _r_strcpy proc near .text:000001B0 .text:000001B0 var_5 = byte ptr -5 .text:000001B0 var_4 = dword ptr -4 .text:000001B0 arg_0 = dword ptr 8 .text:000001B0 arg_4 = dword ptr 0Ch .text:000001B0 .text:000001B0 push ebp .text:000001B1 mov ebp, esp .text:000001B3 sub esp, 8 .text:000001B6 mov [ebp+var_4], 0 .text:000001BD jmp short loc_1C8 .text:000001BF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000001BF .text:000001BF loc_1BF: ; CODE XREF: _r_strcpy:loc_1EDj .text:000001BF mov eax, [ebp+var_4] .text:000001C2 add eax, 1 .text:000001C5 mov [ebp+var_4], eax .text:000001C8 .text:000001C8 loc_1C8: ; CODE XREF: _r_strcpy+Dj .text:000001C8 mov ecx, [ebp+arg_4] .text:000001CB add ecx, [ebp+var_4] .text:000001CE mov dl, [ecx] .text:000001D0 mov [ebp+var_5], dl .text:000001D3 mov eax, [ebp+arg_0] .text:000001D6 add eax, [ebp+var_4] .text:000001D9 mov cl, [ebp+var_5] .text:000001DC mov [eax], cl .text:000001DE mov edx, [ebp+arg_4] .text:000001E1 add edx, [ebp+var_4] .text:000001E4 movsx eax, byte ptr [edx] .text:000001E7 test eax, eax .text:000001E9 jnz short loc_1ED .text:000001EB jmp short loc_1EF .text:000001ED ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000001ED .text:000001ED loc_1ED: ; CODE XREF: _r_strcpy+39j .text:000001ED jmp short loc_1BF .text:000001EF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000001EF .text:000001EF loc_1EF: ; CODE XREF: _r_strcpy+3Bj .text:000001EF mov eax, [ebp+arg_0] .text:000001F2 mov esp, ebp .text:000001F4 pop ebp .text:000001F5 retn .text:000001F5 _r_strcpy endp .text:000001F5 .text:000001F5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000001F6 align 10h .text:00000200 .text:00000200 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000200 .text:00000200 ; Attributes: bp-based frame .text:00000200 .text:00000200 public _strcat .text:00000200 _strcat proc near .text:00000200 .text:00000200 var_C = dword ptr -0Ch .text:00000200 var_5 = byte ptr -5 .text:00000200 var_4 = dword ptr -4 .text:00000200 arg_0 = dword ptr 8 .text:00000200 arg_4 = dword ptr 0Ch .text:00000200 .text:00000200 push ebp .text:00000201 mov ebp, esp .text:00000203 sub esp, 0Ch .text:00000206 mov [ebp+var_4], 0 .text:0000020D mov [ebp+var_C], 0 .text:00000214 .text:00000214 loc_214: ; CODE XREF: _strcat+2Aj .text:00000214 mov eax, [ebp+arg_0] .text:00000217 add eax, [ebp+var_4] .text:0000021A movsx ecx, byte ptr [eax] .text:0000021D test ecx, ecx .text:0000021F jz short loc_22C .text:00000221 mov edx, [ebp+var_4] .text:00000224 add edx, 1 .text:00000227 mov [ebp+var_4], edx .text:0000022A jmp short loc_214 .text:0000022C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000022C .text:0000022C loc_22C: ; CODE XREF: _strcat+1Fj .text:0000022C ; _strcat+5Fj .text:0000022C mov eax, [ebp+arg_4] .text:0000022F add eax, [ebp+var_C] .text:00000232 mov cl, [eax] .text:00000234 mov [ebp+var_5], cl .text:00000237 mov edx, [ebp+arg_0] .text:0000023A add edx, [ebp+var_4] .text:0000023D mov al, [ebp+var_5] .text:00000240 mov [edx], al .text:00000242 mov ecx, [ebp+var_4] .text:00000245 add ecx, 1 .text:00000248 mov [ebp+var_4], ecx .text:0000024B mov edx, [ebp+var_C] .text:0000024E add edx, 1 .text:00000251 mov [ebp+var_C], edx .text:00000254 mov eax, [ebp+arg_4] .text:00000257 add eax, [ebp+var_C] .text:0000025A movsx ecx, byte ptr [eax] .text:0000025D test ecx, ecx .text:0000025F jnz short loc_22C .text:00000261 mov edx, [ebp+arg_0] .text:00000264 add edx, [ebp+var_4] .text:00000267 mov byte ptr [edx], 0 .text:0000026A mov eax, [ebp+arg_0] .text:0000026D mov esp, ebp .text:0000026F pop ebp .text:00000270 retn .text:00000270 _strcat endp .text:00000270 .text:00000270 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000271 align 10h .text:00000280 .text:00000280 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000280 .text:00000280 ; Attributes: bp-based frame .text:00000280 .text:00000280 public _memcpy .text:00000280 _memcpy proc near .text:00000280 .text:00000280 var_C = dword ptr -0Ch .text:00000280 var_8 = dword ptr -8 .text:00000280 var_4 = dword ptr -4 .text:00000280 arg_0 = dword ptr 8 .text:00000280 arg_4 = dword ptr 0Ch .text:00000280 arg_8 = dword ptr 10h .text:00000280 .text:00000280 push ebp .text:00000281 mov ebp, esp .text:00000283 sub esp, 0Ch .text:00000286 mov eax, [ebp+arg_4] .text:00000289 mov [ebp+var_8], eax .text:0000028C mov ecx, [ebp+arg_0] .text:0000028F mov [ebp+var_C], ecx .text:00000292 mov edx, [ebp+arg_8] .text:00000295 sub edx, 1 .text:00000298 mov [ebp+var_4], edx .text:0000029B jmp short loc_2A6 .text:0000029D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000029D .text:0000029D loc_29D: ; CODE XREF: _memcpy+3Cj .text:0000029D mov eax, [ebp+var_4] .text:000002A0 sub eax, 1 .text:000002A3 mov [ebp+var_4], eax .text:000002A6 .text:000002A6 loc_2A6: ; CODE XREF: _memcpy+1Bj .text:000002A6 cmp [ebp+var_4], 0 .text:000002AA jl short loc_2BE .text:000002AC mov ecx, [ebp+var_C] .text:000002AF add ecx, [ebp+var_4] .text:000002B2 mov edx, [ebp+var_8] .text:000002B5 add edx, [ebp+var_4] .text:000002B8 mov al, [edx] .text:000002BA mov [ecx], al .text:000002BC jmp short loc_29D .text:000002BE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000002BE .text:000002BE loc_2BE: ; CODE XREF: _memcpy+2Aj .text:000002BE mov eax, [ebp+arg_0] .text:000002C1 mov esp, ebp .text:000002C3 pop ebp .text:000002C4 retn .text:000002C4 _memcpy endp .text:000002C4 .text:000002C4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000002C5 align 10h .text:000002D0 .text:000002D0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000002D0 .text:000002D0 ; Attributes: bp-based frame .text:000002D0 .text:000002D0 public _strchr .text:000002D0 _strchr proc near .text:000002D0 .text:000002D0 var_8 = dword ptr -8 .text:000002D0 var_4 = dword ptr -4 .text:000002D0 arg_0 = dword ptr 8 .text:000002D0 arg_4 = dword ptr 0Ch .text:000002D0 .text:000002D0 push ebp .text:000002D1 mov ebp, esp .text:000002D3 sub esp, 8 .text:000002D6 mov [ebp+var_4], 0 .text:000002DD jmp short loc_2E8 .text:000002DF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000002DF .text:000002DF loc_2DF: ; CODE XREF: _strchr:loc_30Bj .text:000002DF mov eax, [ebp+var_4] .text:000002E2 add eax, 1 .text:000002E5 mov [ebp+var_4], eax .text:000002E8 .text:000002E8 loc_2E8: ; CODE XREF: _strchr+Dj .text:000002E8 mov ecx, [ebp+arg_0] .text:000002EB add ecx, [ebp+var_4] .text:000002EE movsx edx, byte ptr [ecx] .text:000002F1 test edx, edx .text:000002F3 jz short loc_30D .text:000002F5 mov eax, [ebp+arg_0] .text:000002F8 add eax, [ebp+var_4] .text:000002FB movsx ecx, byte ptr [eax] .text:000002FE cmp ecx, [ebp+arg_4] .text:00000301 jnz short loc_30B .text:00000303 mov eax, [ebp+arg_0] .text:00000306 add eax, [ebp+var_4] .text:00000309 jmp short loc_328 .text:0000030B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000030B .text:0000030B loc_30B: ; CODE XREF: _strchr+31j .text:0000030B jmp short loc_2DF .text:0000030D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000030D .text:0000030D loc_30D: ; CODE XREF: _strchr+23j .text:0000030D cmp [ebp+arg_4], 0 .text:00000311 jnz short loc_31E .text:00000313 mov edx, [ebp+arg_0] .text:00000316 add edx, [ebp+var_4] .text:00000319 mov [ebp+var_8], edx .text:0000031C jmp short loc_325 .text:0000031E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000031E .text:0000031E loc_31E: ; CODE XREF: _strchr+41j .text:0000031E mov [ebp+var_8], 0 .text:00000325 .text:00000325 loc_325: ; CODE XREF: _strchr+4Cj .text:00000325 mov eax, [ebp+var_8] .text:00000328 .text:00000328 loc_328: ; CODE XREF: _strchr+39j .text:00000328 mov esp, ebp .text:0000032A pop ebp .text:0000032B retn .text:0000032B _strchr endp .text:0000032B .text:0000032B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000032C align 10h .text:00000330 .text:00000330 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000330 .text:00000330 ; Attributes: bp-based frame .text:00000330 .text:00000330 public _strrchr .text:00000330 _strrchr proc near .text:00000330 .text:00000330 var_8 = dword ptr -8 .text:00000330 var_4 = dword ptr -4 .text:00000330 arg_0 = dword ptr 8 .text:00000330 arg_4 = dword ptr 0Ch .text:00000330 .text:00000330 push ebp .text:00000331 mov ebp, esp .text:00000333 sub esp, 8 .text:00000336 mov [ebp+var_8], 0 .text:0000033D mov [ebp+var_4], 0 .text:00000344 jmp short loc_34F .text:00000346 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000346 .text:00000346 loc_346: ; CODE XREF: _strrchr:loc_373j .text:00000346 mov eax, [ebp+var_4] .text:00000349 add eax, 1 .text:0000034C mov [ebp+var_4], eax .text:0000034F .text:0000034F loc_34F: ; CODE XREF: _strrchr+14j .text:0000034F mov ecx, [ebp+arg_0] .text:00000352 add ecx, [ebp+var_4] .text:00000355 movsx edx, byte ptr [ecx] .text:00000358 test edx, edx .text:0000035A jz short loc_375 .text:0000035C mov eax, [ebp+arg_0] .text:0000035F add eax, [ebp+var_4] .text:00000362 movsx ecx, byte ptr [eax] .text:00000365 cmp ecx, [ebp+arg_4] .text:00000368 jnz short loc_373 .text:0000036A mov edx, [ebp+arg_0] .text:0000036D add edx, [ebp+var_4] .text:00000370 mov [ebp+var_8], edx .text:00000373 .text:00000373 loc_373: ; CODE XREF: _strrchr+38j .text:00000373 jmp short loc_346 .text:00000375 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000375 .text:00000375 loc_375: ; CODE XREF: _strrchr+2Aj .text:00000375 cmp [ebp+arg_4], 0 .text:00000379 jnz short loc_383 .text:0000037B mov eax, [ebp+arg_0] .text:0000037E add eax, [ebp+var_4] .text:00000381 jmp short loc_386 .text:00000383 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000383 .text:00000383 loc_383: ; CODE XREF: _strrchr+49j .text:00000383 mov eax, [ebp+var_8] .text:00000386 .text:00000386 loc_386: ; CODE XREF: _strrchr+51j .text:00000386 mov esp, ebp .text:00000388 pop ebp .text:00000389 retn .text:00000389 _strrchr endp .text:00000389 .text:00000389 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000038A align 10h .text:00000390 .text:00000390 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000390 .text:00000390 ; Attributes: bp-based frame .text:00000390 .text:00000390 public _strncpy .text:00000390 _strncpy proc near .text:00000390 .text:00000390 var_8 = dword ptr -8 .text:00000390 var_1 = byte ptr -1 .text:00000390 arg_0 = dword ptr 8 .text:00000390 arg_4 = dword ptr 0Ch .text:00000390 arg_8 = dword ptr 10h .text:00000390 .text:00000390 push ebp .text:00000391 mov ebp, esp .text:00000393 sub esp, 8 .text:00000396 mov [ebp+var_8], 0 .text:0000039D jmp short loc_3A8 .text:0000039F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000039F .text:0000039F loc_39F: ; CODE XREF: _strncpy:loc_3D5j .text:0000039F mov eax, [ebp+var_8] .text:000003A2 add eax, 1 .text:000003A5 mov [ebp+var_8], eax .text:000003A8 .text:000003A8 loc_3A8: ; CODE XREF: _strncpy+Dj .text:000003A8 mov ecx, [ebp+var_8] .text:000003AB cmp ecx, [ebp+arg_8] .text:000003AE jge short loc_3D7 .text:000003B0 mov edx, [ebp+arg_4] .text:000003B3 add edx, [ebp+var_8] .text:000003B6 mov al, [edx] .text:000003B8 mov [ebp+var_1], al .text:000003BB mov ecx, [ebp+arg_0] .text:000003BE add ecx, [ebp+var_8] .text:000003C1 mov dl, [ebp+var_1] .text:000003C4 mov [ecx], dl .text:000003C6 mov eax, [ebp+arg_4] .text:000003C9 add eax, [ebp+var_8] .text:000003CC movsx ecx, byte ptr [eax] .text:000003CF test ecx, ecx .text:000003D1 jnz short loc_3D5 .text:000003D3 jmp short loc_3D7 .text:000003D5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000003D5 .text:000003D5 loc_3D5: ; CODE XREF: _strncpy+41j .text:000003D5 jmp short loc_39F .text:000003D7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000003D7 .text:000003D7 loc_3D7: ; CODE XREF: _strncpy+1Ej .text:000003D7 ; _strncpy+43j .text:000003D7 mov eax, [ebp+arg_0] .text:000003DA mov esp, ebp .text:000003DC pop ebp .text:000003DD retn .text:000003DD _strncpy endp .text:000003DD .text:000003DD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000003DE align 10h .text:000003E0 .text:000003E0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000003E0 .text:000003E0 ; Attributes: bp-based frame .text:000003E0 .text:000003E0 public _strncpy_ptr .text:000003E0 _strncpy_ptr proc near .text:000003E0 .text:000003E0 var_8 = dword ptr -8 .text:000003E0 var_4 = dword ptr -4 .text:000003E0 arg_0 = dword ptr 8 .text:000003E0 arg_4 = dword ptr 0Ch .text:000003E0 arg_8 = dword ptr 10h .text:000003E0 .text:000003E0 push ebp .text:000003E1 mov ebp, esp .text:000003E3 sub esp, 8 .text:000003E6 mov eax, [ebp+arg_0] .text:000003E9 mov [ebp+var_4], eax .text:000003EC mov ecx, [ebp+arg_4] .text:000003EF mov [ebp+var_8], ecx .text:000003F2 jmp short loc_406 .text:000003F4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000003F4 .text:000003F4 loc_3F4: ; CODE XREF: _strncpy_ptr:loc_427j .text:000003F4 mov edx, [ebp+var_8] .text:000003F7 add edx, 1 .text:000003FA mov [ebp+var_8], edx .text:000003FD mov eax, [ebp+var_4] .text:00000400 add eax, 1 .text:00000403 mov [ebp+var_4], eax .text:00000406 .text:00000406 loc_406: ; CODE XREF: _strncpy_ptr+12j .text:00000406 mov ecx, [ebp+var_8] .text:00000409 sub ecx, [ebp+arg_4] .text:0000040C cmp ecx, [ebp+arg_8] .text:0000040F jge short loc_429 .text:00000411 mov edx, [ebp+var_4] .text:00000414 mov eax, [ebp+var_8] .text:00000417 mov cl, [eax] .text:00000419 mov [edx], cl .text:0000041B mov edx, [ebp+var_4] .text:0000041E movsx eax, byte ptr [edx] .text:00000421 test eax, eax .text:00000423 jnz short loc_427 .text:00000425 jmp short loc_429 .text:00000427 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000427 .text:00000427 loc_427: ; CODE XREF: _strncpy_ptr+43j .text:00000427 jmp short loc_3F4 .text:00000429 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000429 .text:00000429 loc_429: ; CODE XREF: _strncpy_ptr+2Fj .text:00000429 ; _strncpy_ptr+45j .text:00000429 mov eax, [ebp+arg_0] .text:0000042C mov esp, ebp .text:0000042E pop ebp .text:0000042F retn .text:0000042F _strncpy_ptr endp .text:0000042F .text:00000430 .text:00000430 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000430 .text:00000430 ; Attributes: bp-based frame .text:00000430 .text:00000430 public _strcpy .text:00000430 _strcpy proc near .text:00000430 .text:00000430 var_5 = byte ptr -5 .text:00000430 var_4 = dword ptr -4 .text:00000430 arg_0 = dword ptr 8 .text:00000430 arg_4 = dword ptr 0Ch .text:00000430 .text:00000430 push ebp .text:00000431 mov ebp, esp .text:00000433 sub esp, 8 .text:00000436 mov [ebp+var_4], 0 .text:0000043D jmp short loc_448 .text:0000043F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000043F .text:0000043F loc_43F: ; CODE XREF: _strcpy:loc_46Dj .text:0000043F mov eax, [ebp+var_4] .text:00000442 add eax, 1 .text:00000445 mov [ebp+var_4], eax .text:00000448 .text:00000448 loc_448: ; CODE XREF: _strcpy+Dj .text:00000448 mov ecx, [ebp+arg_4] .text:0000044B add ecx, [ebp+var_4] .text:0000044E mov dl, [ecx] .text:00000450 mov [ebp+var_5], dl .text:00000453 mov eax, [ebp+arg_0] .text:00000456 add eax, [ebp+var_4] .text:00000459 mov cl, [ebp+var_5] .text:0000045C mov [eax], cl .text:0000045E mov edx, [ebp+arg_4] .text:00000461 add edx, [ebp+var_4] .text:00000464 movsx eax, byte ptr [edx] .text:00000467 test eax, eax .text:00000469 jnz short loc_46D .text:0000046B jmp short loc_46F .text:0000046D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000046D .text:0000046D loc_46D: ; CODE XREF: _strcpy+39j .text:0000046D jmp short loc_43F .text:0000046F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000046F .text:0000046F loc_46F: ; CODE XREF: _strcpy+3Bj .text:0000046F mov eax, [ebp+arg_0] .text:00000472 mov esp, ebp .text:00000474 pop ebp .text:00000475 retn .text:00000475 _strcpy endp .text:00000475 .text:00000475 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000476 align 10h .text:00000480 .text:00000480 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000480 .text:00000480 ; Attributes: bp-based frame .text:00000480 .text:00000480 public _strstr .text:00000480 _strstr proc near .text:00000480 .text:00000480 var_C = dword ptr -0Ch .text:00000480 var_8 = dword ptr -8 .text:00000480 var_4 = dword ptr -4 .text:00000480 arg_0 = dword ptr 8 .text:00000480 arg_4 = dword ptr 0Ch .text:00000480 .text:00000480 push ebp .text:00000481 mov ebp, esp .text:00000483 sub esp, 0Ch .text:00000486 mov [ebp+var_8], 0 .text:0000048D .text:0000048D loc_48D: ; CODE XREF: _strstr+23j .text:0000048D mov eax, [ebp+arg_4] .text:00000490 add eax, [ebp+var_8] .text:00000493 movsx ecx, byte ptr [eax] .text:00000496 test ecx, ecx .text:00000498 jz short loc_4A5 .text:0000049A mov edx, [ebp+var_8] .text:0000049D add edx, 1 .text:000004A0 mov [ebp+var_8], edx .text:000004A3 jmp short loc_48D .text:000004A5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000004A5 .text:000004A5 loc_4A5: ; CODE XREF: _strstr+18j .text:000004A5 mov [ebp+var_4], 0 .text:000004AC jmp short loc_4B7 .text:000004AE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000004AE .text:000004AE loc_4AE: ; CODE XREF: _strstr:loc_545j .text:000004AE mov eax, [ebp+var_4] .text:000004B1 add eax, 1 .text:000004B4 mov [ebp+var_4], eax .text:000004B7 .text:000004B7 loc_4B7: ; CODE XREF: _strstr+2Cj .text:000004B7 mov ecx, [ebp+arg_0] .text:000004BA add ecx, [ebp+var_4] .text:000004BD movsx edx, byte ptr [ecx] .text:000004C0 test edx, edx .text:000004C2 jz loc_54A .text:000004C8 mov [ebp+var_C], 0 .text:000004CF jmp short loc_4DA .text:000004D1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000004D1 .text:000004D1 loc_4D1: ; CODE XREF: _strstr:loc_514j .text:000004D1 mov eax, [ebp+var_C] .text:000004D4 add eax, 1 .text:000004D7 mov [ebp+var_C], eax .text:000004DA .text:000004DA loc_4DA: ; CODE XREF: _strstr+4Fj .text:000004DA mov ecx, [ebp+var_8] .text:000004DD sub ecx, 1 .text:000004E0 cmp [ebp+var_C], ecx .text:000004E3 jge short loc_516 .text:000004E5 mov edx, [ebp+var_4] .text:000004E8 add edx, [ebp+var_C] .text:000004EB mov eax, [ebp+arg_0] .text:000004EE movsx ecx, byte ptr [eax+edx] .text:000004F2 test ecx, ecx .text:000004F4 jnz short loc_4F8 .text:000004F6 jmp short loc_516 .text:000004F8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000004F8 .text:000004F8 loc_4F8: ; CODE XREF: _strstr+74j .text:000004F8 mov edx, [ebp+var_4] .text:000004FB add edx, [ebp+var_C] .text:000004FE mov eax, [ebp+arg_0] .text:00000501 movsx ecx, byte ptr [eax+edx] .text:00000505 mov edx, [ebp+arg_4] .text:00000508 add edx, [ebp+var_C] .text:0000050B movsx eax, byte ptr [edx] .text:0000050E cmp ecx, eax .text:00000510 jz short loc_514 .text:00000512 jmp short loc_516 .text:00000514 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000514 .text:00000514 loc_514: ; CODE XREF: _strstr+90j .text:00000514 jmp short loc_4D1 .text:00000516 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000516 .text:00000516 loc_516: ; CODE XREF: _strstr+63j .text:00000516 ; _strstr+76j ... .text:00000516 mov ecx, [ebp+var_8] .text:00000519 sub ecx, 1 .text:0000051C cmp [ebp+var_C], ecx .text:0000051F jnz short loc_545 .text:00000521 mov edx, [ebp+var_4] .text:00000524 add edx, [ebp+var_8] .text:00000527 mov eax, [ebp+arg_0] .text:0000052A movsx ecx, byte ptr [eax+edx-1] .text:0000052F mov edx, [ebp+arg_4] .text:00000532 add edx, [ebp+var_8] .text:00000535 movsx eax, byte ptr [edx-1] .text:00000539 cmp ecx, eax .text:0000053B jnz short loc_545 .text:0000053D mov eax, [ebp+arg_0] .text:00000540 add eax, [ebp+var_4] .text:00000543 jmp short loc_54C .text:00000545 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000545 .text:00000545 loc_545: ; CODE XREF: _strstr+9Fj .text:00000545 ; _strstr+BBj .text:00000545 jmp loc_4AE .text:0000054A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000054A .text:0000054A loc_54A: ; CODE XREF: _strstr+42j .text:0000054A xor eax, eax .text:0000054C .text:0000054C loc_54C: ; CODE XREF: _strstr+C3j .text:0000054C mov esp, ebp .text:0000054E pop ebp .text:0000054F retn .text:0000054F _strstr endp .text:0000054F .text:00000550 .text:00000550 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000550 .text:00000550 ; Attributes: bp-based frame .text:00000550 .text:00000550 public _strlen .text:00000550 _strlen proc near .text:00000550 .text:00000550 var_4 = dword ptr -4 .text:00000550 arg_0 = dword ptr 8 .text:00000550 .text:00000550 push ebp .text:00000551 mov ebp, esp .text:00000553 push ecx .text:00000554 mov [ebp+var_4], 0 .text:0000055B .text:0000055B loc_55B: ; CODE XREF: _strlen+21j .text:0000055B mov eax, [ebp+arg_0] .text:0000055E add eax, [ebp+var_4] .text:00000561 movsx ecx, byte ptr [eax] .text:00000564 test ecx, ecx .text:00000566 jz short loc_573 .text:00000568 mov edx, [ebp+var_4] .text:0000056B add edx, 1 .text:0000056E mov [ebp+var_4], edx .text:00000571 jmp short loc_55B .text:00000573 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000573 .text:00000573 loc_573: ; CODE XREF: _strlen+16j .text:00000573 mov eax, [ebp+var_4] .text:00000576 mov esp, ebp .text:00000578 pop ebp .text:00000579 retn .text:00000579 _strlen endp .text:00000579 .text:00000579 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000057A align 10h .text:00000580 .text:00000580 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000580 .text:00000580 ; Attributes: bp-based frame .text:00000580 .text:00000580 public _strncmp .text:00000580 _strncmp proc near .text:00000580 .text:00000580 var_8 = dword ptr -8 .text:00000580 var_4 = dword ptr -4 .text:00000580 arg_0 = dword ptr 8 .text:00000580 arg_4 = dword ptr 0Ch .text:00000580 arg_8 = dword ptr 10h .text:00000580 .text:00000580 push ebp .text:00000581 mov ebp, esp .text:00000583 sub esp, 8 .text:00000586 mov [ebp+var_4], 0 .text:0000058D .text:0000058D loc_58D: ; CODE XREF: _strncmp+60j .text:0000058D mov eax, [ebp+arg_0] .text:00000590 add eax, [ebp+var_4] .text:00000593 movsx ecx, byte ptr [eax] .text:00000596 mov edx, [ebp+arg_4] .text:00000599 add edx, [ebp+var_4] .text:0000059C movsx eax, byte ptr [edx] .text:0000059F sub ecx, eax .text:000005A1 mov [ebp+var_8], ecx .text:000005A4 mov ecx, [ebp+arg_8] .text:000005A7 sub ecx, 1 .text:000005AA cmp [ebp+var_4], ecx .text:000005AD jl short loc_5B4 .text:000005AF mov eax, [ebp+var_8] .text:000005B2 jmp short loc_5E2 .text:000005B4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000005B4 .text:000005B4 loc_5B4: ; CODE XREF: _strncmp+2Dj .text:000005B4 cmp [ebp+var_8], 0 .text:000005B8 jz short loc_5BF .text:000005BA mov eax, [ebp+var_8] .text:000005BD jmp short loc_5E2 .text:000005BF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000005BF .text:000005BF loc_5BF: ; CODE XREF: _strncmp+38j .text:000005BF mov edx, [ebp+arg_0] .text:000005C2 add edx, [ebp+var_4] .text:000005C5 movsx eax, byte ptr [edx] .text:000005C8 test eax, eax .text:000005CA jnz short loc_5D0 .text:000005CC xor eax, eax .text:000005CE jmp short loc_5E2 .text:000005D0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000005D0 .text:000005D0 loc_5D0: ; CODE XREF: _strncmp+4Aj .text:000005D0 mov ecx, [ebp+var_4] .text:000005D3 add ecx, 1 .text:000005D6 mov [ebp+var_4], ecx .text:000005D9 mov edx, 1 .text:000005DE test edx, edx .text:000005E0 jnz short loc_58D .text:000005E2 .text:000005E2 loc_5E2: ; CODE XREF: _strncmp+32j .text:000005E2 ; _strncmp+3Dj ... .text:000005E2 mov esp, ebp .text:000005E4 pop ebp .text:000005E5 retn .text:000005E5 _strncmp endp .text:000005E5 .text:000005E5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000005E6 align 10h .text:000005F0 .text:000005F0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000005F0 .text:000005F0 ; Attributes: bp-based frame .text:000005F0 .text:000005F0 public _strcmp .text:000005F0 _strcmp proc near .text:000005F0 .text:000005F0 var_4 = dword ptr -4 .text:000005F0 arg_0 = dword ptr 8 .text:000005F0 arg_4 = dword ptr 0Ch .text:000005F0 .text:000005F0 push ebp .text:000005F1 mov ebp, esp .text:000005F3 push ecx .text:000005F4 mov [ebp+var_4], 0 .text:000005FB jmp short loc_606 .text:000005FD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000005FD .text:000005FD loc_5FD: ; CODE XREF: _strcmp:loc_62Dj .text:000005FD mov eax, [ebp+var_4] .text:00000600 add eax, 1 .text:00000603 mov [ebp+var_4], eax .text:00000606 .text:00000606 loc_606: ; CODE XREF: _strcmp+Bj .text:00000606 mov ecx, [ebp+arg_0] .text:00000609 add ecx, [ebp+var_4] .text:0000060C movsx edx, byte ptr [ecx] .text:0000060F mov eax, [ebp+arg_4] .text:00000612 add eax, [ebp+var_4] .text:00000615 movsx ecx, byte ptr [eax] .text:00000618 cmp edx, ecx .text:0000061A jnz short loc_62F .text:0000061C mov edx, [ebp+arg_0] .text:0000061F add edx, [ebp+var_4] .text:00000622 movsx eax, byte ptr [edx] .text:00000625 test eax, eax .text:00000627 jnz short loc_62D .text:00000629 xor eax, eax .text:0000062B jmp short loc_643 .text:0000062D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000062D .text:0000062D loc_62D: ; CODE XREF: _strcmp+37j .text:0000062D jmp short loc_5FD .text:0000062F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000062F .text:0000062F loc_62F: ; CODE XREF: _strcmp+2Aj .text:0000062F mov ecx, [ebp+arg_0] .text:00000632 add ecx, [ebp+var_4] .text:00000635 movsx eax, byte ptr [ecx] .text:00000638 mov edx, [ebp+arg_4] .text:0000063B add edx, [ebp+var_4] .text:0000063E movsx ecx, byte ptr [edx] .text:00000641 sub eax, ecx .text:00000643 .text:00000643 loc_643: ; CODE XREF: _strcmp+3Bj .text:00000643 mov esp, ebp .text:00000645 pop ebp .text:00000646 retn .text:00000646 _strcmp endp .text:00000646 .text:00000646 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000647 align 10h .text:00000650 .text:00000650 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000650 .text:00000650 ; Attributes: bp-based frame .text:00000650 .text:00000650 public _getc .text:00000650 _getc proc near .text:00000650 push ebp .text:00000651 mov ebp, esp .text:00000653 call _nondet_int .text:00000658 pop ebp .text:00000659 retn .text:00000659 _getc endp .text:00000659 .text:00000659 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000065A align 10h .text:00000660 .text:00000660 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000660 .text:00000660 ; Attributes: bp-based frame .text:00000660 .text:00000660 public _isascii .text:00000660 _isascii proc near .text:00000660 .text:00000660 var_4 = dword ptr -4 .text:00000660 arg_0 = dword ptr 8 .text:00000660 .text:00000660 push ebp .text:00000661 mov ebp, esp .text:00000663 push ecx .text:00000664 cmp [ebp+arg_0], 21h ; '!' .text:00000668 jl short loc_679 .text:0000066A cmp [ebp+arg_0], 7Eh ; '~' .text:0000066E jg short loc_679 .text:00000670 mov [ebp+var_4], 1 .text:00000677 jmp short loc_680 .text:00000679 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000679 .text:00000679 loc_679: ; CODE XREF: _isascii+8j .text:00000679 ; _isascii+Ej .text:00000679 mov [ebp+var_4], 0 .text:00000680 .text:00000680 loc_680: ; CODE XREF: _isascii+17j .text:00000680 mov eax, [ebp+var_4] .text:00000683 mov esp, ebp .text:00000685 pop ebp .text:00000686 retn .text:00000686 _isascii endp .text:00000686 .text:00000686 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000687 align 10h .text:00000690 .text:00000690 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000690 .text:00000690 ; Attributes: bp-based frame .text:00000690 .text:00000690 public _isspace .text:00000690 _isspace proc near .text:00000690 .text:00000690 var_4 = dword ptr -4 .text:00000690 arg_0 = dword ptr 8 .text:00000690 .text:00000690 push ebp .text:00000691 mov ebp, esp .text:00000693 push ecx .text:00000694 cmp [ebp+arg_0], 9 .text:00000698 jz short loc_6C1 .text:0000069A cmp [ebp+arg_0], 0Ah .text:0000069E jz short loc_6C1 .text:000006A0 cmp [ebp+arg_0], 0Bh .text:000006A4 jz short loc_6C1 .text:000006A6 cmp [ebp+arg_0], 0Ch .text:000006AA jz short loc_6C1 .text:000006AC cmp [ebp+arg_0], 0Dh .text:000006B0 jz short loc_6C1 .text:000006B2 cmp [ebp+arg_0], 20h ; ' ' .text:000006B6 jz short loc_6C1 .text:000006B8 mov [ebp+var_4], 0 .text:000006BF jmp short loc_6C8 .text:000006C1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000006C1 .text:000006C1 loc_6C1: ; CODE XREF: _isspace+8j .text:000006C1 ; _isspace+Ej ... .text:000006C1 mov [ebp+var_4], 1 .text:000006C8 .text:000006C8 loc_6C8: ; CODE XREF: _isspace+2Fj .text:000006C8 mov eax, [ebp+var_4] .text:000006CB mov esp, ebp .text:000006CD pop ebp .text:000006CE retn .text:000006CE _isspace endp .text:000006CE .text:000006CE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000006CF align 10h .text:000006D0 .text:000006D0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000006D0 .text:000006D0 ; Attributes: bp-based frame .text:000006D0 .text:000006D0 public _strrand .text:000006D0 _strrand proc near .text:000006D0 .text:000006D0 var_4 = dword ptr -4 .text:000006D0 arg_0 = dword ptr 8 .text:000006D0 .text:000006D0 push ebp .text:000006D1 mov ebp, esp .text:000006D3 push ecx .text:000006D4 mov [ebp+var_4], 0 .text:000006DB jmp short loc_6E6 .text:000006DD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000006DD .text:000006DD loc_6DD: ; CODE XREF: _strrand:loc_705j .text:000006DD mov eax, [ebp+var_4] .text:000006E0 add eax, 1 .text:000006E3 mov [ebp+var_4], eax .text:000006E6 .text:000006E6 loc_6E6: ; CODE XREF: _strrand+Bj .text:000006E6 mov ecx, [ebp+arg_0] .text:000006E9 add ecx, [ebp+var_4] .text:000006EC movsx edx, byte ptr [ecx] .text:000006EF test edx, edx .text:000006F1 jz short loc_707 .text:000006F3 call _nondet_int .text:000006F8 cmp eax, 1 .text:000006FB jnz short loc_705 .text:000006FD mov eax, [ebp+arg_0] .text:00000700 add eax, [ebp+var_4] .text:00000703 jmp short loc_709 .text:00000705 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000705 .text:00000705 loc_705: ; CODE XREF: _strrand+2Bj .text:00000705 jmp short loc_6DD .text:00000707 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000707 .text:00000707 loc_707: ; CODE XREF: _strrand+21j .text:00000707 xor eax, eax .text:00000709 .text:00000709 loc_709: ; CODE XREF: _strrand+33j .text:00000709 mov esp, ebp .text:0000070B pop ebp .text:0000070C retn .text:0000070C _strrand endp .text:0000070C .text:0000070C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000070D align 10h .text:00000710 .text:00000710 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000710 .text:00000710 ; Attributes: bp-based frame .text:00000710 .text:00000710 public _istrrand .text:00000710 _istrrand proc near .text:00000710 .text:00000710 var_4 = dword ptr -4 .text:00000710 arg_0 = dword ptr 8 .text:00000710 .text:00000710 push ebp .text:00000711 mov ebp, esp .text:00000713 push ecx .text:00000714 mov [ebp+var_4], 0 .text:0000071B jmp short loc_726 .text:0000071D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000071D .text:0000071D loc_71D: ; CODE XREF: _istrrand:loc_742j .text:0000071D mov eax, [ebp+var_4] .text:00000720 add eax, 1 .text:00000723 mov [ebp+var_4], eax .text:00000726 .text:00000726 loc_726: ; CODE XREF: _istrrand+Bj .text:00000726 mov ecx, [ebp+arg_0] .text:00000729 add ecx, [ebp+var_4] .text:0000072C movsx edx, byte ptr [ecx] .text:0000072F test edx, edx .text:00000731 jz short loc_744 .text:00000733 call _nondet_int .text:00000738 cmp eax, 1 .text:0000073B jnz short loc_742 .text:0000073D mov eax, [ebp+var_4] .text:00000740 jmp short loc_747 .text:00000742 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000742 .text:00000742 loc_742: ; CODE XREF: _istrrand+2Bj .text:00000742 jmp short loc_71D .text:00000744 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000744 .text:00000744 loc_744: ; CODE XREF: _istrrand+21j .text:00000744 or eax, 0FFFFFFFFh .text:00000747 .text:00000747 loc_747: ; CODE XREF: _istrrand+30j .text:00000747 mov esp, ebp .text:00000749 pop ebp .text:0000074A retn .text:0000074A _istrrand endp .text:0000074A .text:0000074A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000074B align 10h .text:00000750 .text:00000750 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000750 .text:00000750 ; Attributes: bp-based frame .text:00000750 .text:00000750 public _istrchr .text:00000750 _istrchr proc near .text:00000750 .text:00000750 var_8 = dword ptr -8 .text:00000750 var_4 = dword ptr -4 .text:00000750 arg_0 = dword ptr 8 .text:00000750 arg_4 = dword ptr 0Ch .text:00000750 .text:00000750 push ebp .text:00000751 mov ebp, esp .text:00000753 sub esp, 8 .text:00000756 mov [ebp+var_4], 0 .text:0000075D jmp short loc_768 .text:0000075F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000075F .text:0000075F loc_75F: ; CODE XREF: _istrchr:loc_788j .text:0000075F mov eax, [ebp+var_4] .text:00000762 add eax, 1 .text:00000765 mov [ebp+var_4], eax .text:00000768 .text:00000768 loc_768: ; CODE XREF: _istrchr+Dj .text:00000768 mov ecx, [ebp+arg_0] .text:0000076B add ecx, [ebp+var_4] .text:0000076E movsx edx, byte ptr [ecx] .text:00000771 test edx, edx .text:00000773 jz short loc_78A .text:00000775 mov eax, [ebp+arg_0] .text:00000778 add eax, [ebp+var_4] .text:0000077B movsx ecx, byte ptr [eax] .text:0000077E cmp ecx, [ebp+arg_4] .text:00000781 jnz short loc_788 .text:00000783 mov eax, [ebp+var_4] .text:00000786 jmp short loc_7A2 .text:00000788 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000788 .text:00000788 loc_788: ; CODE XREF: _istrchr+31j .text:00000788 jmp short loc_75F .text:0000078A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000078A .text:0000078A loc_78A: ; CODE XREF: _istrchr+23j .text:0000078A cmp [ebp+arg_4], 0 .text:0000078E jnz short loc_798 .text:00000790 mov edx, [ebp+var_4] .text:00000793 mov [ebp+var_8], edx .text:00000796 jmp short loc_79F .text:00000798 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000798 .text:00000798 loc_798: ; CODE XREF: _istrchr+3Ej .text:00000798 mov [ebp+var_8], 0FFFFFFFFh .text:0000079F .text:0000079F loc_79F: ; CODE XREF: _istrchr+46j .text:0000079F mov eax, [ebp+var_8] .text:000007A2 .text:000007A2 loc_7A2: ; CODE XREF: _istrchr+36j .text:000007A2 mov esp, ebp .text:000007A4 pop ebp .text:000007A5 retn .text:000007A5 _istrchr endp .text:000007A5 .text:000007A5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000007A6 align 10h .text:000007B0 .text:000007B0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000007B0 .text:000007B0 ; Attributes: bp-based frame .text:000007B0 .text:000007B0 public _istrrchr .text:000007B0 _istrrchr proc near .text:000007B0 .text:000007B0 var_8 = dword ptr -8 .text:000007B0 var_4 = dword ptr -4 .text:000007B0 arg_0 = dword ptr 8 .text:000007B0 arg_4 = dword ptr 0Ch .text:000007B0 .text:000007B0 push ebp .text:000007B1 mov ebp, esp .text:000007B3 sub esp, 8 .text:000007B6 mov [ebp+var_8], 0FFFFFFFFh .text:000007BD mov [ebp+var_4], 0 .text:000007C4 jmp short loc_7CF .text:000007C6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000007C6 .text:000007C6 loc_7C6: ; CODE XREF: _istrrchr:loc_7F0j .text:000007C6 mov eax, [ebp+var_4] .text:000007C9 add eax, 1 .text:000007CC mov [ebp+var_4], eax .text:000007CF .text:000007CF loc_7CF: ; CODE XREF: _istrrchr+14j .text:000007CF mov ecx, [ebp+arg_0] .text:000007D2 add ecx, [ebp+var_4] .text:000007D5 movsx edx, byte ptr [ecx] .text:000007D8 test edx, edx .text:000007DA jz short loc_7F2 .text:000007DC mov eax, [ebp+arg_0] .text:000007DF add eax, [ebp+var_4] .text:000007E2 movsx ecx, byte ptr [eax] .text:000007E5 cmp ecx, [ebp+arg_4] .text:000007E8 jnz short loc_7F0 .text:000007EA mov edx, [ebp+var_4] .text:000007ED mov [ebp+var_8], edx .text:000007F0 .text:000007F0 loc_7F0: ; CODE XREF: _istrrchr+38j .text:000007F0 jmp short loc_7C6 .text:000007F2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000007F2 .text:000007F2 loc_7F2: ; CODE XREF: _istrrchr+2Aj .text:000007F2 cmp [ebp+arg_4], 0 .text:000007F6 jnz short loc_7FD .text:000007F8 mov eax, [ebp+var_4] .text:000007FB jmp short loc_800 .text:000007FD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000007FD .text:000007FD loc_7FD: ; CODE XREF: _istrrchr+46j .text:000007FD mov eax, [ebp+var_8] .text:00000800 .text:00000800 loc_800: ; CODE XREF: _istrrchr+4Bj .text:00000800 mov esp, ebp .text:00000802 pop ebp .text:00000803 retn .text:00000803 _istrrchr endp .text:00000803 .text:00000803 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000804 align 10h .text:00000810 .text:00000810 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000810 .text:00000810 ; Attributes: bp-based frame .text:00000810 .text:00000810 public _istrncmp .text:00000810 _istrncmp proc near .text:00000810 .text:00000810 var_8 = dword ptr -8 .text:00000810 var_4 = dword ptr -4 .text:00000810 arg_0 = dword ptr 8 .text:00000810 arg_4 = dword ptr 0Ch .text:00000810 arg_8 = dword ptr 10h .text:00000810 arg_C = dword ptr 14h .text:00000810 .text:00000810 push ebp .text:00000811 mov ebp, esp .text:00000813 sub esp, 8 .text:00000816 mov eax, [ebp+arg_C] .text:00000819 mov ecx, [ebp+arg_4] .text:0000081C lea edx, [ecx+eax-1] .text:00000820 mov [ebp+var_8], edx .text:00000823 mov eax, [ebp+arg_4] .text:00000826 mov [ebp+var_4], eax .text:00000829 jmp short loc_834 .text:0000082B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000082B .text:0000082B loc_82B: ; CODE XREF: _istrncmp:loc_879j .text:0000082B mov ecx, [ebp+var_4] .text:0000082E add ecx, 1 .text:00000831 mov [ebp+var_4], ecx .text:00000834 .text:00000834 loc_834: ; CODE XREF: _istrncmp+19j .text:00000834 mov edx, [ebp+var_4] .text:00000837 cmp edx, [ebp+var_8] .text:0000083A jge short loc_87B .text:0000083C mov eax, [ebp+arg_0] .text:0000083F add eax, [ebp+var_4] .text:00000842 movsx ecx, byte ptr [eax] .text:00000845 test ecx, ecx .text:00000847 jnz short loc_84D .text:00000849 xor eax, eax .text:0000084B jmp short loc_8A3 .text:0000084D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000084D .text:0000084D loc_84D: ; CODE XREF: _istrncmp+37j .text:0000084D mov edx, [ebp+arg_0] .text:00000850 add edx, [ebp+var_4] .text:00000853 movsx eax, byte ptr [edx] .text:00000856 mov ecx, [ebp+arg_8] .text:00000859 add ecx, [ebp+var_4] .text:0000085C movsx edx, byte ptr [ecx] .text:0000085F sub eax, edx .text:00000861 jz short loc_879 .text:00000863 mov eax, [ebp+arg_0] .text:00000866 add eax, [ebp+var_4] .text:00000869 movsx eax, byte ptr [eax] .text:0000086C mov ecx, [ebp+arg_8] .text:0000086F add ecx, [ebp+var_4] .text:00000872 movsx edx, byte ptr [ecx] .text:00000875 sub eax, edx .text:00000877 jmp short loc_8A3 .text:00000879 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000879 .text:00000879 loc_879: ; CODE XREF: _istrncmp+51j .text:00000879 jmp short loc_82B .text:0000087B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000087B .text:0000087B loc_87B: ; CODE XREF: _istrncmp+2Aj .text:0000087B mov eax, [ebp+var_4] .text:0000087E xor ecx, ecx .text:00000880 cmp eax, [ebp+var_8] .text:00000883 setz cl .text:00000886 push ecx .text:00000887 call _assert .text:0000088C add esp, 4 .text:0000088F mov edx, [ebp+arg_0] .text:00000892 add edx, [ebp+var_8] .text:00000895 movsx eax, byte ptr [edx] .text:00000898 mov ecx, [ebp+arg_8] .text:0000089B add ecx, [ebp+var_8] .text:0000089E movsx edx, byte ptr [ecx] .text:000008A1 sub eax, edx .text:000008A3 .text:000008A3 loc_8A3: ; CODE XREF: _istrncmp+3Bj .text:000008A3 ; _istrncmp+67j .text:000008A3 mov esp, ebp .text:000008A5 pop ebp .text:000008A6 retn .text:000008A6 _istrncmp endp .text:000008A6 .text:000008A6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000008A7 align 10h .text:000008B0 .text:000008B0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000008B0 .text:000008B0 ; Attributes: bp-based frame .text:000008B0 .text:000008B0 public _istrstr .text:000008B0 _istrstr proc near .text:000008B0 .text:000008B0 var_C = dword ptr -0Ch .text:000008B0 var_8 = dword ptr -8 .text:000008B0 var_4 = dword ptr -4 .text:000008B0 arg_0 = dword ptr 8 .text:000008B0 arg_4 = dword ptr 0Ch .text:000008B0 .text:000008B0 push ebp .text:000008B1 mov ebp, esp .text:000008B3 sub esp, 0Ch .text:000008B6 mov [ebp+var_8], 0 .text:000008BD .text:000008BD loc_8BD: ; CODE XREF: _istrstr+23j .text:000008BD mov eax, [ebp+arg_4] .text:000008C0 add eax, [ebp+var_8] .text:000008C3 movsx ecx, byte ptr [eax] .text:000008C6 test ecx, ecx .text:000008C8 jz short loc_8D5 .text:000008CA mov edx, [ebp+var_8] .text:000008CD add edx, 1 .text:000008D0 mov [ebp+var_8], edx .text:000008D3 jmp short loc_8BD .text:000008D5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000008D5 .text:000008D5 loc_8D5: ; CODE XREF: _istrstr+18j .text:000008D5 mov [ebp+var_4], 0 .text:000008DC jmp short loc_8E7 .text:000008DE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000008DE .text:000008DE loc_8DE: ; CODE XREF: _istrstr:loc_96Ej .text:000008DE mov eax, [ebp+var_4] .text:000008E1 add eax, 1 .text:000008E4 mov [ebp+var_4], eax .text:000008E7 .text:000008E7 loc_8E7: ; CODE XREF: _istrstr+2Cj .text:000008E7 mov ecx, [ebp+arg_0] .text:000008EA add ecx, [ebp+var_4] .text:000008ED movsx edx, byte ptr [ecx] .text:000008F0 test edx, edx .text:000008F2 jz short loc_973 .text:000008F4 mov [ebp+var_C], 0 .text:000008FB jmp short loc_906 .text:000008FD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:000008FD .text:000008FD loc_8FD: ; CODE XREF: _istrstr:loc_940j .text:000008FD mov eax, [ebp+var_C] .text:00000900 add eax, 1 .text:00000903 mov [ebp+var_C], eax .text:00000906 .text:00000906 loc_906: ; CODE XREF: _istrstr+4Bj .text:00000906 mov ecx, [ebp+var_8] .text:00000909 sub ecx, 1 .text:0000090C cmp [ebp+var_C], ecx .text:0000090F jge short loc_942 .text:00000911 mov edx, [ebp+var_4] .text:00000914 add edx, [ebp+var_C] .text:00000917 mov eax, [ebp+arg_0] .text:0000091A movsx ecx, byte ptr [eax+edx] .text:0000091E test ecx, ecx .text:00000920 jnz short loc_924 .text:00000922 jmp short loc_942 .text:00000924 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000924 .text:00000924 loc_924: ; CODE XREF: _istrstr+70j .text:00000924 mov edx, [ebp+var_4] .text:00000927 add edx, [ebp+var_C] .text:0000092A mov eax, [ebp+arg_0] .text:0000092D movsx ecx, byte ptr [eax+edx] .text:00000931 mov edx, [ebp+arg_4] .text:00000934 add edx, [ebp+var_C] .text:00000937 movsx eax, byte ptr [edx] .text:0000093A cmp ecx, eax .text:0000093C jz short loc_940 .text:0000093E jmp short loc_942 .text:00000940 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000940 .text:00000940 loc_940: ; CODE XREF: _istrstr+8Cj .text:00000940 jmp short loc_8FD .text:00000942 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000942 .text:00000942 loc_942: ; CODE XREF: _istrstr+5Fj .text:00000942 ; _istrstr+72j ... .text:00000942 mov ecx, [ebp+var_8] .text:00000945 sub ecx, 1 .text:00000948 cmp [ebp+var_C], ecx .text:0000094B jnz short loc_96E .text:0000094D mov edx, [ebp+var_4] .text:00000950 add edx, [ebp+var_8] .text:00000953 mov eax, [ebp+arg_0] .text:00000956 movsx ecx, byte ptr [eax+edx-1] .text:0000095B mov edx, [ebp+arg_4] .text:0000095E add edx, [ebp+var_8] .text:00000961 movsx eax, byte ptr [edx-1] .text:00000965 cmp ecx, eax .text:00000967 jnz short loc_96E .text:00000969 mov eax, [ebp+var_4] .text:0000096C jmp short loc_976 .text:0000096E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000096E .text:0000096E loc_96E: ; CODE XREF: _istrstr+9Bj .text:0000096E ; _istrstr+B7j .text:0000096E jmp loc_8DE .text:00000973 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:00000973 .text:00000973 loc_973: ; CODE XREF: _istrstr+42j .text:00000973 or eax, 0FFFFFFFFh .text:00000976 .text:00000976 loc_976: ; CODE XREF: _istrstr+BCj .text:00000976 mov esp, ebp .text:00000978 pop ebp .text:00000979 retn .text:00000979 _istrstr endp .text:00000979 .text:00000979 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ .text:0000097A align 10h .text:00000980 .text:00000980 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:00000980 .text:00000980 ; Attributes: bp-based frame .text:00000980 .text:00000980 public _main .text:00000980 _main proc near .text:00000980 .text:00000980 var_10 = dword ptr -10h .text:00000980 var_C = byte ptr -0Ch .text:00000980 var_8 = dword ptr -8 .text:00000980 var_1 = byte ptr -1 .text:00000980 .text:00000980 push ebp .text:00000981 mov ebp, esp .text:00000983 sub esp, 10h .text:00000986 mov eax, dword ptr ds:___security_cookie .text:0000098B xor eax, ebp .text:0000098D mov [ebp+var_8], eax .text:00000990 mov [ebp+var_1], 17h .text:00000994 mov [ebp+var_C], 0 .text:00000998 push 2 .text:0000099A lea eax, [ebp+var_10] .text:0000099D push eax .text:0000099E lea ecx, [ebp-4] .text:000009A1 push ecx .text:000009A2 call _r_strncpy .text:000009A7 add esp, 0Ch .text:000009AA movsx edx, [ebp+var_1] .text:000009AE cmp edx, 17h .text:000009B1 jz short loc_9B8 .text:000009B3 cmp eax, 2A00h .text:000009B8 .text:000009B8 loc_9B8: ; CODE XREF: _main+31j .text:000009B8 xor eax, eax .text:000009BA mov ecx, [ebp+var_8] .text:000009BD xor ecx, ebp .text:000009BF call @__security_check_cookie@4 ; __security_check_cookie(x) .text:000009C4 mov esp, ebp .text:000009C6 pop ebp .text:000009C7 retn .text:000009C7 _main endp .text:000009C7 .text:000009C7 _text ends .text:000009C7 .text:000009C8 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ .text:000009C8 .text:000009C8 ; Segment type: Pure code .text:000009C8 _text segment para public 'CODE' use32 .text:000009C8 assume cs:_text .text:000009C8 ;org 9C8h .text:000009C8 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing .text:000009C8 .text:000009C8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ .text:000009C8 .text:000009C8 ; Attributes: bp-based frame .text:000009C8 .text:000009C8 public _nondet_int .text:000009C8 _nondet_int proc near ; CODE XREF: _getc+3p .text:000009C8 ; _strrand+23p ... .text:000009C8 push ebp .text:000009C9 mov ebp, esp .text:000009CB call _MakeChoice .text:000009D0 pop ebp .text:000009D1 retn .text:000009D1 _nondet_int endp .text:000009D1 .text:000009D1 _text ends .text:000009D1 UNDEF:000009E0 ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ UNDEF:000009E0 UNDEF:000009E0 ; Segment type: Externs UNDEF:000009E0 ; UNDEF UNDEF:000009E0 extrn _assert:near ; CODE XREF: _istrncmp+77p UNDEF:000009E4 extrn ___security_cookie:near ; DATA XREF: _main+6r UNDEF:000009E8 ; __fastcall __security_check_cookie(x) UNDEF:000009E8 extrn @__security_check_cookie@4:near ; CODE XREF: _main+3Fp UNDEF:000009E8 UNDEF:000009E8 UNDEF:000009E8 end