Function at 0x402100
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
push ebp
lea ebp, [esp - 0x10b8]
mov eax, 0x10b8
call fcn.0041c090
push 0xffffffffffffffff
push 0x43e6cd
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, dword [0x456528]
xor eax, ebp
mov dword [ebp + 0x10b4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
push 0
push 0
push 0
push 0
push str.A_WinHTTP_Example_Program_1.0
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x402328
push 0
push 0x417
push str.38.91.115.182
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x402323
cmp dword [esi + 0x14], 8
jb 0x40218b
mov esi, dword [esi]
push 0
push 0
push 0
push 0
push esi
push 0x44f22c
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov esi, eax
test esi, esi
je 0x40231e
push 0
push 0
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x402303
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x4022fc
push 0xb0
lea eax, [ebp]
push 0
push eax
call fcn.0041e580
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x4021f1
mov edi, dword [edi]
sub esp, 0xc
lea ecx, [ebp]
push edi
call fcn.004049c0
mov eax, dword [ebp]
mov eax, dword [eax + 4]
mov dword [ebp + eax], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 4], eax
lea eax, [ebp + 0xb0]
mov dword [ebp - 4], 0
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpReadData]
push eax
push 0x1000
lea eax, [ebp + 0xb4]
push eax
push esi
call edi
test eax, eax
je 0x402276
nop
mov eax, dword [ebp + 0xb0]
test eax, eax
je 0x402276
push 0
push eax
lea eax, [ebp + 0xb4]
push eax
lea ecx, [ebp]
call fcn.00403db0
lea eax, [ebp + 0xb0]
push eax
push 0x1000
lea eax, [ebp + 0xb4]
push eax
push esi
call edi
test eax, eax
jne 0x402240
lea ecx, [ebp + 4]
call fcn.00404880
test eax, eax
jne 0x4022a5
mov eax, dword [ebp]
lea ecx, [ebp]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401fc0
mov eax, dword [ebp]
mov eax, dword [eax + 4]
mov dword [ebp + eax], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 4], eax
lea ecx, [ebp + 4]
call fcn.00403a50
mov eax, dword [ebp]
mov eax, dword [eax + 4]
mov dword [ebp + eax], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 4], eax
lea eax, [ebp + 0x68]
mov dword [ebp - 4], 1
push eax
mov dword [ebp + 0x68], vtable.std::ios_base.0
call fcn.0041d2bc
jmp 0x402318
mov edx, str.Failed_to_receive_response.
jmp 0x402308
mov edx, str.Failed_to_send_request.
mov ecx, 0x45a2c8
call fcn.004053b0
push eax
call fcn.00405660
add esp, 4
push esi
call ebx
push dword [ebp - 0x10]
call ebx
push dword [ebp - 0x14]
call ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x10b4]
xor ecx, ebp
call fcn.0041ba65
lea esp, [ebp + 0x10b8]
pop ebp
ret