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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
xor edx, edx
cmp dword [0x62815c], 0
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 4], edx
jne 0x45c202
or eax, 0xffffffff
jmp 0x45c3fd
test eax, 0x80000000
jne 0x45c24b
mov ecx, eax
and ecx, 0x78000000
cmp ecx, 0x48000000
jne 0x45c24b
mov edx, eax
and edx, 0xffff
cmp edx, 0x1001
jge 0x45c24b
mov ecx, eax
and ecx, 0xffff
mov ebx, dword [ecx*4 + 0x624130]
test ebx, ebx
je 0x45c24b
mov edx, dword [ebx + 0x20]
shl edx, 0x10
and eax, 0x7ff0000
cmp edx, eax
je 0x45c253
or eax, 0xffffffff
jmp 0x45c3fd
cmp dword [0x5f0744], 1
jne 0x45c264
or eax, 0xffffffff
jmp 0x45c3fd
mov dword [0x5f0744], 1
push 0
call fcn.004606f4
pop ecx
cmp dword [ebx], 0
jne 0x45c292
push 0x5f1555
call fcn.0045df78
pop ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x45c3f3
cmp dword [ebx + 4], 1
jne 0x45c2af
push 0x5f158d
call fcn.0045df78
pop ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x45c3f3
cmp dword [ebx + 0x4c], 0
jne 0x45c2bf
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x45c3f3
cmp dword [ebx + 0x18], 1
jne 0x45c3f3
mov eax, dword [ebx + 0x58]
test eax, eax
je 0x45c2f9
lea edx, [ebx + 0x58]
push 0
push eax
sub edx, eax
push edx
mov ecx, dword [ebx + 0x24]
push ecx
call sub.WSOCK32.DLL_send
mov esi, eax
test esi, esi
jl 0x45c3f3
sub dword [ebx + 0x58], esi
cmp dword [ebx + 0x58], 0
jne 0x45c3f3
cmp dword [ebx + 0x54], 0
jne 0x45c33a
mov eax, dword [ebx + 0x4c]
lea edx, [ebx + 0x54]
mov dword [ebx + 0x54], eax
push 0
push 4
push edx
mov ecx, dword [ebx + 0x24]
push ecx
call sub.WSOCK32.DLL_send
mov esi, eax
test esi, esi
jge 0x45c326
xor eax, eax
mov dword [ebx + 0x54], eax
jmp 0x45c3f3
cmp esi, 4
jge 0x45c33a
mov edx, 4
sub edx, esi
mov dword [ebx + 0x58], edx
jmp 0x45c3f3
lea edi, [ebx + 0x40]
push edi
call fcn.0046148c
pop ecx
mov eax, dword [edi + 4]
mov ecx, eax
mov edx, dword [edi + 0x10]
add ecx, dword [ebx + 0x54]
cmp edx, ecx
jge 0x45c3af
push 0
sub edx, eax
push edx
mov edx, dword [edi]
add edx, eax
push edx
mov eax, dword [ebx + 0x24]
push eax
call sub.WSOCK32.DLL_send
mov esi, eax
test esi, esi
jl 0x45c3f3
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 4]
cmp esi, eax
jge 0x45c37f
add dword [edi + 4], esi
jmp 0x45c3cd
mov dword [ebp - 8], esi
push 0
mov edx, dword [ebx + 0x54]
sub edx, dword [ebp - 8]
push edx
mov ecx, dword [edi]
push ecx
mov eax, dword [ebx + 0x24]
push eax
call sub.WSOCK32.DLL_send
mov esi, eax
test esi, esi
jge 0x45c3a7
xor eax, eax
mov dword [edi + 4], eax
mov esi, dword [ebp - 8]
jmp 0x45c3cd
mov dword [edi + 4], esi
add esi, dword [ebp - 8]
jmp 0x45c3cd
push 0
mov eax, dword [ebx + 0x54]
push eax
mov edx, dword [edi]
add edx, dword [edi + 4]
push edx
mov ecx, dword [ebx + 0x24]
push ecx
call sub.WSOCK32.DLL_send
mov esi, eax
test esi, esi
jl 0x45c3f3
add dword [edi + 4], esi
sub dword [edi + 0xc], esi
sub dword [ebx + 0x54], esi
push 0
call fcn.004606f4
pop ecx
test eax, eax
jne 0x45c3f3
test esi, esi
je 0x45c3f3
cmp dword [ebx + 0x54], 0
jne 0x45c3f3
cmp dword [ebx + 0x4c], 0
jne 0x45c2c9
xor eax, eax
mov dword [0x5f0744], eax
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret