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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push edi
push esi
push ebx
mov edi, dword [ebp + 8]
cmp byte [edi + 0x19], 0
je 0x43886f
cmp dword [edi + 0xc30], 0
jle 0x43886f
cmp byte [edi + 0xc74], 0
jne 0x43886f
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
mov eax, dword [edi + 0xc30]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x100000
jle 0x43855a
mov dword [ebp - 8], 0x100000
push 0
push dword [ebp - 8]
mov esi, dword [edi + 0xc3c]
add esi, dword [edi + 0xc2c]
push esi
push dword [edi + 0x1c]
mov eax, dword [sym.imp.WS2_32.dll_send]
call eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x43859c
mov eax, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x2733
jne 0x43859c
call fcn.00439ec0
jmp 0x43886f
cmp dword [ebp - 0xc], 0
jge 0x4387af
push 0
push edi
call fcn.004376ab
add esp, 8
mov esi, dword [edi + 8]
mov dword [esi + 4], 1
mov eax, dword [ebp - 4]
sub eax, 0x2733
jae 0x4385ee
sub eax, 0xfffffff3
je 0x438764
sub eax, 0xfffffff8
je 0x4386ce
sub eax, 0xffffffff
je 0x4386a1
sub eax, 0xfffffff7
je 0x4386b0
jmp case.0x438601.23
sub eax, 0x19
jae 0x438668
add eax, 0x19
cmp eax, 0x17
ja case.0x438601.23
test eax, eax
jmp dword [eax*4 + 0x438608]
sub eax, 0
je 0x438791
sub eax, 5
je 0x438755
sub eax, 0x1c
jne case.0x438601.23
mov edx, str._handleWrite_:_WSA_not_initialized
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Network_subsystem_has_failed
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Cannot_broadcast
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_Call_cancelled
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Call_in_progress
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Page_fault
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Keep_alive_failed
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_No_buffer_space_is_available
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Not_connected
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Not_a_valid_socket
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Operation_not_supported
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_The_socket_has_been_shut_down
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_Call_would_block
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Too_big_for_message_type_socket
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Host_unreachable
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_Socket_is_not_bound
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_Virtual_circuit_terminated
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_Virtual_circuit_reset
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_Low_level_timeout_failure
mov dword [eax], edx
jmp 0x43886f
mov edx, str._handleWrite_:_write_failed
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
cmp dword [ebp - 0xc], 0
jne 0x4387d9
push 0
push edi
call fcn.004376ab
mov edx, dword [edi + 8]
sub esp, 0xfffffff8
mov dword [edx + 4], 5
mov eax, dword [edi + 8]
mov edx, str._handleWrite_:_peer_has_closed_connection
mov dword [eax], edx
jmp 0x43886f
mov eax, dword [edi + 0xc30]
cmp eax, dword [ebp - 0xc]
jne 0x438847
mov dword [edi + 0xc2c], 0
mov dword [edi + 0xc30], 0
cmp dword [edi + 0xc38], 0x400080
jle 0x438830
push dword [edi + 0xc3c]
call fcn.0041d48f
mov dword [edi + 0xc38], 0x400080
add esp, 4
push dword [edi + 0xc38]
call fcn.0041d4a5
mov dword [edi + 0xc3c], eax
add esp, 4
nop
mov esi, dword [edi + 8]
mov edx, 0x4d9a39
mov dword [esi + 4], 0
mov eax, dword [edi + 8]
mov dword [eax], edx
jmp 0x43886f
mov edx, dword [ebp - 0xc]
add dword [edi + 0xc2c], edx
mov eax, dword [ebp - 0xc]
sub dword [edi + 0xc30], eax
nop
mov eax, dword [edi + 8]
mov dword [eax + 4], 0
mov eax, dword [edi + 8]
mov edx, 0x4d9a39
mov dword [eax], edx
nop
cmp dword [edi + 0xc30], 0xa00000
jge 0x4388ee
mov eax, dword [edi + 0xc94]
cmp dword [eax + 4], 0
je 0x4388ee
mov ebx, dword [edi + 0xc94]
mov ebx, dword [ebx + 0x14]
mov dword [ebp - 0x14], ebx
jmp 0x4388cb
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ebx, dword [ebx + 0xc90]
mov dword [ebp - 0x10], edi
lea esi, [ebx + 8]
push 0
push eax
push ebx
call fcn.0043bcd8
add esp, 0xc
cmp eax, esi
je 0x4388c2
push ebx
call fcn.0043be88
sub esp, 0xfffffffc
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x14], ebx
mov esi, dword [edi + 0xc94]
lea esi, [esi + 8]
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jne 0x438895
mov eax, dword [edi + 0xc94]
push eax
call fcn.0043b3bc
sub esp, 0xfffffffc
nop
cmp dword [ebp + 0xc], 0
je 0x438905
mov eax, dword [edi + 8]
cmp eax, dword [ebp + 0xc]
je 0x438905
mov esi, dword [edi + 8]
mov edi, dword [ebp + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
nop
nop
pop ebx
pop esi
pop edi
leave
ret