Function at 0x40aa10
Capabilities:
Check for time delay via gettickcount
Create process on windows
Create thread
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x410098
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0xa1a0
call fcn.0040f7b0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x40a9d0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0x8002
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 1
push 0x40a9f0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x5b]
mov byte [ebp - 0x5c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x9b]
mov byte [ebp - 0x9c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor esi, esi
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x38], eax
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x7b]
mov byte [ebp - 0x7c], 0
mov byte [ebp - 0x2e0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x2df]
mov dword [ebp - 4], esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x14], esi
mov ebx, 2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, eax
jge 0x40bd11
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x14]
mov esi, 0x416474
mov edi, dword [ecx + edx*4]
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ab0a
test cl, cl
je 0x40ab06
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ab0a
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40aae8
xor eax, eax
jmp 0x40ab0f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ab68
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
or ecx, 0xffffffff
lea esi, [ebp - 0x5c]
mov edi, dword [eax + edx*4 + 4]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [ebp - 0x18], esi
mov eax, ecx
mov esi, edi
mov edi, dword [ebp - 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [edx + 2]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [ebp + 8], eax
jle 0x40ab5a
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x9c]
mov edi, dword [ecx + eax*4]
jmp 0x40bca1
lea edi, [ebp - 0x5c]
lea edx, [ebp - 0x9c]
jmp 0x40bca1
mov esi, 0x416470
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ab91
test cl, cl
je 0x40ab8d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ab91
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ab6f
xor eax, eax
jmp 0x40ab96
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40abcf
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
push 0x416f20
mov edx, dword [eax + ecx*4 + 4]
push edx
call fcn.0040d8d0
add esp, 8
test eax, eax
jne 0x40bd09
lea eax, [ebp - 0x34]
push 0x411a60
push eax
mov dword [ebp - 0x34], 0x41646c
call sub.MSVCRT.dll__CxxThrowException
mov esi, str._IPS
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40abf8
test cl, cl
je 0x40abf4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40abf8
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40abd6
xor eax, eax
jmp 0x40abfd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ac36
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
push 0x416ed8
mov edx, dword [eax + ecx*4 + 4]
push edx
call fcn.0040db00
add esp, 8
test eax, eax
jne 0x40bd09
lea eax, [ebp - 0x3c]
push 0x411a60
push eax
mov dword [ebp - 0x3c], 0x41646c
call sub.MSVCRT.dll__CxxThrowException
mov esi, str._url
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ac5f
test cl, cl
je 0x40ac5b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ac5f
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ac3d
xor eax, eax
jmp 0x40ac64
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40aca5
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
lea ecx, [ebp - 0x1c]
push edx
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [0x416f10]
push eax
push ecx
mov ecx, 0x416f08
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call sub.MFC42.DLL_CString::CString
inc dword [ebp - 0x14]
jmp 0x40aaca
mov esi, str._URL
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40acce
test cl, cl
je 0x40acca
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40acce
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40acac
xor eax, eax
jmp 0x40acd3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ad0c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
push 0x416f08
mov edx, dword [eax + ecx*4 + 4]
push edx
call fcn.0040dc30
add esp, 8
test eax, eax
jne 0x40bd09
lea eax, [ebp - 0x2c]
push 0x411a60
push eax
mov dword [ebp - 0x2c], 0x41646c
call sub.MSVCRT.dll__CxxThrowException
mov esi, 0x416450
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ad35
test cl, cl
je 0x40ad31
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ad35
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ad13
xor eax, eax
jmp 0x40ad3a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b262
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov esi, 0x41644c
mov edi, dword [eax + ecx*4 + 4]
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ad75
test cl, cl
je 0x40ad71
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ad75
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ad53
xor eax, eax
jmp 0x40ad7a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ad8f
mov dword [0x4160fc], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.host
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40adb8
test cl, cl
je 0x40adb4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40adb8
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ad96
xor eax, eax
jmp 0x40adbd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40add7
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 3
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x416440
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ae00
test cl, cl
je 0x40adfc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ae00
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40adde
xor eax, eax
jmp 0x40ae05
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ae1f
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.iis6
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ae48
test cl, cl
je 0x40ae44
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ae48
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ae26
xor eax, eax
jmp 0x40ae4d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ae71
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 5
inc eax
mov dword [0x416abc], 1
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x416434
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ae9a
test cl, cl
je 0x40ae96
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ae9a
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ae78
xor eax, eax
jmp 0x40ae9f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40aeb5
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], ebx
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.ping
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40aede
test cl, cl
je 0x40aeda
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40aede
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40aebc
xor eax, eax
jmp 0x40aee3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40aefd
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x416428
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40af26
test cl, cl
je 0x40af22
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40af26
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40af04
xor eax, eax
jmp 0x40af2b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40af45
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 6
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.17010
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40af6e
test cl, cl
je 0x40af6a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40af6e
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40af4c
xor eax, eax
jmp 0x40af73
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40af8d
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 7
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.mac2addr
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40afb6
test cl, cl
je 0x40afb2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40afb6
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40af94
xor eax, eax
jmp 0x40afbb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40afcb
mov dword [0x4160fc], 8
jmp 0x40b007
mov esi, str.report
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40aff4
test cl, cl
je 0x40aff0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40aff4
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40afd2
xor eax, eax
jmp 0x40aff9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b064
mov dword [0x4160fc], 9
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
or ecx, 0xffffffff
mov edi, dword [eax + edx*4 + 8]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4167ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + edx*4 + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x4168ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x14]
mov ecx, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.rdpos
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b08d
test cl, cl
je 0x40b089
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b08d
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b06b
xor eax, eax
jmp 0x40b092
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b0ac
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 0xa
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.name2ip
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b0d5
test cl, cl
je 0x40b0d1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b0d5
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b0b3
xor eax, eax
jmp 0x40b0da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b242
mov esi, str.nametoip
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b10b
test cl, cl
je 0x40b107
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b10b
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b0e9
xor eax, eax
jmp 0x40b110
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b242
mov esi, str.ip2name
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b141
test cl, cl
je 0x40b13d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b141
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b11f
xor eax, eax
jmp 0x40b146
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b222
mov esi, str.iptoname
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b177
test cl, cl
je 0x40b173
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b177
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b155
xor eax, eax
jmp 0x40b17c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b222
mov esi, 0x4163d8
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b1ad
test cl, cl
je 0x40b1a9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b1ad
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b18b
xor eax, eax
jmp 0x40b1b2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b1d6
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 4
inc eax
mov dword [0x4167a8], 1
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x4163d4
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b1ff
test cl, cl
je 0x40b1fb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b1ff
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b1dd
xor eax, eax
jmp 0x40b204
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bd09
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 0xe
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 0xd
inc eax
mov dword [0x416de4], 0xc
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov eax, dword [ebp - 0x14]
mov dword [0x4160fc], 0xb
inc eax
mov dword [0x416de4], 1
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._mask
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b28b
test cl, cl
je 0x40b287
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b28b
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b269
xor eax, eax
jmp 0x40b290
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b2b7
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax + ecx*4 + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x416e60
jmp 0x40b04c
mov esi, 0x4163c8
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b2e0
test cl, cl
je 0x40b2dc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b2e0
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b2be
xor eax, eax
jmp 0x40b2e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b30e
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x416e54], eax
mov eax, dword [ebp - 0x14]
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x4163c4
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b337
test cl, cl
je 0x40b333
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b337
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b315
xor eax, eax
jmp 0x40b33c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b365
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x416e58], eax
mov eax, dword [ebp - 0x14]
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x4163c0
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b38e
test cl, cl
je 0x40b38a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b38e
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b36c
xor eax, eax
jmp 0x40b393
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b3bc
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x4167a0], eax
mov eax, dword [ebp - 0x14]
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x4163bc
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b3e5
test cl, cl
je 0x40b3e1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b3e5
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b3c3
xor eax, eax
jmp 0x40b3ea
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b411
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax + ecx*4 + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x416e70
jmp 0x40b04c
mov esi, 0x4163b8
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b43a
test cl, cl
je 0x40b436
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b43a
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b418
xor eax, eax
jmp 0x40b43f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b44e
lea edx, [ebp - 0x2e0]
jmp 0x40bc97
mov esi, 0x4163b4
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b477
test cl, cl
je 0x40b473
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b477
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b455
xor eax, eax
jmp 0x40b47c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b496
mov eax, dword [ebp - 0x14]
mov dword [0x416e5c], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x4163b0
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b4bf
test cl, cl
je 0x40b4bb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b4bf
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b49d
xor eax, eax
jmp 0x40b4c4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b4de
mov eax, dword [ebp - 0x14]
mov dword [0x416dd8], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._noauto
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b507
test cl, cl
je 0x40b503
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b507
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b4e5
xor eax, eax
jmp 0x40b50c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b521
mov dword [0x416ac0], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._sure
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b54a
test cl, cl
je 0x40b546
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b54a
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b528
xor eax, eax
jmp 0x40b54f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40bcff
mov esi, str._chkfw
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b580
test cl, cl
je 0x40b57c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b580
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b55e
xor eax, eax
jmp 0x40b585
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40bcff
mov esi, str._uri
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b5b6
test cl, cl
je 0x40b5b2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b5b6
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b594
xor eax, eax
jmp 0x40b5bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b5e2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax + ecx*4 + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x416ac4
jmp 0x40b04c
mov esi, 0x41638c
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b60b
test cl, cl
je 0x40b607
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b60b
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b5e9
xor eax, eax
jmp 0x40b610
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b651
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
test edx, edx
je 0x40bd09
mov edx, eax
mov eax, ecx
mov dword [0x416690], 1
or ecx, 0xffffffff
mov edi, dword [edx + eax*4 + 4]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x41669c
jmp 0x40b04c
mov esi, 0x416388
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b67a
test cl, cl
je 0x40b676
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b67a
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b658
xor eax, eax
jmp 0x40b67f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b690
call fcn.0040a320
inc dword [ebp - 0x14]
jmp 0x40aaca
mov esi, 0x416384
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b6b9
test cl, cl
je 0x40b6b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b6b9
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b697
xor eax, eax
jmp 0x40b6be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b6e7
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x41679c], eax
mov eax, dword [ebp - 0x14]
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._rawheader
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b710
test cl, cl
je 0x40b70c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b710
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b6ee
xor eax, eax
jmp 0x40b715
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b72f
mov eax, dword [ebp - 0x14]
mov dword [0x416ab4], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._codepage
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b758
test cl, cl
je 0x40b754
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b758
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b736
xor eax, eax
jmp 0x40b75d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b786
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x416ab8], eax
mov eax, dword [ebp - 0x14]
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._notitle
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b7af
test cl, cl
je 0x40b7ab
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b7af
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b78d
xor eax, eax
jmp 0x40b7b4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b7c9
mov dword [0x416aac], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._noip
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b7f2
test cl, cl
je 0x40b7ee
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b7f2
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b7d0
xor eax, eax
jmp 0x40b7f7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b80c
mov dword [0x416ab0], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, 0x416354
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b835
test cl, cl
je 0x40b831
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b835
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b813
xor eax, eax
jmp 0x40b83a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b855
mov dword [0x416cc4], 1
call fcn.0040eca0
inc dword [ebp - 0x14]
jmp 0x40aaca
mov esi, str._status
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b87e
test cl, cl
je 0x40b87a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b87e
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b85c
xor eax, eax
jmp 0x40b883
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b8ac
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
push edx
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [0x416dc8], eax
mov eax, dword [ebp - 0x14]
add esp, 4
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._list
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b8d5
test cl, cl
je 0x40b8d1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b8d5
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b8b3
xor eax, eax
jmp 0x40b8da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b8f4
mov eax, dword [ebp - 0x14]
mov dword [0x416694], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._spec
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b91d
test cl, cl
je 0x40b919
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b91d
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b8fb
xor eax, eax
jmp 0x40b922
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40bcca
mov esi, str._tok
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b953
test cl, cl
je 0x40b94f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b953
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b931
xor eax, eax
jmp 0x40b958
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40bcca
mov esi, str._cert
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b989
test cl, cl
je 0x40b985
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b989
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b967
xor eax, eax
jmp 0x40b98e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b9a8
mov eax, dword [ebp - 0x14]
mov dword [0x416698], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._agent
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b9d1
test cl, cl
je 0x40b9cd
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b9d1
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40b9af
xor eax, eax
jmp 0x40b9d6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40b9fd
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax + ecx*4 + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x416bc4
jmp 0x40b04c
mov esi, str._nodata
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ba26
test cl, cl
je 0x40ba22
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ba26
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ba04
xor eax, eax
jmp 0x40ba2b
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ecx
jne 0x40ba49
mov eax, dword [ebp - 0x14]
mov dword [0x416dcc], ecx
inc eax
mov dword [0x416aac], ecx
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._method
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40ba72
test cl, cl
je 0x40ba6e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40ba72
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ba50
xor eax, eax
jmp 0x40ba77
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bb5c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov esi, 0x41388c
mov edi, dword [eax + ecx*4 + 4]
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bab2
test cl, cl
je 0x40baae
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bab2
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40ba90
xor eax, eax
jmp 0x40bab7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bacc
mov dword [0x416dd0], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.POST
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40baf5
test cl, cl
je 0x40baf1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40baf5
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40bad3
xor eax, eax
jmp 0x40bafa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bb14
mov eax, dword [ebp - 0x14]
mov dword [0x416dd0], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str.OPTIONS
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bb3d
test cl, cl
je 0x40bb39
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bb3d
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40bb1b
xor eax, eax
jmp 0x40bb42
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bd09
mov eax, dword [ebp - 0x14]
mov dword [0x416dd0], ebx
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._data
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bb85
test cl, cl
je 0x40bb81
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bb85
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40bb63
xor eax, eax
jmp 0x40bb8a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bbac
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx*4 + 4]
mov ecx, dword [0x416dd4]
push edx
call fcn.00402fd0
inc dword [ebp - 0x14]
jmp 0x40aaca
mov esi, str._DATA
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bbd5
test cl, cl
je 0x40bbd1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bbd5
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40bbb3
xor eax, eax
jmp 0x40bbda
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bc1a
mov eax, dword [0x416dd4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x14]
push eax
mov eax, dword [ecx + edx*4 + 4]
push eax
call fcn.0040dd70
add esp, 8
test eax, eax
jne 0x40bd09
lea ecx, [ebp - 0x30]
push 0x411a60
push ecx
mov dword [ebp - 0x30], 0x41646c
call sub.MSVCRT.dll__CxxThrowException
mov eax, 0x40c044
ret
mov esi, str._result
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bc43
test cl, cl
je 0x40bc3f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bc43
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40bc21
xor eax, eax
jmp 0x40bc48
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bc62
mov eax, dword [ebp - 0x14]
mov dword [0x4167a4], 1
inc eax
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov esi, str._gate
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40bc8b
test cl, cl
je 0x40bc87
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40bc8b
add eax, ebx
add esi, ebx
test cl, cl
jne 0x40bc69
xor eax, eax
jmp 0x40bc90
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40bd09
lea edx, [ebp - 0x7c]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax + ecx*4 + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x14]
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x14]
xor eax, eax
mov edi, dword [ecx + edx*4 + 4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x4169ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x14], eax
jmp 0x40aaca
mov dword [0x416de0], 1
inc dword [ebp - 0x14]
jmp 0x40aaca
or ecx, 0xffffffff
mov edi, 0x4169ac
xor eax, eax
mov dword [ebp - 4], ecx
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40bd48
mov edi, 0x413d50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4169ac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x416ee0]
test eax, eax
jle 0x40bf37
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x1df]
mov byte [ebp - 0x1e0], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
xor edx, edx
test eax, eax
jle 0x40be60
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
mov esi, str._IPS
mov edi, dword [ecx]
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40bdb1
test cl, cl
je 0x40bdad
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40bdb1
add eax, 2
add esi, 2
test cl, cl
jne 0x40bd8d
xor eax, eax
jmp 0x40bdb6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ebx, [ebp - 0x1e0]
jne 0x40bdf6
mov edi, str._ip__s
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, ebx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0xc]
mov ecx, ebx
and ecx, 3
inc edx
add eax, 4
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0xc], eax
jmp 0x40be1b
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, ebx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x413d4c
or ecx, 0xffffffff
xor eax, eax
lea ebx, [ebp - 0x1e0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, ebx
mov ebx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov ecx, ebx
and ecx, 3
inc edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xc]
add ecx, 4
cmp edx, eax
mov dword [ebp + 0xc], ecx
jl 0x40bd81
mov eax, dword [0x416ee0]
xor esi, esi
test eax, eax
jle 0x40cead
mov ebx, dword [sym.imp.MSVCRT.dll_printf]
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x3df]
mov byte [ebp - 0x3e0], 0
mov edx, dword [0x416edc]
push 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [edx + esi*4]
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::GetBuffer
push eax
lea eax, [ebp - 0x1e0]
lea ecx, [ebp - 0x3e0]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edx, [ebp - 0x3e0]
push edx
call ebx
push 0x413574
call ebx
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0xdc]
add esp, 0x14
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0xe0]
push eax
push ecx
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x3e0]
push 0
push edx
push 0
mov dword [ebp - 0xe0], 0x44
mov word [ebp - 0xb0], 5
mov dword [ebp - 0xb4], 1
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov eax, dword [ebp - 0x28]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x416ee0]
inc esi
cmp esi, eax
jl 0x40be75
jmp 0x40cead
mov eax, dword [0x4160fc]
cmp eax, 8
jne 0x40bf76
lea ecx, [ebp + 0xc]
call fcn.00402bc0
push 0x4168ac
push 0x4167ac
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 3
call fcn.00402980
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.00402bf0
jmp 0x40cead
cmp eax, 9
jne 0x40bfb0
lea ecx, [ebp + 0xc]
call fcn.00406310
push 0x4168ac
push 0x4167ac
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 4
call fcn.00406370
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.00406340
jmp 0x40cead
lea ecx, [ebp - 0x24b0]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x416e10
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov eax, dword [0x4167a0]
test eax, eax
jne 0x40bfe0
mov dword [0x4167a0], 0x3e8
mov eax, dword [0x416f28]
test eax, eax
jg 0x40c0be
mov eax, dword [0x416f10]
test eax, eax
jne 0x40c0be
lea edi, [ebp - 0x5c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40c01a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x5c]
push 0x41368c
push edx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
jbe 0x40c06a
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x20]
push eax
push ecx
call fcn.0040e3d0
add esp, 8
test eax, eax
jne 0x40c057
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [0x416fa8], edx
mov dword [0x416fac], eax
jmp 0x40c0be
lea ecx, [ebp - 0x5c]
push ecx
call fcn.0040e4e0
add esp, 4
mov dword [0x416fa8], eax
test eax, eax
je 0x40c044
cmp eax, 0xfffe0001
jae 0x40c044
lea edx, [ebp - 0x9c]
push edx
call dword [sym.imp.WS2_32.dll_inet_addr]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x416fa8]
mov dword [0x416fac], eax
cmp eax, ecx
jb 0x40c0b8
cmp eax, 0xfffe0001
ja 0x40c0b8
cmp ecx, 0xfffe0001
jbe 0x40c0be
mov dword [0x416fac], ecx
mov edx, dword [0x416e54]
test edx, edx
ja 0x40c0cf
mov edx, 1
jmp 0x40c0dc
cmp edx, 0x7d0
jbe 0x40c0e2
mov edx, 0x7d0
mov dword [0x416e54], edx
mov eax, dword [0x416e58]
test eax, eax
ja 0x40c0f7
mov dword [0x416e58], 1
jmp 0x40c108
cmp eax, 0x7d0
jbe 0x40c108
mov dword [0x416e58], 0x7d0
mov esi, dword [0x4160fc]
test esi, esi
jne 0x40c21c
lea edi, [ebp - 0x7c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x40c154
mov eax, dword [0x416e30]
push 0x41646c
push eax
mov ecx, 0x416e28
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e30]
push 0x4162e8
push eax
mov ecx, 0x416e28
call sub.MFC42.DLL_CStringArray::SetAtGrow
jmp 0x40c210
lea eax, [ebp - 0x7c]
lea ecx, [ebp + 0xc]
push eax
call sub.MFC42.DLL_CString::CString_2
push 0x413d50
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 5
call sub.MFC42.DLL_CString::Find_1
mov esi, eax
test esi, esi
jle 0x40c1ed
lea ecx, [ebp + 8]
push esi
push ecx
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::Left
mov eax, dword [0x416e30]
lea edx, [ebp + 8]
push edx
push eax
mov ecx, 0x416e28
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 7
call fcn.0040f9f4
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call sub.MFC42.DLL_CString::CString
push 0x413d50
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::Find_1
lea ecx, [ebp + 8]
mov esi, eax
mov byte [ebp - 4], 5
call sub.MFC42.DLL_CString::CString
test esi, esi
jg 0x40c17a
mov eax, dword [0x416e30]
lea edx, [ebp + 0xc]
push edx
push eax
mov ecx, 0x416e28
call sub.MFC42.DLL_CStringArray::SetAtGrow_1
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov esi, dword [0x4160fc]
mov edx, dword [0x416e54]
lea edi, [ebp - 0x2e0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x40c2fc
lea eax, [ebp - 0x2e0]
lea ecx, [ebp + 0xc]
push eax
call sub.MFC42.DLL_CString::CString_2
push 0x413d50
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 8
call sub.MFC42.DLL_CString::Find_1
mov esi, eax
test esi, esi
jle 0x40c2d1
lea ecx, [ebp + 8]
push esi
push ecx
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::Left
push ecx
lea edx, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push edx
mov byte [ebp - 4], 9
call fcn.0040f9fa
call fcn.0040a8c0
mov eax, dword [ebp + 0xc]
add esp, 4
lea ecx, [ebp - 0x1c]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xa
call fcn.0040f9f4
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString
push 0x413d50
lea ecx, [ebp + 0xc]
call sub.MFC42.DLL_CString::Find_1
lea ecx, [ebp + 8]
mov esi, eax
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::CString
test esi, esi
jg 0x40c25b
push ecx
lea edx, [ebp + 0xc]
mov ecx, esp
mov dword [ebp + 8], esp
push edx
call fcn.0040f9fa
call fcn.0040a8c0
add esp, 4
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x40c775
cmp esi, 4
je 0x40c760
cmp esi, 5
je 0x40c760
cmp esi, 3
jne 0x40c781
mov eax, dword [0x416e48]
push 0x4162e4
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push 0x4162e0
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push 0x4162dc
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push 0x4162d8
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push 0x4162d4
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push 0x4162d0
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push 0x4162cc
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push 0x4162c8
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push 0x4162c4
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push 0x4162c0
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push 0x4162bc
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push 0x4162b8
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push 0x4162b4
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push 0x4162b0
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push 0x4162ac
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.1433
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
push str.1521
mov ecx, dword [0x416e48]
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.1723
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.2049
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.3306
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.3389
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.5000
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.5100
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.5432
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.5500
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.5560
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.5620
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.5800
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.5900
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.5985
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.5986
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.6379
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.7001
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.8000
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.8080
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.8081
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.8082
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.8083
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.8084
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.8085
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.8086
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.8087
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.8088
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.8089
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.8443
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.8090
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.8888
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.9092
push edx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov eax, dword [0x416e48]
push str.10443
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov ecx, dword [0x416e48]
push str.11211
push ecx
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov edx, dword [0x416e48]
push str.27017
push edx
jmp 0x40c76b
mov eax, dword [0x416e48]
push 0x4162d0
push eax
mov ecx, 0x416e40
call sub.MFC42.DLL_CStringArray::SetAtGrow
mov esi, dword [0x4160fc]
mov edx, dword [0x416e54]
mov eax, dword [0x416dd8]
mov edi, 1
cmp eax, edi
jne 0x40c7a5
call fcn.004076b0
call fcn.00407180
mov esi, dword [0x4160fc]
mov edx, dword [0x416e54]
test esi, esi
jne 0x40c819
push 0x416e60
call fcn.00408620
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x632c]
mov dword [ebp - 0x6330], esi
rep stosd dword es:[edi], eax
mov eax, dword [0x416e54]
add esp, 4
cmp eax, esi
jbe 0x40c80a
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
lea edi, [ebp - 0x6330]
lea ecx, [ebp + 0xc]
push ecx
push 0
push 0
push 0x40e020
push 0
push 0
call ebx
push 0x14
mov dword [edi], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x416e54]
inc esi
add edi, 4
cmp esi, eax
jb 0x40c7e0
push 0xffffffffffffffff
lea edx, [ebp - 0x6330]
push eax
push edx
jmp 0x40ce62
cmp esi, 4
jne 0x40c8f0
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x231c]
mov dword [ebp - 0x2320], esi
mov dword [ebp - 0x6330], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x632c]
rep stosd dword es:[edi], eax
cmp dword [0x416f10], esi
jle 0x40c8a4
cmp edx, esi
jbe 0x40c8e1
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + esi*4 - 0x2320]
push eax
push 0
push 0
push 0x4088d0
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x6330], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40c868
push 0xffffffffffffffff
push edx
lea edx, [ebp - 0x6330]
push edx
jmp 0x40ce62
cmp edx, esi
jbe 0x40c8e1
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp + esi*4 - 0x2320]
push ecx
push 0
push 0
push 0x408ab0
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x6330], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40c8b4
push 0xffffffffffffffff
push edx
lea edx, [ebp - 0x6330]
push edx
jmp 0x40ce62
cmp esi, edi
jne 0x40c954
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x231c]
mov dword [ebp - 0x2320], esi
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40c946
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
lea edi, [ebp - 0x2320]
lea eax, [ebp + 0xc]
push eax
push 0
push 0
push 0x40e020
push 0
push 0
call ebx
push 0x14
mov dword [edi], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x416e54]
inc esi
add edi, 4
cmp esi, edx
jb 0x40c91b
push 0xffffffffffffffff
push edx
lea ecx, [ebp - 0x2320]
jmp 0x40ce61
cmp esi, 3
jne 0x40caf6
cmp dword [0x416e5c], edi
jne 0x40c9f8
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x632c]
mov dword [ebp - 0x6330], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
rep stosd dword es:[edi], eax
mov eax, dword [0x416fac]
mov edi, dword [0x416fa8]
sub eax, edi
cmp eax, edx
jae 0x40c9ac
mov edx, eax
mov dword [0x416e54], edx
cmp edx, esi
jbe 0x40c9e9
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp + esi*4 - 0x6330]
push edx
push 0
push 0
push 0x407f10
push 0
push 0
call edi
push 5
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40c9bc
push 0xffffffffffffffff
lea eax, [ebp - 0x2320]
push edx
push eax
jmp 0x40ce62
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x6330], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x632c]
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
mov dword [ebp - 0x2320], esi
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40ca6a
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
lea edi, [ebp - 0x2320]
lea ecx, [ebp + 0xc]
push ecx
push 0
push 0
push 0x40e020
push 0
push 0
call ebx
mov edx, dword [0x416e54]
mov dword [edi], eax
inc esi
add edi, 4
cmp esi, edx
jb 0x40ca45
jmp 0x40ca70
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
xor esi, esi
test edx, edx
jbe 0x40caac
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp + esi*4 - 0x43f0]
push edx
push 0
push 0
push 0x4081c0
push 0
push 0
call ebx
push 0xc8
mov dword [ebp + esi*4 - 0x6330], eax
call edi
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40ca7c
push 0xffffffffffffffff
lea eax, [ebp - 0x2320]
push edx
push eax
call fcn.0040e2d0
mov esi, dword [sym.imp.MSVCRT.dll_printf]
push str.Scan_Liveing_Host_Finish_n
call esi
mov ecx, dword [0x416e54]
push 0xffffffffffffffff
lea edx, [ebp - 0x6330]
push ecx
push edx
mov dword [0x416fa4], 1
call fcn.0040e2d0
push str.Scan_Finish_n
call esi
add esp, 0x20
jmp 0x40ce6a
cmp esi, 5
jne 0x40cb70
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40cb62
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + esi*4 - 0x43f0]
push eax
push 0
push 0
push 0x405390
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40cb35
push 0xffffffffffffffff
push edx
lea ecx, [ebp - 0x2320]
jmp 0x40ce61
cmp esi, 6
jne 0x40cbf4
call fcn.004027f0
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
rep stosd dword es:[edi], eax
mov eax, dword [0x416e54]
cmp eax, esi
jbe 0x40cbe5
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp + esi*4 - 0x43f0]
push edx
push 0
push 0
push 0x40a830
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov eax, dword [0x416e54]
inc esi
cmp esi, eax
jb 0x40cbb9
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x2320]
push eax
jmp 0x40ce62
cmp esi, 7
jne 0x40cc6f
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40cc60
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp + esi*4 - 0x43f0]
push ecx
push 0
push 0
push 0x40a790
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40cc33
push 0xffffffffffffffff
push edx
lea edx, [ebp - 0x2320]
push edx
jmp 0x40ce62
cmp esi, 0xa
jne 0x40cce9
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40ccdb
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + esi*4 - 0x43f0]
push eax
push 0
push 0
push 0x40a430
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40ccae
push 0xffffffffffffffff
push edx
lea ecx, [ebp - 0x2320]
jmp 0x40ce61
cmp esi, 0xb
je 0x40cdf1
cmp esi, 0xd
je 0x40cdf1
cmp esi, ebx
jne 0x40cd75
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40cd66
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [ebp + esi*4 - 0x43f0]
push edx
push 0
push 0
push 0x40a3a0
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40cd39
push 0xffffffffffffffff
lea eax, [ebp - 0x2320]
push edx
push eax
jmp 0x40ce62
cmp esi, 0xe
jne 0x40ce6a
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0xa1ac]
mov dword [ebp - 0xa1b0], esi
mov dword [ebp - 0x8270], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x826c]
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40cde5
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp + esi*4 - 0xa1b0]
push ecx
push 0
push 0
push 0x40a700
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x8270], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40cdb8
push 0xffffffffffffffff
push edx
lea edx, [ebp - 0x8270]
push edx
jmp 0x40ce62
xor esi, esi
mov ecx, 0x7cf
xor eax, eax
lea edi, [ebp - 0x43ec]
mov dword [ebp - 0x43f0], esi
mov dword [ebp - 0x2320], esi
rep stosd dword es:[edi], eax
mov ecx, 0x7cf
lea edi, [ebp - 0x231c]
cmp edx, esi
rep stosd dword es:[edi], eax
jbe 0x40ce58
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + esi*4 - 0x43f0]
push eax
push 0
push 0
push 0x40a4c0
push 0
push 0
call edi
push 0x14
mov dword [ebp + esi*4 - 0x2320], eax
call ebx
mov edx, dword [0x416e54]
inc esi
cmp esi, edx
jb 0x40ce2b
push 0xffffffffffffffff
push edx
lea ecx, [ebp - 0x2320]
push ecx
call fcn.0040e2d0
add esp, 0xc
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 0x416e10
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [ebp - 0x38]
sub ecx, eax
xor edx, edx
mov eax, ecx
mov esi, 0x3e8
div esi
mov eax, 0x10624dd3
push edx
mul ecx
shr edx, 6
push edx
push str.It_costs__d_s__d_ms_n
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 0xc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret