Function at 0x4a0963
Capabilities:
Connect to http server
Create http request
Get file size
Read and send data from client to server
Read file on windows
Send data
Send http request

Disassembly:
push 0x6a0
mov eax, 0x4c3814
call fcn.004ac3e5
mov eax, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push 0x4cd1a0
mov dword [ebp - 0x6a4], eax
mov edi, ecx
mov byte [ebp - 0x69d], bl
call dword [sym.imp.WININET.dll_InternetOpenA]
cmp eax, ebx
je 0x4a0d49
push ebx
push ebx
push 3
push ebx
push ebx
push 0x50
push str.p3p.sogou.com
push eax
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x6a8], eax
cmp eax, ebx
je 0x4a0d49
xor eax, eax
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x68], ebx
mov word [ebp - 0x78], ax
mov dword [ebp - 4], ebx
mov esi, 0x200
lea eax, [ebp - 0x690]
mov dword [ebp - 0x69c], ebx
mov dword [ebp - 0x698], esi
mov dword [ebp - 0x694], eax
mov eax, 0xfde9
push eax
mov byte [ebp - 4], 1
push 0xffffffffffffffff
push dword [edi + 4]
lea ecx, [ebp - 0x40]
call fcn.00412e4d
mov dword [ebp - 0x6ac], eax
mov eax, 0xfde9
push eax
mov byte [ebp - 4], 2
push 0xffffffffffffffff
push dword [edi]
lea ecx, [ebp - 0x5c]
call fcn.00412e4d
mov edi, eax
lea eax, [ebp - 0x69c]
push eax
mov eax, str.recv_p2pcrash.php_software
call fcn.00412af6
push eax
mov eax, edi
call fcn.00412a1f
push eax
mov eax, str.ver
call fcn.00412af6
push eax
mov eax, dword [ebp - 0x6ac]
call fcn.00412a1f
add esp, 0x28
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.0040a0a5
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.0040a0a5
mov eax, dword [ebp - 0x694]
mov ecx, dword [ebp - 0x69c]
push ebx
push 0x806cc200
push ebx
push ebx
push ebx
mov byte [eax + ecx], bl
push dword [ebp - 0x694]
push str.POST
push dword [ebp - 0x6a8]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x6ac], eax
cmp eax, ebx
je 0x4a0d23
push 0x2d
push 0x1b
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x40], bl
call fcn.0047c165
mov byte [ebp - 4], 3
call fcn.004aa5ff
mov edi, 0xffff
and eax, edi
push eax
call fcn.004aa5ff
and eax, edi
push eax
call fcn.004aa5ff
and eax, edi
push eax
call fcn.004aa5ff
and eax, edi
push eax
lea eax, [ebp - 0x24]
push str._04X_04X_04X_04X
push eax
call fcn.004a0d55
lea eax, [ebp - 0x24]
push eax
call fcn.004a5ed0
add esp, 0x1c
lea ecx, [ebp - 0x24]
mov ebx, eax
push ecx
lea eax, [ebp - 0x40]
call fcn.0040d7ef
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004a0d6e
pop ecx
pop ecx
cmp dword [ebp - 0x48], 0x10
mov eax, dword [ebp - 0x5c]
jae 0x4a0b32
lea eax, [ebp - 0x5c]
push 0x20000000
push 0xffffffffffffffff
push eax
push dword [ebp - 0x6ac]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
xor ebx, ebx
lea eax, [ebp - 0x278]
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], esi
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x484]
mov dword [ebp - 0x490], ebx
mov dword [ebp - 0x48c], esi
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x284]
push eax
mov eax, 0x4e2b64
mov byte [ebp - 4], 6
call fcn.00412af6
push eax
lea eax, [ebp - 0x40]
call fcn.00412a1f
push eax
mov esi, 0x4de2b8
mov eax, esi
call fcn.00412af6
push eax
mov eax, str.Content_Disposition:_form_data__name_report___filename_crashreport.zip_
call fcn.00412af6
push eax
mov eax, esi
call fcn.00412af6
push eax
mov eax, str.Content_Type:_application_octet_stream
call fcn.00412af6
push eax
mov eax, str._r_n_r_n
call fcn.00412af6
lea eax, [ebp - 0x490]
push eax
mov eax, str._r_n__
call fcn.00412af6
push eax
lea eax, [ebp - 0x40]
call fcn.00412a1f
push eax
mov eax, str.___r_n
call fcn.00412af6
add esp, 0x28
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
push dword [ebp - 0x6a4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x6a8], eax
cmp eax, 0xffffffff
je 0x4a0cd9
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, dword [ebp - 0x490]
add esi, dword [ebp - 0x284]
mov dword [ebp - 0x6a4], eax
add esi, eax
push esi
call fcn.004a481a
mov ecx, dword [ebp - 0x27c]
mov edi, eax
mov eax, dword [ebp - 0x284]
push eax
mov byte [ecx + eax], bl
push dword [ebp - 0x27c]
push edi
call fcn.004a5470
add esp, 0x10
push ebx
lea eax, [ebp - 0x6a4]
push eax
push dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x284]
add eax, edi
push eax
push dword [ebp - 0x6a8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x488]
push eax
mov byte [ecx + eax], bl
mov eax, dword [ebp - 0x284]
push dword [ebp - 0x488]
add eax, edi
add eax, dword [ebp - 0x6a4]
push eax
call fcn.004a5470
add esp, 0xc
push dword [ebp - 0x6a8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
push edi
push ebx
push ebx
push dword [ebp - 0x6ac]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x4a0cd9
mov byte [ebp - 0x69d], 1
lea eax, [ebp - 0x484]
cmp dword [ebp - 0x488], eax
je 0x4a0cf3
push dword [ebp - 0x488]
call fcn.004a5f5b
pop ecx
lea eax, [ebp - 0x278]
cmp dword [ebp - 0x27c], eax
je 0x4a0d0d
push dword [ebp - 0x27c]
call fcn.004a5f5b
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.0040a0a5
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.0040a0a5
lea eax, [ebp - 0x690]
cmp dword [ebp - 0x694], eax
je 0x4a0d3d
push dword [ebp - 0x694]
call fcn.004a5f5b
pop ecx
push 1
xor edi, edi
lea esi, [ebp - 0x78]
call fcn.0040a3ed
mov al, byte [ebp - 0x69d]
call fcn.004ac468
ret