Function at 0x408920
Capabilities:
Create thread
Receive data
Receive data on socket

Disassembly:
sub esp, 0x334
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
lea ebx, [esi + 0x60]
mov ecx, ebx
call fcn.0043ed90
mov edi, dword [esp + 0x348]
mov ebp, eax
test ebp, ebp
je 0x408974
cmp dword [ebp + 8], edi
je 0x408970
push ebp
mov ecx, ebx
call fcn.0043eda0
mov ebp, eax
test ebp, ebp
jne 0x408947
push edi
call dword [sym.imp.WSOCK32.dll_closesocket]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x334
ret 4
test ebp, ebp
jne 0x40898a
push edi
call dword [sym.imp.WSOCK32.dll_closesocket]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x334
ret 4
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x98]
push ebp
push eax
call fcn.00411f50
mov edx, dword [ebp + 8]
push 0
lea ecx, [esp + 0x3c]
push 0x30b
push ecx
push edx
call dword [sym.imp.WSOCK32.dll_recv]
test eax, eax
jle 0x408bdc
mov byte [esp + eax + 0x38], 0
lea eax, [esp + 0x14]
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, dword [esi + 0xa0]
push ebp
call fcn.00420b80
test eax, eax
je 0x408bdc
push 0xad0
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
mov ecx, 0x2b4
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
or edi, 0xffffffff
mov dword [esi + 8], ebp
mov dword [esi + 0x34], edi
mov edx, dword [esp + 0x18]
mov dword [esi + 0xc], edx
mov eax, dword [esp + 0x20]
mov dword [esi + 0x28], eax
mov ecx, dword [esp + 0x24]
mov dword [esi + 0x2c], ecx
mov edx, dword [esp + 0x28]
mov dword [esi + 0x44], edx
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x40], eax
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [esi + 0x18], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esi + 8]
push ebp
mov dword [edx + 0x20], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
mov dword [eax + 0x1c], ecx
mov edx, dword [esp + 0x30]
mov dword [esi + 0x10], edx
mov eax, dword [esp + 0x34]
mov ecx, ebx
mov dword [esi + 0x14], eax
call fcn.0043ed60
mov ebp, dword [esp + 0x10]
push esi
lea ecx, [ebp + 0x58]
call fcn.0043ed40
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x408ab4
mov dword [esi + 0x1c], 0
mov dword [esi + 0x48], 8
lea edx, [esp + 0x34]
mov dword [esi + 0x3c], edi
push edx
push 0
push esi
push 0x408d80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
mov dword [esi + 0x3c], eax
jne 0x408bca
push esi
mov ecx, ebp
call fcn.00409810
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x334
ret 4
mov eax, dword [eax + 0xc]
lea ebx, [esi + 0x768]
push ebx
push eax
call fcn.0043dac0
add esp, 8
test eax, eax
jne 0x408ae2
push esi
mov ecx, ebp
call fcn.00409810
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x334
ret 4
mov eax, dword [ebx]
mov bl, 0x62
shr eax, 4
and eax, 1
mov dword [esi + 0x1c], eax
jne 0x408afd
cmp byte [esi + 0x18], bl
je 0x408afd
mov eax, 6
jmp 0x408aff
xor eax, eax
mov cl, byte [esi + 0x794]
mov dword [esi + 0x48], eax
lea eax, [esi + 0x794]
test cl, cl
jne 0x408b22
mov ecx, dword [esi + 0xc]
push eax
mov edx, dword [ecx + 0xc]
push edx
call fcn.004101f0
add esp, 8
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x408b48
mov cl, byte [esi + 0x18]
xor eax, eax
cmp cl, bl
push 0x618
sete al
mov ebx, eax
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
mov dword [esi + 0x50], eax
jmp 0x408bab
mov ecx, dword [ebp + 0xa4]
test byte [ecx + 0x770], 1
je 0x408b91
mov edx, dword [esi + 0x780]
mov eax, dword [esi + 0x14]
cmp edx, eax
jl 0x408b91
jg 0x408b73
mov eax, dword [esi + 0x77c]
mov ecx, dword [esi + 0x10]
cmp eax, ecx
jbe 0x408b91
push esi
mov ecx, ebp
mov dword [esi + 0x48], 9
call fcn.00409810
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x334
ret 4
cmp byte [esi + 0x18], bl
je 0x408a78
mov ecx, dword [esi + 0xc]
push esi
mov eax, dword [ecx + 0xc]
mov ecx, ebp
push eax
call fcn.00408c10
mov ebx, eax
test ebx, ebx
jne 0x408a78
push esi
mov ecx, ebp
call fcn.00409810
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x334
ret 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x334
ret 4
push ebp
mov ecx, ebx
call fcn.0043ed60
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
push ebp
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x334
ret 4