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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10
push ebx
push edi
xor edi, edi
cmp dword [esi + 0x80], edi
jne 0x442ccf
mov ecx, dword [esi + 0xbc]
mov edx, dword [esi + 0xc0]
mov dword [esi + 0xcc], ecx
mov dword [esi + 0xd0], edx
mov edx, dword [esi + 0xc8]
mov dword [esi + 0xd8], edx
mov dword [esi + 0xd4], edi
mov ecx, dword [eax + 0xc]
cmp ecx, edi
je 0x442979
mov edx, dword [eax + 8]
cmp edx, edi
jl 0x442979
mov ebx, edx
mov dword [esp + 0xc], edx
jmp 0x44297f
xor ebx, ebx
mov dword [esp + 0xc], ebx
cmp ecx, edi
je 0x44298d
cmp dword [eax + 8], edi
jl 0x44298d
mov edi, dword [eax + 4]
add edi, ecx
mov edx, dword [esi + 0xd8]
test edx, edx
je 0x4429e1
mov eax, dword [esi + 0xd4]
test eax, eax
jl 0x4429e1
cmp ebx, 0xf4240
jae 0x4429e1
mov ecx, dword [esi + 0xd0]
lea ebx, [ecx + eax]
add ebx, dword [esp + 0xc]
cmp ebx, dword [esi + 0xcc]
jg 0x4429e1
add ecx, edx
mov edx, dword [esp + 0xc]
add ecx, eax
add eax, edx
xor ebx, ebx
cmp ecx, ebx
mov dword [esi + 0xd4], eax
je 0x4429e1
push edx
push edi
push ecx
call sub.MSVCR80.dll_memcpy
add esp, 0xc
jmp 0x442a0a
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x442a08
push 0x982
push str.._socket.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
xor ebx, ebx
mov ecx, dword [esi + 0xd8]
cmp ecx, ebx
je 0x442a26
cmp dword [esi + 0xd4], ebx
jl 0x442a26
mov eax, dword [esi + 0xd0]
add eax, ecx
jmp 0x442a28
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x14], eax
je 0x442a3a
mov eax, dword [esi + 0xd4]
cmp eax, ebx
jge 0x442a3c
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x442a78
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x442a78
push 0x989
push str.._socket.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
mov eax, dword [esi + 0x14]
cmp eax, ebx
mov dword [esi + 0x9c], ebx
jne 0x442ae2
mov ecx, dword [ebp + 8]
mov dword [esi + 0xa4], 1
mov edx, dword [ecx]
mov dword [esi + 0xa8], edx
mov edx, dword [ecx + 4]
lea eax, [esi + 0xa8]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
push ebx
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
lea edx, [esi + 0x84]
push edx
mov edx, dword [esi + 0x1c]
push 0x10
push eax
push ebx
mov dword [eax + 0xc], ecx
lea eax, [esi + 0x98]
push eax
push 1
lea ecx, [esp + 0x2c]
push ecx
push edx
mov dword [esi + 0xb8], 0x10
call dword [sym.imp.WS2_32.dll_WSASendTo]
jmp 0x442b3c
cmp eax, 2
je 0x442b15
cmp eax, 1
je 0x442b15
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x442b44
push 0x9af
push str.._socket.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
jmp 0x442b44
push ebx
lea eax, [esi + 0x84]
push eax
mov eax, dword [esi + 0x1c]
push ebx
lea ecx, [esi + 0x98]
push ecx
push 1
lea edx, [esp + 0x24]
push edx
push eax
mov dword [esi + 0xa4], ebx
call dword [sym.imp.WS2_32.dll_WSASend]
cmp eax, ebx
jne 0x442bd8
mov ecx, dword [esi + 0x94]
push ecx
mov dword [esi + 0x80], 2
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x442b86
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x442b86
push 0x9b7
push str.._socket.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
cmp dword [0x5426d0], 9
mov dword [esi + 0xa0], ebx
jb 0x442ccf
push 0x46000089
call fcn.00408960
add esp, 4
test eax, eax
je 0x442ccf
mov edx, dword [esi + 0x98]
mov eax, dword [esp + 0x10]
push edx
push eax
push str.WIN32_I_O:_Socket_Send_immediate_return___d__d_
push 0x46000089
call fcn.00408640
mov eax, dword [esi + 0x80]
add esp, 0x10
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
cmp edi, 0x3e5
jne 0x442c3d
cmp dword [0x5426d0], 9
mov dword [esi + 0x80], 1
mov dword [esi + 0xa0], eax
jb 0x442ccf
push 0x46000089
call fcn.00408960
add esp, 4
test eax, eax
je 0x442ccf
mov ecx, dword [esp + 0x10]
push ecx
push str.WIN32_I_O:_Socket_Send_queued___d_
push 0x46000089
call fcn.00408640
mov eax, dword [esi + 0x80]
add esp, 0xc
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x94]
push edx
mov dword [esp + 0x10], ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x442c79
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x442c79
push 0x9cc
push str.._socket.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
cmp dword [0x5426d0], 9
mov dword [esi + 0x80], 2
mov dword [esi + 0xa0], edi
jb 0x442cc6
push 0x46000089
call fcn.00408960
add esp, 4
test eax, eax
je 0x442cc6
lea ecx, [esp + 0xc]
mov edx, edi
call fcn.00408fd0
push eax
mov eax, dword [esp + 0x14]
push eax
push str.WIN32_I_O:_Socket_Send_error___d_:__s
push 0x46000089
call fcn.00408640
add esp, 0x10
lea ecx, [esp + 0xc]
call fcn.00438d30
mov eax, dword [esi + 0x80]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret