Function at 0x538fc0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push 0xffffffffffffffff
push 0x5c10a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
mov ebx, ecx
push esi
push edi
mov eax, dword [ebx + 0x3144]
test eax, eax
jne 0x539192
mov eax, dword [esp + 0x24]
test eax, eax
je 0x539002
mov ecx, dword [eax]
mov dword [ebx + 0x311a], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 0x311e], edx
movsx ecx, word [ebx + 0x314a]
neg eax
sbb eax, eax
push 0
and eax, 8
mov esi, eax
mov eax, 0x28
sub eax, esi
sub eax, ecx
add ecx, esi
push eax
mov eax, dword [ebx + 0x3108]
lea edx, [ecx + ebx + 0x311a]
push edx
push eax
call sub.WSOCK32.dll_recv
movsx ecx, word [ebx + 0x314a]
mov edx, 0x28
mov edi, eax
sub edx, ecx
sub edx, esi
cmp edi, edx
je 0x539132
test edi, edi
jle 0x53907e
push 0x66bdbc
mov ecx, ebx
call fcn.00508d80
mov word [ebx + 0x314a], di
pop edi
pop esi
mov eax, 0x2733
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 8
jne 0x5390b3
push 0x66bd8c
mov ecx, ebx
call fcn.00508d80
mov eax, dword [0x67b0b8]
mov ecx, dword [ebx + 0x6c]
push eax
call fcn.0050c130
pop edi
pop esi
mov eax, 0xfffffffc
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 8
cmp edi, 0xffffffff
jne 0x53914c
call sub.WSOCK32.dll_WSAGetLastError
mov esi, eax
cmp esi, 0x2733
je 0x539109
mov ecx, dword [0x6754d4]
mov dword [esp + 0x24], ecx
push esi
lea edx, [esp + 0x28]
push 0x66bd6c
push edx
mov dword [esp + 0x24], 0
call fcn.00593b08
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.00508d80
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], edi
call fcn.0059ad3d
mov eax, esi
pop edi
sub eax, 0x2733
pop esi
neg eax
sbb eax, eax
pop ebx
and eax, 0xffffd8ca
add eax, 0x2733
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 8
lea ecx, [ebx + 0x3122]
push ecx
call fcn.00538f90
add esp, 4
cmp eax, 0x18
mov dword [ebx + 0x314c], eax
jae 0x539163
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 8
add eax, 0x10
push eax
call fcn.005970d9
add esp, 4
mov dword [ebx + 0x3144], eax
test eax, eax
jne 0x539192
pop edi
pop esi
mov eax, 0x753b
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 8
mov edi, dword [ebx + 0x3144]
lea esi, [ebx + 0x311a]
mov ecx, 0xa
push 0
rep movsd dword es:[edi], dword [esi]
movsx eax, word [ebx + 0x3148]
mov edx, dword [ebx + 0x314c]
mov ecx, dword [ebx + 0x3144]
sub edx, eax
sub edx, 0x18
push edx
lea edx, [eax + ecx + 0x28]
mov eax, dword [ebx + 0x3108]
push edx
push eax
call sub.WSOCK32.dll_recv
movsx ecx, word [ebx + 0x3148]
mov edx, dword [ebx + 0x314c]
mov esi, eax
sub edx, ecx
sub edx, 0x18
cmp esi, edx
je 0x53921d
test esi, esi
jle 0x53914c
push 0x66bd54
mov ecx, ebx
call fcn.00508d80
mov word [ebx + 0x3148], si
pop edi
pop esi
mov eax, 0x2733
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret 8
mov eax, dword [ebx + 0x3144]
xor ecx, ecx
mov cl, byte [eax + 0x24]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov edx, dword [0x6754d4]
mov dword [esp + 0xc], edx
mov eax, ecx
lea ecx, [esp + 0xc]
push eax
push 0x66bd40
push ecx
mov dword [esp + 0x24], 1
call fcn.00593b08
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, ebx
push edx
call fcn.00508d80
mov eax, dword [ebx + 0x314c]
mov ecx, dword [ebx + 0x3144]
add eax, 0x10
push eax
push ecx
mov ecx, ebx
call fcn.00508e10
push 2
push 0x66bc8c
mov ecx, ebx
call fcn.00508e10
lea ecx, [esp + 0xc]
mov word [ebx + 0x314a], 0
mov word [ebx + 0x3148], 0
mov dword [esp + 0x18], 0xffffffff
call fcn.0059ad3d
mov ecx, dword [esp + 0x10]
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 8