Function at 0x40f070
Capabilities:
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41769b
mov eax, dword fs:[0]
push eax
sub esp, 0x434
mov eax, dword [0x4241a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [edi + 8]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x438], 0
test ecx, ecx
je 0x40f408
cmp ecx, 0xffffffff
je 0x40f408
cmp dword [edi + 0x74], 2
mov eax, 0x4400040
push 0
mov esi, 0x4c00040
cmove eax, esi
push eax
push 0x424108
push edx
push str.HTTP_1.0
push ebx
push str.POST
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [edi + 0xc], eax
test eax, eax
je 0x40f3fc
cmp eax, 0xffffffff
je 0x40f3fc
push 0x80000000
push 0xd
push str.Accept:___r_n
push eax
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
test eax, eax
je 0x40f414
mov edx, dword [str.Content_Type:_multipart_form_data__boundary__MULTI_PARTS_FORM_DATA_BOUNDARY_r_n]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f130
push 0x10000000
sub ecx, esi
push ecx
push edx
push dword [edi + 0xc]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
test eax, eax
je 0x40f414
cmp dword [edi + 0x84], 0
jbe 0x40f293
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x420], 0xf
mov byte [ebp - 0x434], 0
mov eax, dword [edi + 0x74]
mov dword [ebp - 4], 0
sub eax, 1
je 0x40f196
sub eax, 1
jne 0x40f1a8
push 8
push str.https:__
jmp 0x40f19d
push 7
push str.http:__
lea ecx, [ebp - 0x434]
call fcn.00404670
cmp dword [edi + 0x24], 0x10
lea eax, [edi + 0x10]
jb 0x40f1b3
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x434]
call fcn.0040bee0
mov eax, dword [edi + 0x74]
cmp eax, 1
jne 0x40f1cd
cmp dword [edi + 0x70], 0x50
jmp 0x40f1d9
cmp eax, 2
jne 0x40f1db
cmp dword [edi + 0x70], 0x1bb
je 0x40f21c
push dword [edi + 0x70]
lea eax, [ebp - 0x1c]
mov word [ebp - 0x14], 0
xorps xmm0, xmm0
push 0x419794
push eax
movq qword [ebp - 0x1c], xmm0
call fcn.0040e1f0
lea ecx, [ebp - 0x1c]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f203
sub ecx, edx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea ecx, [ebp - 0x434]
call fcn.00407310
push ebx
lea ecx, [ebp - 0x434]
call fcn.0040bee0
mov eax, dword [edi + 0x80]
mov esi, dword [eax]
cmp esi, eax
je 0x40f281
mov ebx, dword [sym.imp.WININET.dll_InternetSetCookieA]
nop word [eax + eax]
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x2c], 0x10
lea edx, [ecx + 0x18]
jb 0x40f24e
mov edx, dword [edx]
cmp dword [ecx + 0x14], 0x10
jb 0x40f256
mov ecx, dword [ecx]
cmp dword [ebp - 0x420], 0x10
lea eax, [ebp - 0x434]
push edx
cmovae eax, dword [ebp - 0x434]
push ecx
push eax
call ebx
test eax, eax
je 0x40f34f
mov esi, dword [esi]
cmp esi, dword [edi + 0x80]
jne 0x40f240
lea ecx, [ebp - 0x434]
mov dword [ebp - 4], 0xffffffff
call fcn.004022d0
push str.__MULTI_PARTS_FORM_DATA_BOUNDARY
lea eax, [ebp - 0x438]
mov ecx, edi
push eax
call fcn.0040e290
push 0x400
mov esi, eax
lea eax, [ebp - 0x41c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push esi
lea eax, [ebp - 0x41c]
push str.Content_Length:__d_r_n
push eax
call fcn.0040e220
lea ecx, [ebp - 0x41c]
add esp, 0x18
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f2e0
push 0x10000000
sub ecx, edx
lea eax, [ebp - 0x41c]
push ecx
push eax
push dword [edi + 0xc]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
test eax, eax
je 0x40f414
push 0
push 8
push 0
push 0x424870
mov dword [0x424870], 0x28
mov dword [0x424874], 0
push dword [edi + 0xc]
call dword [sym.imp.WININET.dll_HttpSendRequestExA]
test eax, eax
jne 0x40f35e
push dword [ebp - 0x438]
mov ecx, edi
call fcn.0040e960
mov dword [ebp - 0x438], str.request_failed
jmp 0x40f41e
mov dword [ebp - 0x438], str.add_cookie_failed...
jmp 0x40f41e
lea eax, [ebp - 0x43c]
mov dword [ebp - 0x43c], 0
push eax
push esi
mov esi, dword [ebp - 0x438]
push esi
push dword [edi + 0xc]
call dword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x40f39b
push esi
mov ecx, edi
call fcn.0040e960
mov dword [ebp - 0x438], str.request_failed
jmp 0x40f41e
push 0
push 8
push 0
push dword [edi + 0xc]
call dword [sym.imp.WININET.dll_HttpEndRequestW]
push esi
test eax, eax
jne 0x40f3cd
mov ecx, edi
call fcn.0040e960
mov dword [ebp - 0x440], str.request_failed
lea eax, [ebp - 0x440]
push 0x421cb8
jmp 0x40f429
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040fd3f
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x438], str.request_failed...
jmp 0x40f41e
mov dword [ebp - 0x438], str.handle_not_opened...
jmp 0x40f41e
mov dword [ebp - 0x438], str.additional_header_failed...
push 0x421cb8
lea eax, [ebp - 0x438]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
int3