Function at 0x576cf0
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x50234
call fcn.005cef50
mov eax, dword [0x632b20]
xor eax, ebp
mov dword [ebp - 0x220], eax
mov eax, dword [0xfd5960]
and eax, 1
jne 0x576d5f
mov ecx, dword [0xfd5960]
or ecx, 1
mov dword [0xfd5960], ecx
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x576d47
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x5022c], edx
jmp 0x576d53
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x5022c], eax
mov edx, dword [ebp - 0x5022c]
mov dword [0xfd595c], edx
movzx eax, byte [0xf1ceaa]
test eax, eax
jne 0x576d6f
jmp 0x577215
movsx ecx, byte [0xfd576c]
test ecx, ecx
jne 0x576d7f
jmp 0x577215
movsx edx, byte [0xfd576e]
cmp edx, 1
jne 0x576d9c
push 0xb
call fcn.00599ef0
add esp, 4
mov byte [0xfd576e], 2
movsx eax, byte [0xfd576e]
test eax, eax
je 0x576dac
jmp 0x577215
movsx ecx, byte [0xfd576d]
test ecx, ecx
jne 0x576dbc
jmp 0x577215
mov edx, dword [0xfd5958]
add edx, 1
mov dword [0xfd5958], edx
mov eax, dword [0xfd5958]
and eax, 7
mov dword [0xfd5958], eax
je 0x576ddf
jmp 0x577215
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x108], 0
cmp dword [ebp - 0x210], 0x40
jae 0x576e32
mov ecx, dword [ebp - 0x210]
mov edx, dword [0xfd5768]
mov dword [ebp + ecx*4 - 0x20c], edx
mov eax, dword [ebp - 0x210]
add eax, 1
mov dword [ebp - 0x210], eax
xor ecx, ecx
jne 0x576e07
cmp dword [ebp - 0x108], 0x40
jae 0x576e60
mov edx, dword [ebp - 0x108]
mov eax, dword [0xfd5768]
mov dword [ebp + edx*4 - 0x104], eax
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
xor edx, edx
jne 0x576e36
lea eax, [ebp - 0x218]
push eax
push 0
lea ecx, [ebp - 0x108]
push ecx
lea edx, [ebp - 0x210]
push edx
push 2
call sub.WSOCK32.dll_select
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [0xfd5768]
push ecx
call sub.WSOCK32.dll___WSAFDIsSet
test eax, eax
je 0x576f2e
push 0x40000
push 0
lea edx, [ebp - 0x40220]
push edx
call fcn.005cbc50
add esp, 0xc
push 0
push 0x3ffff
lea eax, [ebp - 0x40220]
push eax
mov ecx, dword [0xfd5768]
push ecx
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
jle 0x576efe
mov dword [0xfd5774], 0
mov edx, dword [ebp - 0x21c]
push edx
lea eax, [ebp - 0x40220]
push eax
call fcn.00577300
add esp, 8
jmp 0x576f2e
cmp dword [ebp - 0x21c], 0
jne 0x576f09
jmp 0x576f2e
cmp dword [ebp - 0x21c], 0xffffffff
jne 0x576f2e
call fcn.00577810
test eax, eax
jle 0x576f2e
mov ecx, dword [0xfd5768]
push ecx
call sub.WSOCK32.dll_closesocket
mov byte [0xfd576e], 1
mov edx, 1
test edx, edx
je 0x5770fb
cmp dword [0xf9ceb0], 0
jle 0x5770f4
movzx eax, byte [0xf1cea9]
test eax, eax
jne 0x576f9f
mov ecx, dword [0xfd5768]
push ecx
call fcn.00587f30
add esp, 4
push 0x10000
lea edx, [ebp - 0x50220]
push edx
call fcn.00577480
add esp, 8
mov dword [ebp - 0x50224], eax
cmp dword [ebp - 0x50224], 0
jne 0x576f87
jmp 0x576f98
push 0xb
call fcn.00599ef0
add esp, 4
mov byte [0xfd576e], 2
jmp 0x5770fb
push 0x10000
lea eax, [ebp - 0x50220]
push eax
call fcn.00577480
add esp, 8
mov dword [ebp - 0x50224], eax
cmp dword [ebp - 0x50224], 0
jne 0x5770f0
lea ecx, [ebp - 0x50220]
push ecx
mov edx, dword [0xfd5768]
push edx
call fcn.00588060
add esp, 8
push 0x10000
push 0
lea eax, [ebp - 0x50220]
push eax
call fcn.005cbc50
add esp, 0xc
mov ecx, dword [0x62f464]
push ecx
push 0
mov edx, dword [0x62f468]
push edx
call fcn.005cbc50
add esp, 0xc
mov eax, dword [0x62f464]
push eax
push 0
mov ecx, dword [0x62f46c]
push ecx
call fcn.005cbc50
add esp, 0xc
mov edx, dword [0x62f464]
push edx
push 0
mov eax, dword [0x62f470]
push eax
call fcn.005cbc50
add esp, 0xc
mov ecx, dword [0x62f464]
push ecx
push 0
mov edx, dword [0x62f474]
push edx
call fcn.005cbc50
add esp, 0xc
mov eax, dword [0x62f464]
shl eax, 2
push eax
push 0
mov ecx, dword [0x62f48c]
push ecx
call fcn.005cbc50
add esp, 0xc
mov edx, dword [0x62f464]
imul edx, edx, 3
push edx
push 0
mov eax, dword [0x62f47c]
push eax
call fcn.005cbc50
add esp, 0xc
mov ecx, dword [0x62f464]
imul ecx, ecx, 3
push ecx
push 0
mov edx, dword [0x62f480]
push edx
call fcn.005cbc50
add esp, 0xc
mov eax, dword [0x62f464]
imul eax, eax, 3
push eax
push 0
mov ecx, dword [0x62f484]
push ecx
call fcn.005cbc50
add esp, 0xc
mov edx, dword [0x62f464]
imul edx, edx, 3
push edx
push 0
mov eax, dword [0x62f488]
push eax
call fcn.005cbc50
add esp, 0xc
mov ecx, dword [0x62f464]
shl ecx, 2
push ecx
push 0
mov edx, dword [0x62f48c]
push edx
call fcn.005cbc50
add esp, 0xc
jmp 0x5770f2
jmp 0x5770fb
jmp 0x5770f6
jmp 0x5770fb
jmp 0x576f2e
cmp dword [0xf1ceac], 0
jle 0x5771b1
movsx eax, byte [0xfd576e]
test eax, eax
jne 0x5771b1
push 0
mov ecx, dword [0xf1ceac]
push ecx
push 0xf1ceb0
mov edx, dword [0xfd5768]
push edx
call sub.WSOCK32.dll_send
mov dword [ebp - 0x50228], eax
cmp dword [ebp - 0x50228], 0
jle 0x57717c
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x577164
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x50230], edx
jmp 0x577170
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x50230], eax
mov edx, dword [ebp - 0x50230]
mov dword [0xfd595c], edx
cmp dword [ebp - 0x50228], 0xffffffff
jne 0x5771a2
call fcn.00577880
test eax, eax
jle 0x5771a0
mov eax, dword [0xfd5768]
push eax
call sub.WSOCK32.dll_closesocket
mov byte [0xfd576e], 1
jmp 0x5771b1
mov ecx, dword [ebp - 0x50228]
push ecx
call fcn.00577420
add esp, 4
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x5771d5
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x50234], edx
jmp 0x5771e1
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x50234], eax
mov edx, dword [0xfd595c]
add edx, 0x7530
cmp edx, dword [ebp - 0x50234]
jae 0x577215
movsx eax, byte [0xfd576c]
cmp eax, 1
jne 0x577215
push 0x5f70b0
mov ecx, dword [0xfd5768]
push ecx
call fcn.00587c50
add esp, 8
mov ecx, dword [ebp - 0x220]
xor ecx, ebp
call fcn.005cbcfe
mov esp, ebp
pop ebp
ret