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

Disassembly:
sub esp, 8
push edi
xor edi, edi
cmp dword [0x8ec8ac], edi
mov dword [esp + 4], edi
jne 0x59481a
or eax, 0xffffffff
pop edi
add esp, 8
ret
test ecx, ecx
push ebx
js 0x594a81
mov eax, ecx
and eax, 0x78000000
cmp eax, 0x30000000
jne 0x594a81
mov eax, ecx
and eax, 0xffff
cmp eax, 0x2001
jge 0x594a81
mov ebx, dword [eax*4 + 0x8e4880]
cmp ebx, edi
je 0x594a81
mov edx, dword [ebx + 0x24]
shl edx, 0x10
and ecx, 0x7ff0000
cmp edx, ecx
jne 0x594a81
cmp dword [ebx], edi
jne 0x594a81
push esi
mov esi, 1
cmp dword [0x90d998], esi
jne 0x59488a
pop esi
pop ebx
or eax, 0xffffffff
pop edi
add esp, 8
ret
push edi
mov dword [0x90d998], esi
call fcn.0057f66d
add esp, 4
cmp dword [ebx + 4], edi
jne 0x5948c4
push 0x87a638
call fcn.0057a587
add esp, 4
pop esi
mov dword [esp + 8], 0xffffffff
mov eax, dword [esp + 8]
pop ebx
mov dword [0x90d998], edi
pop edi
add esp, 8
ret
cmp dword [ebx + 8], esi
jne 0x5948ef
push 0x87a5e8
call fcn.0057a587
add esp, 4
pop esi
mov dword [esp + 8], 0xffffffff
mov eax, dword [esp + 8]
pop ebx
mov dword [0x90d998], edi
pop edi
add esp, 8
ret
cmp dword [ebx + 0x58], edi
jne 0x594907
pop esi
pop ebx
mov dword [esp + 4], edi
mov dword [0x90d998], edi
mov eax, edi
pop edi
add esp, 8
ret
cmp dword [ebx + 0x1c], esi
jne 0x594a6e
push ebp
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x59493d
mov edx, dword [ebx + 0x28]
push 0
mov ecx, ebx
sub ecx, eax
push eax
add ecx, 0x64
push ecx
push edx
call fcn.0057aee7
test eax, eax
jl 0x594a6d
sub dword [ebx + 0x64], eax
jne 0x594a6d
cmp dword [ebx + 0x60], 0
lea ebp, [ebx + 0x60]
jne 0x59496b
mov ecx, dword [ebx + 0x28]
mov eax, dword [ebx + 0x58]
push 0
push 4
push ebp
push ecx
mov dword [ebp], eax
call fcn.0057aee7
test eax, eax
jl 0x594a48
cmp eax, 4
jl 0x594a63
lea edi, [ebx + 0x4c]
push edi
call fcn.0057b180
mov edx, dword [ebp]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x10]
add esp, 4
lea esi, [eax + edx]
cmp esi, ecx
push 0
jle 0x5949f6
mov edx, dword [edi]
sub ecx, eax
push ecx
add edx, eax
mov eax, dword [ebx + 0x28]
push edx
push eax
call fcn.0057aee7
mov esi, eax
test esi, esi
jl 0x594a6d
mov eax, dword [edi + 4]
mov ecx, dword [edi + 0x10]
sub ecx, eax
cmp esi, ecx
jge 0x5949b7
add eax, esi
mov dword [edi + 4], eax
jmp 0x594a0e
mov edx, dword [ebp]
mov eax, dword [edi]
mov ecx, dword [ebx + 0x28]
push 0
sub edx, esi
push edx
push eax
push ecx
mov dword [esp + 0x24], esi
call fcn.0057aee7
mov esi, eax
test esi, esi
jge 0x5949e2
mov esi, dword [esp + 0x14]
mov dword [edi + 4], 0
jmp 0x594a0e
mov edx, dword [ebp]
mov eax, dword [esp + 0x14]
sub edx, eax
cmp esi, edx
jne 0x594a0e
mov dword [edi + 4], esi
add esi, eax
jmp 0x594a0e
mov ecx, dword [edi]
push edx
mov edx, dword [ebx + 0x28]
add ecx, eax
push ecx
push edx
call fcn.0057aee7
mov esi, eax
test esi, esi
jl 0x594a6d
add dword [edi + 4], esi
sub dword [edi + 0xc], esi
sub dword [ebp], esi
push 0
call fcn.0057f66d
add esp, 4
test eax, eax
jne 0x594a6d
test esi, esi
je 0x594a6d
cmp dword [ebp], eax
jne 0x594a6d
cmp dword [ebx + 0x58], eax
jne 0x594911
mov eax, dword [esp + 0x10]
pop ebp
pop esi
xor edi, edi
pop ebx
mov dword [0x90d998], edi
pop edi
add esp, 8
ret
mov eax, dword [esp + 0x10]
pop ebp
pop esi
xor edi, edi
mov dword [ebx + 0x60], 0
pop ebx
mov dword [0x90d998], edi
pop edi
add esp, 8
ret
mov ecx, 4
sub ecx, eax
mov dword [ebx + 0x64], ecx
pop ebp
mov eax, dword [esp + 0xc]
pop esi
xor edi, edi
pop ebx
mov dword [0x90d998], edi
pop edi
add esp, 8
ret
pop ebx
or eax, 0xffffffff
pop edi
add esp, 8
ret