Function at 0x402d50
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get file size
Read and send data from client to server
Read file on windows
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe3c
mov eax, dword [0x41c004]
xor eax, ebp
mov dword [ebp - 4], eax
movzx ecx, word [edx]
mov eax, edx
push ebx
push esi
xor esi, esi
mov dword [ebp - 0xe38], edx
push edi
test cx, cx
je 0x402d93
nop dword [eax + eax]
cmp cx, 0x5c
movzx ecx, word [eax + 2]
cmove esi, eax
add eax, 2
test cx, cx
jne 0x402d80
push 0
push 0x80
push 3
push 0
push 1
push closesocket
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x40326c
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xe34], eax
cmp eax, 0xffffffff
je 0x403265
cmp eax, 0x500000
ja 0x403265
push 0
lea ecx, [ebp - 0xe34]
push ecx
push eax
push 0x41d4e0
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x403265
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x40326c
lea edx, [ebp - 0xe28]
call fcn.004028a0
mov ecx, dword [ebp - 0xe24]
mov eax, 2
push dword [ebp - 0xe20]
mov word [ebp - 0xa18], ax
mov dword [ebp - 0xa14], ecx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xa16], ax
lea eax, [ebp - 0xa18]
push 0x10
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x40324b
lea eax, [ebp - 0xc1c]
push eax
push str.POST__S_HTTP_1.1_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x1c
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ea0
mov ebx, dword [sym.imp.WS2_32.dll_send]
lea eax, [ebp - 0x408]
push 0
sub ecx, edx
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
lea eax, [ebp - 0xe1c]
push eax
push str.Host:__S_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x1c
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402f00
push 0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push str.User_Agent:_CrashRpt_Http_Uploader_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402f51
push 0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push str.Connection:_Keep_Alive_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402fa2
push 0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push 0x419e60
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x18
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ff3
push 0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push str.___________________RPT1752096384726458957256254835253
push str.Content_Type:_multipart_form_data__boundary_s_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x1c
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403050
push 0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
mov ecx, dword [ebp - 0xe38]
lea eax, [esi + 2]
test esi, esi
cmovne ecx, eax
lea eax, [ebp - 0xe2c]
push ecx
push str.___________________RPT1752096384726458957256254835253
push str.___s_r_nContent_Disposition:_form_data__name_filename___filename__S__r_nContent_Type:_application_octet_stream_r_n_r_n
push 0
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0xa08]
push 0x400
push eax
call fcn.00402610
push str.___________________RPT1752096384726458957256254835253
push str._r_n___s___r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x608]
push 0x200
push eax
call fcn.00402610
lea ecx, [ebp - 0xa08]
add esp, 0x3c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4030e0
sub ecx, edx
lea edx, [ebp - 0x608]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4030f2
sub edx, esi
lea eax, [edx + ecx]
add eax, dword [ebp - 0xe34]
push eax
push str.Content_Length:__d_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea eax, [ebp - 0xe30]
push eax
lea eax, [ebp - 0x408]
push 0x400
push eax
call fcn.00402610
lea ecx, [ebp - 0x408]
add esp, 0x1c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403137
push 0
sub ecx, edx
lea eax, [ebp - 0x408]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push 0
push 2
push 0x419f78
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
lea ecx, [ebp - 0xa08]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403174
push 0
sub ecx, edx
lea eax, [ebp - 0xa08]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push 0
push dword [ebp - 0xe34]
push 0x41d4e0
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
lea ecx, [ebp - 0x608]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4031b5
push 0
sub ecx, edx
lea eax, [ebp - 0x608]
push ecx
push eax
push edi
call ebx
cmp eax, 0xffffffff
je 0x40324b
push 0
push 0x400
lea eax, [ebp - 0x408]
mov byte [ebp - 0x3ff], 0x30
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x40324b
cmp byte [ebp - 0x3ff], 0x32
jne 0x40322f
cmp byte [ebp - 0x3fe], 0x30
jne 0x40322f
cmp byte [ebp - 0x3fd], 0x30
jne 0x40322f
push edi
mov esi, 1
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004035f4
mov esp, ebp
pop ebp
ret
push edi
xor esi, esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004035f4
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004035f4
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004035f4
mov esp, ebp
pop ebp
ret