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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x250
mov eax, dword [0x5290f4]
movzx ecx, byte [eax + 0x400]
mov edx, dword [0x5290f4]
mov dword [edx + ecx*4], 0x657b0000
mov eax, dword [0x5290f4]
mov cl, byte [eax + 0x400]
add cl, 1
mov edx, dword [0x5290f4]
mov byte [edx + 0x400], cl
mov eax, dword [ebp + 0xc]
push eax
call fcn.0041c750
add esp, 4
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x74], 0
jg 0x438d45
jl 0x438d2c
cmp dword [ebp - 0x78], 0
jae 0x438d45
mov ecx, dword [ebp + 0xc]
push ecx
push str.cannot_get_size_of__s_n
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x4390fa
lea ecx, [ebp - 0x1c8]
call fcn.004120c0
push 0
push 0
mov edx, dword [ebp + 0xc]
push edx
push 0x4d6774
mov ecx, 0x56b6c8
call fcn.0040bf50
push 0x4d677c
mov eax, dword [ebp + 0xc]
push eax
call fcn.004bf4d0
add esp, 8
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jne 0x438db7
mov ecx, dword [ebp + 0xc]
push ecx
push 0x4d6780
call fcn.0040cc80
add esp, 8
add eax, 9
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x1c8]
call fcn.00412160
mov eax, dword [ebp - 0x240]
jmp 0x4390fa
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x90], 0xa
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x74]
jg 0x438fb2
jl 0x438e01
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x78]
jae 0x438fb2
movzx ecx, byte [0x566fd4]
test ecx, ecx
jne 0x438fb2
mov edx, dword [ebp - 0x84]
push edx
push 0x186fa
push 1
push 0x534818
call fcn.0040cb10
add esp, 0x10
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jg 0x438e6a
mov eax, dword [ebp + 0xc]
push eax
push str.cannot_fully_read__s__1__n
call fcn.0040cc80
add esp, 8
add eax, 9
mov dword [ebp - 0x244], eax
lea ecx, [ebp - 0x1c8]
call fcn.00412160
mov eax, dword [ebp - 0x244]
jmp 0x4390fa
mov dword [ebp - 0x238], 0
mov ecx, dword [ebp - 0x238]
cmp ecx, dword [ebp - 0x234]
jge 0x438f40
push 0
mov edx, dword [ebp - 0x234]
sub edx, dword [ebp - 0x238]
push edx
mov eax, dword [ebp - 0x238]
add eax, 0x534818
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.WS2_32.dll_send
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
jg 0x438f11
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
push edx
push 0x4d67ac
call fcn.0040cc80
add esp, 0xc
push 0x4d67d4
call fcn.0040cc80
add esp, 4
mov eax, dword [ebp - 0x84]
push eax
call fcn.004bf349
add esp, 4
mov dword [ebp - 0x248], 9
lea ecx, [ebp - 0x1c8]
call fcn.00412160
mov eax, dword [ebp - 0x248]
jmp 0x4390fa
mov ecx, dword [ebp - 0x238]
add ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x238], ecx
mov edx, dword [ebp - 0x238]
cmp edx, dword [ebp - 0x234]
jge 0x438f3b
push 0xa
call fcn.004026b0
add esp, 4
jmp 0x438e74
cmp dword [ebp + 0x14], 0
je 0x438f5d
mov eax, dword [ebp - 0x234]
push eax
push 0x534818
lea ecx, [ebp - 0x1c8]
call fcn.00412170
mov eax, dword [ebp - 0x234]
cdq
add eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
adc ecx, edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
push 0x4d6800
push 0
push 0x3e8
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.004bec70
push edx
push eax
push 0
push 0x3e8
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x78]
push edx
call fcn.004bec70
push edx
push eax
mov ecx, 0x56b6c8
call fcn.0040c0c0
jmp 0x438de7
mov eax, dword [ebp - 0x84]
push eax
call fcn.004bf349
add esp, 4
cmp dword [ebp + 0x14], 0
je 0x438fe1
push 0x10
lea ecx, [ebp - 0x1c8]
call fcn.00413330
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004bed60
add esp, 0xc
movzx edx, byte [0x566fd4]
test edx, edx
je 0x439019
push str.send_stopped_by_user._n
call fcn.0040cd70
add esp, 4
mov dword [ebp - 0x24c], 9
lea ecx, [ebp - 0x1c8]
call fcn.00412160
mov eax, dword [ebp - 0x24c]
jmp 0x4390fa
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x78]
jne 0x439029
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x74]
je 0x43906d
lea edx, [ebp - 0x68]
push edx
push 1
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.00401b10
add esp, 0x10
push eax
lea edx, [ebp - 0x230]
push edx
push 1
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.00401b10
add esp, 0x10
push eax
mov edx, dword [ebp + 0xc]
push edx
push str.__send_incomplete:__s___s__s__n
call fcn.0040cc80
add esp, 0x10
jmp 0x4390df
cmp dword [0x56b184], 2
jge 0x4390df
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x4390b4
push 0
push 1
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.00401b10
add esp, 0x10
push eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.00438320
add esp, 4
push eax
push 0x4d683c
push 0x56b6c8
call fcn.0040c320
add esp, 0x10
jmp 0x4390df
push 0
push 1
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.00401b10
add esp, 0x10
push eax
mov eax, dword [ebp + 0xc]
push eax
push 0x4d685c
push 0x56b6c8
call fcn.0040c320
add esp, 0x10
mov dword [ebp - 0x250], 0
lea ecx, [ebp - 0x1c8]
call fcn.00412160
mov eax, dword [ebp - 0x250]
mov esp, ebp
pop ebp
ret