Function at 0x58c390
Capabilities:
Send data
Send data on socket

Disassembly:
sub esp, 0x3e8
push esi
mov esi, dword [esp + 0x3f8]
push esi
call fcn.00502a60
add esp, 4
test eax, eax
jne 0x58c3b3
pop esi
add esp, 0x3e8
ret
mov eax, dword [esi + 4]
push ebx
push ebp
push edi
or edi, 0xffffffff
cmp eax, edi
jne 0x58c3e6
push esi
push 0
push 0x1774
call fcn.00421db0
add esp, 8
push eax
call fcn.0058b480
add esp, 8
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x3e8
ret
mov eax, dword [esi + 0x830]
test eax, eax
je 0x58c3fd
push esi
call fcn.00502d00
add esp, 4
test eax, eax
jne 0x58c3d9
mov eax, dword [esp + 0x3fc]
push eax
lea ecx, [esp + 0x14]
push 0x3e7
push ecx
call fcn.00423900
lea edx, [esp + 0x1c]
push esi
push edx
lea ebp, [esp + 0x24]
call fcn.0058c210
mov ebx, dword [esp + 0x414]
add esp, 0x14
cmp ebx, 4
je 0x58c45e
push 1
lea eax, [esp + 0x14]
push eax
push esi
push 0
push 0
call fcn.0057b020
mov eax, dword [0x642ee0]
add esp, 0x14
test eax, eax
je 0x58c45e
lea ecx, [esp + 0x10]
push ecx
push 0
call fcn.005468d0
add esp, 8
mov eax, dword [esi + 0xcf8]
test eax, eax
je 0x58c494
cmp dword [eax + 0x1c], edi
jne 0x58c48d
mov edx, dword [esi + 0xcf8]
mov edi, dword [eax + 0x40]
push eax
push edx
call fcn.004e3140
mov dword [esi + 0xcf8], eax
add esp, 8
mov eax, edi
or edi, 0xffffffff
jmp 0x58c490
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x58c468
mov eax, dword [esi + 0xcf8]
test eax, eax
je 0x58c4e4
mov cl, byte [esp + 0x10]
test cl, cl
je 0x58c4bf
push ebx
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.004e2f90
add esp, 0xc
test eax, eax
je 0x58c4bf
mov dword [esi + 0xcf8], eax
mov eax, dword [esi + 0xcf8]
mov edx, dword [eax + 0x1c]
mov dword [eax + 0x1c], edi
mov eax, dword [esi + 0xcf8]
mov ebp, dword [eax]
test ebp, ebp
mov dword [esp + 0x400], edx
je 0x58c6d4
mov ebx, edx
cmp byte [ebp], 0
je 0x58c6d4
mov eax, dword [0x617048]
test eax, eax
je 0x58c50a
push esi
push ebx
push ebp
call fcn.00496dc0
add esp, 0xc
test eax, eax
jne 0x58c6f3
push 1
call fcn.00502f60
mov eax, ebp
add esp, 4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x58c520
sub eax, edx
mov ebx, eax
mov eax, dword [esi + 0x2690]
test eax, eax
je 0x58c568
mov ecx, dword [esi + 4]
push ebx
push ebp
push ecx
call fcn.0054e4a0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x58c578
cmp edi, 0xfffffffd
jne 0x58c55b
push 0x2747
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x58c581
push 0x2745
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
jmp 0x58c581
mov edx, dword [esi + 4]
push 0
push ebx
push ebp
push edx
call dword [sym.imp.WSOCK32.dll_send]
mov edi, eax
cmp edi, 0xffffffff
jne 0x58c64f
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov ebx, eax
cmp ebx, 0x2733
jne 0x58c5d9
mov eax, dword [esi + 0xcf8]
test eax, eax
je 0x58c5b6
cmp ebp, dword [eax]
jne 0x58c5b6
mov ecx, dword [esp + 0x400]
pop edi
pop ebp
pop ebx
mov dword [eax + 0x1c], ecx
xor eax, eax
pop esi
add esp, 0x3e8
ret
push 0
push ebp
push eax
call fcn.004e2f90
add esp, 0xc
test eax, eax
je 0x58c5cc
mov dword [esi + 0xcf8], eax
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 0x3e8
ret
lea edi, [esi + 0x440]
push 0x3e7
push edi
call fcn.00423a00
add esp, 8
test ebx, ebx
je 0x58c639
push ebx
call fcn.0058b3e0
add esp, 4
push eax
push 0
push 0x1775
call fcn.00421db0
add esp, 8
push eax
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [0x6136a0]
push edx
mov dword [0x63f7ac], 0
mov dword [0x63f7bc], 1
mov eax, dword [esi]
push edi
push eax
call fcn.005275f0
add esp, 0x18
push esi
call fcn.0058b6a0
add esp, 4
push esi
push 0
push 0x5e1
jmp 0x58c3c8
test edi, edi
jg 0x58c655
xor edi, edi
cmp edi, ebx
jge 0x58c67f
mov ecx, dword [esi + 0xcf8]
push 0
push 0
lea ebx, [edi + ebp]
push ebx
push ecx
call fcn.004e3ad0
add esp, 0x10
test eax, eax
je 0x58c67a
mov dword [esi + 0xcf8], eax
mov byte [ebx], 0
mov ebx, edi
mov eax, dword [esi + 0x1c74]
test eax, eax
jle 0x58c698
add eax, ebx
cdq
sub eax, edx
sar eax, 1
mov dword [esi + 0x1c74], eax
jmp 0x58c69e
mov dword [esi + 0x1c74], ebx
mov edi, dword [esi + 0x1c70]
add edi, ebx
mov dword [esi + 0x1c70], edi
mov ecx, dword [0x609ae0]
mov eax, edi
cmp eax, ecx
jle 0x58c6be
mov dword [esi + 0x1c70], ecx
mov al, byte [esi + 0x22d0]
test al, al
je 0x58c6d4
push esi
push 0
push ebp
call fcn.004254b0
add esp, 0xc
mov eax, dword [esi + 0xcf8]
test eax, eax
je 0x58c6f3
mov edx, dword [0x645324]
push esi
push 0
push 0x804c
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x3e8
ret