Function at 0x403240
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Reference http user-agent string

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41fc80
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1b18
call fcn.00408f00
mov eax, dword [0x42c080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1b28], edx
mov esi, ecx
push 0x38
lea eax, [ebp - 0x1a54]
mov dword [ebp - 0x1a58], 0x3c
push 0
push eax
call fcn.00409b40
lea eax, [ebp - 0x218]
mov dword [ebp - 0x1a44], 0x100
mov dword [ebp - 0x1a48], eax
add esp, 0xc
cmp dword [esi + 0x14], 7
lea eax, [ebp - 0xa18]
mov dword [ebp - 0x1a2c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x1a28], 0x400
jbe 0x4032e1
mov esi, dword [esi]
lea ecx, [ebp - 0x1a58]
push ecx
push 0
push eax
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x403361
push 0x14
xorps xmm0, xmm0
mov dword [ebp - 0x1b10], eax
push str.Failed_to_crack_URL.
lea ecx, [ebp - 0x1b20]
mov dword [ebp - 0x1b0c], eax
movups xmmword [ebp - 0x1b20], xmm0
call fcn.00402760
mov ecx, dword [ebp - 0x1b0c]
cmp ecx, 0xf
jbe 0x4037d2
mov edx, dword [ebp - 0x1b20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403352
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4037f0
push ecx
push edx
call fcn.004082cc
add esp, 8
jmp 0x4037d2
push 0
push 0
push 0
push 0
push str.Mozilla_5.0__Windows_NT_10.0__Win64__x64__AppleWebKit_537.36__KHTML__like_Gecko_
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov edi, eax
test edi, edi
jne 0x4033e5
push 0x1f
xorps xmm0, xmm0
mov dword [ebp - 0x1b10], eax
push str.Failed_to_open_WinHTTP_session.
lea ecx, [ebp - 0x1b20]
mov dword [ebp - 0x1b0c], eax
movups xmmword [ebp - 0x1b20], xmm0
call fcn.00402760
mov ecx, dword [ebp - 0x1b0c]
cmp ecx, 0xf
jbe 0x4037d2
mov edx, dword [ebp - 0x1b20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4033d6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4037f0
push ecx
push edx
call fcn.004082cc
add esp, 8
jmp 0x4037d2
push 0
push dword [ebp - 0x1a40]
push dword [ebp - 0x1a48]
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov ecx, eax
mov dword [ebp - 0x1b24], ecx
test ecx, ecx
jne 0x403474
push 0x1c
xorps xmm0, xmm0
mov dword [ebp - 0x1b10], eax
push str.Failed_to_connect_to_server.
lea ecx, [ebp - 0x1b20]
mov dword [ebp - 0x1b0c], eax
movups xmmword [ebp - 0x1b20], xmm0
call fcn.00402760
mov ecx, dword [ebp - 0x1b0c]
cmp ecx, 0xf
jbe 0x403468
mov edx, dword [ebp - 0x1b20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40345e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4037f0
push ecx
push edx
call fcn.004082cc
add esp, 8
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x4037d2
xor eax, eax
mov esi, 0x1bb
cmp word [ebp - 0x1a40], si
mov edx, 0x800000
cmove eax, edx
push eax
push 0
push 0
push 0
push dword [ebp - 0x1a2c]
push 0x42854c
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov esi, eax
test esi, esi
jne 0x403516
push 0x1c
xorps xmm0, xmm0
mov dword [ebp - 0x1b10], eax
push str.Failed_to_open_HTTP_request.
lea ecx, [ebp - 0x1b20]
mov dword [ebp - 0x1b0c], eax
movups xmmword [ebp - 0x1b20], xmm0
call fcn.00402760
mov ecx, dword [ebp - 0x1b0c]
cmp ecx, 0xf
jbe 0x40350b
mov edx, dword [ebp - 0x1b20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403501
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4037f0
push ecx
push edx
call fcn.004082cc
add esp, 8
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x4037c7
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 0x403758
push 0
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x403758
push 0xb0
lea eax, [ebp - 0x1b08]
push 0
push eax
call fcn.00409b40
mov eax, dword [ebp - 0x1b28]
add esp, 0xc
cmp dword [eax + 0x14], 7
jbe 0x403566
mov eax, dword [eax]
sub esp, 0xc
lea ecx, [ebp - 0x1b08]
push eax
call fcn.00405c00
mov eax, dword [ebp - 0x1b08]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1b08]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1b0c], eax
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x1b08]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x1afc], 6
je 0x403629
push 0x1b
xorps xmm0, xmm0
mov dword [ebp - 0x1b10], 0
push str.Failed_to_open_output_file.
lea ecx, [ebp - 0x1b20]
mov dword [ebp - 0x1b0c], 0
movups xmmword [ebp - 0x1b20], xmm0
call fcn.00402760
mov ecx, dword [ebp - 0x1b0c]
cmp ecx, 0xf
jbe 0x4036c6
mov edx, dword [ebp - 0x1b20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40361a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4037f0
push ecx
push edx
call fcn.004082cc
add esp, 8
jmp 0x4036c6
lea eax, [ebp - 0x1a1c]
mov dword [ebp - 0x1a1c], 0
push eax
push 0x1000
lea eax, [ebp - 0x1a18]
push eax
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x40368e
mov eax, dword [ebp - 0x1a1c]
test eax, eax
je 0x40368e
push 0
push eax
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1b08]
call fcn.00405280
lea eax, [ebp - 0x1a1c]
push eax
push 0x1000
lea eax, [ebp - 0x1a18]
push eax
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x403651
lea ecx, [ebp - 0x1b04]
call fcn.00405b20
test eax, eax
jne 0x4036c6
mov eax, dword [ebp - 0x1b08]
lea ecx, [ebp - 0x1b08]
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.00402620
push esi
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x1b24]
call esi
push edi
call esi
mov eax, dword [ebp - 0x1b08]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1b08]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1b0c], eax
lea ecx, [ebp - 0x1b04]
call fcn.00404f10
mov eax, dword [ebp - 0x1b08]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1b08]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x1b0c], eax
lea eax, [ebp - 0x1aa0]
mov dword [ebp - 4], 1
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00407834
add esp, 4
jmp 0x4037d2
push 0x2b
xorps xmm0, xmm0
mov dword [ebp - 0x1b10], 0
push str.Failed_to_send_request_or_receive_response.
lea ecx, [ebp - 0x1b20]
mov dword [ebp - 0x1b0c], 0
movups xmmword [ebp - 0x1b20], xmm0
call fcn.00402760
mov ecx, dword [ebp - 0x1b0c]
cmp ecx, 0xf
jbe 0x4037be
mov edx, dword [ebp - 0x1b20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4037b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4037f0
push ecx
push edx
call fcn.004082cc
add esp, 8
push esi
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x1b24]
call esi
push edi
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00407f1e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040e289
int3