Function at 0x40e140
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, 0xe4c
mov eax, dword [0x414004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0xe34], 0xffffffff
mov dword [ebp - 0xe4c], 0xffffffff
lea eax, [ebp - 0x20c]
push eax
push 0x5c
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0040d530
add esp, 0xc
mov dword [ebp - 0xe38], eax
cmp dword [ebp - 0xe38], 0
jne 0x40e197
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x20c], edx
jmp 0x40e1a6
mov eax, dword [ebp - 0x20c]
add eax, 2
mov dword [ebp - 0x20c], eax
push 0
push 0x80
push 3
push 0
push 1
push closesocket
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xe34], eax
cmp dword [ebp - 0xe34], 0xffffffff
jne 0x40e1d6
jmp 0x40e795
push 0
mov edx, dword [ebp - 0xe34]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xe30], eax
cmp dword [ebp - 0xe30], 0xffffffff
je 0x40e200
cmp dword [ebp - 0xe30], 0x500000
jbe 0x40e205
jmp 0x40e795
push 0
lea eax, [ebp - 0xe30]
push eax
mov ecx, dword [ebp - 0xe30]
push ecx
push 0x417520
mov edx, dword [ebp - 0xe34]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0xe38], eax
cmp dword [ebp - 0xe38], 0
jne 0x40e23b
jmp 0x40e795
mov eax, dword [ebp - 0xe34]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0xe34], 0xffffffff
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0xe4c], eax
cmp dword [ebp - 0xe4c], 0xffffffff
jne 0x40e272
jmp 0x40e795
lea ecx, [ebp - 0xa20]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0040dbc0
add esp, 8
mov eax, 2
mov word [ebp - 0xe48], ax
mov ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0xe44], ecx
movzx edx, word [ebp - 0xa18]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xe46], ax
push 0x10
lea eax, [ebp - 0xe48]
push eax
mov ecx, dword [ebp - 0xe4c]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e2dc
jmp 0x40e795
lea edx, [ebp - 0x814]
push edx
push str.POST__S_HTTP_1.1_r_n
push 0
lea eax, [ebp - 0xe2c]
push eax
lea ecx, [ebp - 0xa28]
push ecx
push 0x400
lea edx, [ebp - 0xe28]
push edx
call fcn.004012a0
add esp, 0x1c
push 0
lea eax, [ebp - 0xe28]
push eax
call fcn.00401690
add esp, 4
push eax
lea ecx, [ebp - 0xe28]
push ecx
mov edx, dword [ebp - 0xe4c]
push edx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e346
jmp 0x40e795
lea eax, [ebp - 0xa14]
push eax
push str.Host:__S_r_n
push 0
lea ecx, [ebp - 0xe2c]
push ecx
lea edx, [ebp - 0xa28]
push edx
push 0x400
lea eax, [ebp - 0xe28]
push eax
call fcn.004012a0
add esp, 0x1c
push 0
lea ecx, [ebp - 0xe28]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0xe28]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e3b0
jmp 0x40e795
push str.User_Agent:_CrashRpt_Http_Uploader_r_n
push 0
lea ecx, [ebp - 0xe2c]
push ecx
lea edx, [ebp - 0xa28]
push edx
push 0x400
lea eax, [ebp - 0xe28]
push eax
call fcn.004012a0
add esp, 0x18
push 0
lea ecx, [ebp - 0xe28]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0xe28]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e413
jmp 0x40e795
push str.Connection:_Keep_Alive_r_n
push 0
lea ecx, [ebp - 0xe2c]
push ecx
lea edx, [ebp - 0xa28]
push edx
push 0x400
lea eax, [ebp - 0xe28]
push eax
call fcn.004012a0
add esp, 0x18
push 0
lea ecx, [ebp - 0xe28]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0xe28]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e476
jmp 0x40e795
push str.Accept:___r_n
push 0
lea ecx, [ebp - 0xe2c]
push ecx
lea edx, [ebp - 0xa28]
push edx
push 0x400
lea eax, [ebp - 0xe28]
push eax
call fcn.004012a0
add esp, 0x18
push 0
lea ecx, [ebp - 0xe28]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0xe28]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e4d9
jmp 0x40e795
push 0x415270
push str.Content_Type:_multipart_form_data__boundary_s_r_n
push 0
lea ecx, [ebp - 0xe2c]
push ecx
lea edx, [ebp - 0xa28]
push edx
push 0x400
lea eax, [ebp - 0xe28]
push eax
call fcn.004012a0
add esp, 0x1c
push 0
lea ecx, [ebp - 0xe28]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0xe28]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e541
jmp 0x40e795
mov ecx, dword [ebp - 0x20c]
push ecx
push 0x4152dc
push str.___s_r_nContent_Disposition:_form_data__name_filename___filename__S__r_nContent_Type:_application_octet_stream_r_n_r_n
push 0
lea edx, [ebp - 0xe2c]
push edx
lea eax, [ebp - 0xa28]
push eax
push 0x400
lea ecx, [ebp - 0x610]
push ecx
call fcn.004012a0
add esp, 0x20
push str.___________________RPT1752096384726458957256254835253
push str._r_n___s___r_n
push 0
lea edx, [ebp - 0xe2c]
push edx
lea eax, [ebp - 0xa28]
push eax
push 0x200
lea ecx, [ebp - 0x208]
push ecx
call fcn.004012a0
add esp, 0x1c
lea edx, [ebp - 0x610]
push edx
call fcn.00401690
add esp, 4
mov esi, eax
lea eax, [ebp - 0x208]
push eax
call fcn.00401690
add esp, 4
add esi, dword [ebp - 0xe30]
add eax, esi
push eax
push str.Content_Length:__d_r_n
push 0
lea ecx, [ebp - 0xe2c]
push ecx
lea edx, [ebp - 0xa28]
push edx
push 0x400
lea eax, [ebp - 0xe28]
push eax
call fcn.004012a0
add esp, 0x1c
push 0
lea ecx, [ebp - 0xe28]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0xe28]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e630
jmp 0x40e795
push 0
push 0x4153e8
call fcn.00401690
add esp, 4
push eax
push 0x4153ec
mov ecx, dword [ebp - 0xe4c]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e666
jmp 0x40e795
push 0
lea edx, [ebp - 0x610]
push edx
call fcn.00401690
add esp, 4
push eax
lea eax, [ebp - 0x610]
push eax
mov ecx, dword [ebp - 0xe4c]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e6a0
jmp 0x40e795
push 0
mov edx, dword [ebp - 0xe30]
push edx
push 0x417520
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e6cf
jmp 0x40e795
push 0
lea ecx, [ebp - 0x208]
push ecx
call fcn.00401690
add esp, 4
push eax
lea edx, [ebp - 0x208]
push edx
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e709
jmp 0x40e795
mov byte [ebp - 0xe1f], 0x30
push 0
push 0x400
lea ecx, [ebp - 0xe28]
push ecx
mov edx, dword [ebp - 0xe4c]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x40e73c
jmp 0x40e795
movsx eax, byte [ebp - 0xe1f]
cmp eax, 0x32
jne 0x40e76c
movsx ecx, byte [ebp - 0xe1e]
cmp ecx, 0x30
jne 0x40e76c
movsx edx, byte [ebp - 0xe1d]
cmp edx, 0x30
jne 0x40e76c
mov dword [ebp - 0xa24], 1
jmp 0x40e776
mov dword [ebp - 0xa24], 0
mov eax, dword [ebp - 0xe4c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0xe4c], 0xffffffff
mov eax, dword [ebp - 0xa24]
jmp 0x40e7c3
cmp dword [ebp - 0xe4c], 0xffffffff
je 0x40e7ab
mov ecx, dword [ebp - 0xe4c]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [ebp - 0xe34], 0xffffffff
je 0x40e7c1
mov edx, dword [ebp - 0xe34]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040142b
mov esp, ebp
pop ebp
ret