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

Disassembly:
push 0xffffffffffffffff
push 0x624f00
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 + 0x325c]
test eax, eax
jne 0x589d75
mov eax, dword [esp + 0x24]
test eax, eax
je 0x589be2
mov ecx, dword [eax]
mov dword [ebx + 0x3232], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 0x3236], edx
movsx ecx, word [ebx + 0x3262]
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 + 0x3220]
lea edx, [ecx + ebx + 0x3232]
push edx
push eax
call sub.WS2_32.dll_recv
movsx ecx, word [ebx + 0x3262]
mov edx, 0x28
mov edi, eax
sub edx, ecx
sub edx, esi
cmp edi, edx
je 0x589d15
test edi, edi
jle 0x589c5e
push 0x6ddb84
mov ecx, ebx
call fcn.005474d0
mov word [ebx + 0x3262], 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 0x589c96
push 0x6ddb54
mov ecx, ebx
call fcn.005474d0
mov eax, dword [0x6ed9e0]
mov ecx, dword [ebx + 0x9c]
push eax
call fcn.0054f740
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 0x589d2f
call sub.WS2_32.dll_WSAGetLastError
mov esi, eax
cmp esi, 0x2733
je 0x589cec
mov ecx, dword [0x6e7b6c]
mov dword [esp + 0x24], ecx
push esi
lea edx, [esp + 0x28]
push 0x6ddb34
push edx
mov dword [esp + 0x24], 0
call fcn.005f368b
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, ebx
push eax
call fcn.005474d0
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], edi
call fcn.005fa859
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 + 0x323a]
push ecx
call fcn.00589b70
add esp, 4
cmp eax, 0x18
mov dword [ebx + 0x3264], eax
jae 0x589d46
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.005f6c5c
add esp, 4
mov dword [ebx + 0x325c], eax
test eax, eax
jne 0x589d75
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 + 0x325c]
lea esi, [ebx + 0x3232]
mov ecx, 0xa
push 0
rep movsd dword es:[edi], dword [esi]
movsx eax, word [ebx + 0x3260]
mov edx, dword [ebx + 0x3264]
mov ecx, dword [ebx + 0x325c]
sub edx, eax
sub edx, 0x18
push edx
lea edx, [eax + ecx + 0x28]
mov eax, dword [ebx + 0x3220]
push edx
push eax
call sub.WS2_32.dll_recv
movsx ecx, word [ebx + 0x3260]
mov edx, dword [ebx + 0x3264]
mov esi, eax
sub edx, ecx
sub edx, 0x18
cmp esi, edx
je 0x589e00
test esi, esi
jle 0x589d2f
push 0x6ddb1c
mov ecx, ebx
call fcn.005474d0
mov word [ebx + 0x3260], 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 + 0x325c]
xor ecx, ecx
mov cl, byte [eax + 0x24]
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
mov edx, dword [0x6e7b6c]
mov dword [esp + 0xc], edx
mov eax, ecx
lea ecx, [esp + 0xc]
push eax
push 0x6ddb08
push ecx
mov dword [esp + 0x24], 1
call fcn.005f368b
mov edx, dword [esp + 0x18]
add esp, 0xc
mov ecx, ebx
push edx
call fcn.005474d0
mov eax, dword [ebx + 0x3264]
mov ecx, dword [ebx + 0x325c]
add eax, 0x10
push eax
push ecx
mov ecx, ebx
call fcn.00547570
push 2
push 0x6dda54
mov ecx, ebx
call fcn.00547570
lea ecx, [esp + 0xc]
mov word [ebx + 0x3262], 0
mov word [ebx + 0x3260], 0
mov dword [esp + 0x18], 0xffffffff
call fcn.005fa859
mov ecx, dword [esp + 0x10]
pop edi
pop esi
xor eax, eax
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 8