Function at 0x450649
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 0x69c
mov eax, 0x4a262a
call fcn.0045cd4f
mov esi, edx
mov dword [ebp - 0x6a0], esi
mov dword [ebp - 0x6a8], ecx
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push 0x4b86e0
call dword [sym.imp.WININET.dll_InternetOpenA]
test eax, eax
je 0x450ba9
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 - 0x6a4], eax
test eax, eax
je 0x450ba9
lea ecx, [ebp - 0x70]
call fcn.004097a0
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x688]
mov dword [ebp - 0x694], ebx
mov dword [ebp - 0x690], 0x200
mov dword [ebp - 0x68c], eax
mov esi, dword [esi + 4]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x69c], esi
call fcn.0041325f
mov byte [ebp - 4], 2
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test esi, esi
je 0x450792
cmp word [esi], bx
je 0x450792
push 0x200
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.0045e560
add esp, 0xc
lea eax, [ebp - 0x270]
push ebx
push ebx
push 0x1ff
push eax
push 0xffffffffffffffff
push esi
push ebx
push 0xfde9
call edi
test eax, eax
jle 0x450749
cmp eax, 0x200
jae 0x450bb1
mov byte [ebp + eax - 0x270], bl
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x270]
push eax
call fcn.00413f2e
jmp 0x450792
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push esi
push ebx
push 0xfde9
call edi
lea esi, [eax + 1]
lea eax, [esi + 1]
push eax
call fcn.0045c5fc
pop ecx
push ebx
push ebx
push esi
mov esi, eax
push esi
push 0xffffffffffffffff
push dword [ebp - 0x69c]
push ebx
push 0xfde9
call edi
mov byte [eax + esi], bl
test eax, eax
jle 0x45078b
push esi
lea ecx, [ebp - 0x28]
call fcn.00413f2e
push esi
call fcn.0045c850
pop ecx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.00415fd9
lea ecx, [ebp - 0x28]
call fcn.004134bc
mov esi, dword [ebp - 0x6a0]
lea ecx, [ebp - 0x28]
mov esi, dword [esi]
mov dword [ebp - 0x698], esi
call fcn.0041325f
mov byte [ebp - 4], 4
test esi, esi
je 0x450875
cmp word [esi], bx
je 0x450875
push 0x200
lea eax, [ebp - 0x270]
push ebx
push eax
call fcn.0045e560
add esp, 0xc
lea eax, [ebp - 0x270]
push ebx
push ebx
push 0x1ff
push eax
push 0xffffffffffffffff
push esi
push ebx
push 0xfde9
call edi
test eax, eax
jle 0x450826
cmp eax, 0x200
jae 0x450bb1
mov byte [ebp + eax - 0x270], bl
lea ecx, [ebp - 0x28]
lea eax, [ebp - 0x270]
push eax
call fcn.00413f2e
jmp 0x450875
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push esi
push ebx
push 0xfde9
call edi
lea esi, [eax + 1]
lea eax, [esi + 1]
push eax
call fcn.0045c5fc
pop ecx
push ebx
push ebx
push esi
mov esi, eax
mov dword [ebp - 0x6a0], eax
push esi
push 0xffffffffffffffff
push dword [ebp - 0x698]
push ebx
push 0xfde9
call edi
mov byte [eax + esi], bl
test eax, eax
jle 0x45086e
push esi
lea ecx, [ebp - 0x28]
call fcn.00413f2e
push esi
call fcn.0045c850
pop ecx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.00415fd9
lea ecx, [ebp - 0x28]
call fcn.004134bc
mov edx, str.recv_p2pcrash.php_software
lea ecx, [ebp - 0x694]
call fcn.00415f57
lea edx, [ebp - 0x40]
mov ecx, eax
call fcn.0041c6a9
mov edx, str.ver
mov ecx, eax
call fcn.00415f57
lea edx, [ebp - 0x58]
mov ecx, eax
call fcn.0041c6a9
lea ecx, [ebp - 0x40]
call fcn.004134bc
xor eax, eax
lea ecx, [ebp - 0x58]
inc eax
mov byte [ebp - 4], al
call fcn.004134bc
mov ecx, dword [ebp - 0x68c]
mov eax, dword [ebp - 0x694]
push ebx
push 0x806cc200
push ebx
push ebx
push ebx
mov byte [ecx + eax], bl
push dword [ebp - 0x68c]
push str.POST
push dword [ebp - 0x6a4]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
mov dword [ebp - 0x6a4], esi
test esi, esi
je 0x450b87
lea ecx, [ebp - 0x28]
call fcn.00408aab
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.004134ff
push 0x2d
push 0x1b
lea ecx, [ebp - 0x28]
call 0x450d05
mov byte [ebp - 4], 6
call fcn.00493adf
movzx eax, ax
push eax
call fcn.00493adf
movzx eax, ax
push eax
call fcn.00493adf
movzx eax, ax
push eax
call fcn.00493adf
movzx eax, ax
push eax
lea eax, [ebp - 0x3c]
push str._04X_04X_04X_04X
push eax
call 0x450bb7
lea eax, [ebp - 0x3c]
push eax
call fcn.0041381a
push eax
call fcn.00408156
add esp, 0x20
lea ecx, [ebp - 0x28]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00420aa9
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x58]
call fcn.00450bd2
mov dword [esp], 0x20000000
lea ecx, [ebp - 0x58]
push 0xffffffffffffffff
call fcn.0041321d
push eax
push esi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
mov ecx, 0x200
mov dword [ebp - 0x27c], ebx
lea eax, [ebp - 0x270]
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x488], ebx
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x480], eax
mov edx, 0x4ba448
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x27c]
call fcn.00415f57
lea edx, [ebp - 0x28]
mov ecx, eax
call fcn.0041c6a9
mov esi, 0x4bc964
mov ecx, eax
mov edx, esi
call fcn.00415f57
mov edx, str.Content_Disposition:_form_data__name_report___filename_crashreport.zip_
mov ecx, eax
call fcn.00415f57
mov edx, esi
mov ecx, eax
call fcn.00415f57
mov edx, str.Content_Type:_application_octet_stream
mov ecx, eax
call fcn.00415f57
mov edx, str._r_n_r_n
mov ecx, eax
call fcn.00415f57
mov edx, str._r_n__
lea ecx, [ebp - 0x488]
call fcn.00415f57
lea edx, [ebp - 0x28]
mov ecx, eax
call fcn.0041c6a9
mov edx, 0x4bd514
mov ecx, eax
call fcn.00415f57
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
push dword [ebp - 0x6a8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x698], eax
cmp eax, 0xffffffff
je 0x450b43
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, dword [ebp - 0x488]
mov edx, eax
add edi, dword [ebp - 0x27c]
add edi, edx
mov dword [ebp - 0x69c], edx
push edi
call fcn.0045c5fc
mov ecx, dword [ebp - 0x27c]
mov esi, eax
mov eax, dword [ebp - 0x274]
push ecx
mov byte [eax + ecx], bl
push dword [ebp - 0x274]
push esi
call fcn.0045da60
add esp, 0x10
lea eax, [ebp - 0x69c]
push ebx
push eax
push dword [ebp - 0x69c]
mov eax, dword [ebp - 0x27c]
add eax, esi
push eax
push dword [ebp - 0x698]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x480]
push ecx
mov byte [eax + ecx], bl
mov eax, dword [ebp - 0x27c]
push dword [ebp - 0x480]
add eax, esi
add eax, dword [ebp - 0x69c]
push eax
call fcn.0045da60
add esp, 0xc
push dword [ebp - 0x698]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push esi
push ebx
push ebx
push dword [ebp - 0x6a4]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
movzx ebx, bl
push 1
pop eax
cmovne ebx, eax
lea eax, [ebp - 0x47c]
cmp dword [ebp - 0x480], eax
je 0x450b5d
push dword [ebp - 0x480]
call fcn.00461d54
pop ecx
lea eax, [ebp - 0x270]
cmp dword [ebp - 0x274], eax
je 0x450b77
push dword [ebp - 0x274]
call fcn.00461d54
pop ecx
lea ecx, [ebp - 0x58]
call fcn.004134bc
lea ecx, [ebp - 0x28]
call fcn.004134bc
lea eax, [ebp - 0x688]
cmp dword [ebp - 0x68c], eax
je 0x450ba1
push dword [ebp - 0x68c]
call fcn.00461d54
pop ecx
lea ecx, [ebp - 0x70]
call fcn.00408cf0
mov al, bl
call fcn.0045ccf9
ret
call fcn.0045c976
int3