Function at 0x432a40
Capabilities:
Get socket status
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push 0xffffffffffffffff
push 0x4bd6f8
mov eax, dword fs:[0]
push eax
sub esp, 0x54c
mov eax, dword [0x4eaf00]
xor eax, esp
mov dword [esp + 0x544], eax
push ebx
push ebp
push esi
mov eax, dword [0x4eaf00]
xor eax, esp
push eax
lea eax, [esp + 0x55c]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x564], ebx
mov esi, ecx
mov dword [esp + 0x24], ebx
mov eax, dword [esi + 0x54]
mov ebp, 1
cmp eax, ebp
mov dword [esp + 0x28], edi
sete byte [esp + 0x17]
call fcn.004616e0
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x432ab6
push 0x80004005
call fcn.004011a0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x20], eax
push 0x3ff
lea ecx, [esp + 0x159]
push ebx
mov dword [esp + 0x56c], ebp
push ecx
mov byte [esp + 0x160], bl
call fcn.0047fa50
mov dword [edi + 0x18], 0xf
mov dword [edi + 0x14], ebx
add esp, 0xc
mov byte [edi + 4], bl
mov eax, dword [edi + 0x14]
cmp eax, dword [esp + 0x56c]
mov dword [esp + 0x24], ebp
jge 0x432c84
jmp 0x432b10
cmp byte [esp + 0x17], bl
je 0x432b1c
add dword [esi + 0x94], ebp
mov ecx, dword [edi + 0x14]
mov eax, dword [esp + 0x56c]
sub eax, ecx
cmp eax, 0x400
mov ebp, 0x400
jg 0x432b36
mov ebp, eax
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x24]
lea ecx, [esp + 0x18]
push ecx
push ebx
mov dword [esp + 0x20], edx
push ebx
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], eax
push edx
add eax, 1
push eax
mov dword [esp + 0x40], 1
mov dword [esp + 0x30], ebx
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x432c13
mov ecx, dword [esi + 0x24]
push ebx
push ebp
lea eax, [esp + 0x15c]
push eax
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x432c2e
cmp eax, ebx
jle 0x432c2e
push eax
lea edx, [esp + 0x158]
push edx
lea ecx, [esp + 0x140]
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
call fcn.00404400
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x140]
push eax
mov ecx, edi
mov byte [esp + 0x570], 2
call fcn.00403000
mov byte [esp + 0x564], 1
cmp dword [esp + 0x150], 0x10
jb 0x432bfd
mov ecx, dword [esp + 0x13c]
push ecx
call fcn.0045afe4
add esp, 4
mov edx, dword [esp + 0x56c]
cmp dword [edi + 0x14], edx
jge 0x432c84
mov ebp, 1
jmp 0x432b10
cmp byte [esp + 0x17], bl
je 0x432c27
add dword [esi + 0x6c], 1
mov dword [esi + 0x90], 4
call fcn.00432ce0
jmp 0x432c84
cmp byte [esp + 0x17], bl
je 0x432c42
add dword [esi + 0x70], 1
mov dword [esi + 0x90], 5
push ebx
push 0x4cdcd7
mov ecx, edi
call fcn.00404400
mov eax, dword [esi + 0x24]
cmp eax, 0xffffffff
je 0x432c81
cmp eax, ebx
je 0x432c81
push 4
lea ecx, [esp + 0x1c]
push ecx
push 0xffffff7f
push 0xffff
push eax
mov dword [esp + 0x2c], ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov edx, dword [esi + 0x24]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esi + 0x24], ebx
mov byte [esp + 0x564], bl
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432cab
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0x55c]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x544]
xor ecx, esp
call fcn.0047b434
add esp, 0x558
ret 4