Function at 0x40e7ef
Capabilities:
Check http status code
Connect to http server
Create http request
Parse url
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
sub esp, 0x52c
mov eax, dword [0x439740]
xor eax, esp
mov dword [esp + 0x524], eax
mov eax, dword [esp + 0x530]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x53c]
push ebp
push esi
mov dword [esp + 0x20], eax
mov esi, ecx
mov eax, dword [esp + 0x548]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
push edi
test eax, eax
je 0x40e835
and dword [eax], 0
mov edi, dword [edx]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
jmp 0x40e890
mov ebx, dword [eax + 0x20]
add eax, 0x10
test ebx, ebx
je 0x40e934
xor ecx, ecx
test ebx, ebx
je 0x40e883
cmp dword [eax + 0x14], 8
jb 0x40e85d
mov edx, dword [eax]
jmp 0x40e85f
mov edx, eax
movzx edx, word [edx + ecx*2]
cmp edx, 0x20
jb 0x40e934
cmp edx, 0x22
je 0x40e934
cmp edx, 0x7f
ja 0x40e934
inc ecx
cmp ecx, ebx
jb 0x40e853
lea ecx, [esp + 0x14]
call fcn.00409bc0
mov eax, dword [esp + 0x14]
cmp eax, edi
jne 0x40e83f
push 0x3c
pop edi
push edi
lea eax, [esp + 0x30]
push 0
push eax
call fcn.004159b0
lea eax, [esp + 0xc4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], eax
mov ecx, 0x100
lea eax, [esp + 0x13c]
mov dword [esp + 0x40], 0x10
mov dword [esp + 0x48], eax
add esp, 0xc
cmp dword [esi + 0x14], 8
lea eax, [esp + 0x330]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x5c], ecx
jb 0x40e8ec
mov esi, dword [esi]
lea ecx, [esp + 0x2c]
push ecx
push 0
push eax
push esi
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x40e934
push 4
xor bl, bl
lea eax, [esp + 0xbc]
mov ecx, 0x4366a0
pop esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e93b
test dx, dx
je 0x40e930
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e93b
add eax, esi
add ecx, esi
test dx, dx
jne 0x40e910
xor eax, eax
jmp 0x40e940
xor al, al
jmp 0x40eb8e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e948
mov bl, 1
jmp 0x40e981
mov ecx, str.http
lea eax, [esp + 0xb8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e978
test dx, dx
je 0x40e974
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e978
add eax, esi
add ecx, esi
test dx, dx
jne 0x40e954
xor eax, eax
jmp 0x40e97d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40e934
xor eax, eax
push eax
push eax
push eax
push eax
push str.Breakpad_1.0__Windows_
call dword [sym.imp.WININET.dll_InternetOpenW]
mov edi, eax
test edi, edi
jne 0x40e99f
xor bl, bl
jmp 0x40eb8c
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x148]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ebp, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x40e9cf
xor bl, bl
jmp 0x40eb89
xor edx, edx
movzx ecx, bl
neg ecx
push edx
sbb ecx, ecx
and ecx, 0x800000
or ecx, 0x80000
push ecx
push edx
push edx
push edx
lea ecx, [esp + 0x344]
push ecx
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
test esi, esi
jne 0x40ea0a
xor bl, bl
jmp 0x40eb83
call fcn.00411ce2
mov ebx, eax
call fcn.00411ce2
push eax
push ebx
push str.___________________________
push str._s_08X_08X
lea eax, [esp + 0xe8]
push 0x2c
push eax
call fcn.00412bee
xor eax, eax
lea ecx, [esp + 0xb0]
add esp, 0x18
mov word [esp + 0x12e], ax
lea eax, [esp + 0xd8]
push eax
call fcn.00407768
push str.Content_Type:_multipart_form_data__boundary
lea ecx, [esp + 0x84]
call fcn.00407768
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [esp + 0x9c]
push ebx
push eax
lea ecx, [esp + 0x8c]
call fcn.0040ae48
cmp dword [esp + 0x94], 8
mov eax, dword [esp + 0x80]
jae 0x40ea94
lea eax, [esp + 0x80]
push 0x20000000
push 0xffffffffffffffff
push eax
push esi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x68]
mov ecx, dword [esp + 0x20]
push eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x80], 0xf
push eax
mov dword [esp + 0x80], ebx
mov byte [esp + 0x70], bl
call fcn.0040ed1f
pop ecx
pop ecx
test al, al
je 0x40eb53
cmp dword [esp + 0x7c], 0x10
mov eax, dword [esp + 0x68]
jae 0x40eae8
lea eax, [esp + 0x68]
push dword [esp + 0x78]
push eax
push ebx
push ebx
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x40eb53
push ebx
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 8
push eax
lea eax, [esp + 0xb8]
push eax
push 0x13
push esi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x40eb53
push 0xa
lea eax, [esp + 0xb4]
push ebx
push eax
call fcn.00412deb
mov ecx, dword [esp + 0x28]
add esp, 0xc
test ecx, ecx
je 0x40eb3a
mov dword [ecx], eax
cmp eax, 0xc8
sete bl
test bl, bl
je 0x40eb53
mov edx, dword [esp + 0x24]
mov ecx, esi
call fcn.0040eba7
mov bl, al
push 0
push 1
lea ecx, [esp + 0x70]
call fcn.004093dc
push 0
push 1
lea ecx, [esp + 0x88]
call fcn.004097f1
push 0
push 1
lea ecx, [esp + 0xa0]
call fcn.004097f1
push esi
call ebp
push dword [esp + 0x14]
call ebp
push edi
call ebp
mov al, bl
mov ecx, dword [esp + 0x534]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00410465
add esp, 0x52c
ret