Function at 0x4028fa
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe8
mov edi, edx
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
add ecx, eax
lea edx, [esp + 0xa0]
mov dword [edx], 1
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov word [edx + 0xc], 0
lea esi, [esp + 0x60]
mov ecx, esi
call fcn.004039b2
mov eax, dword [esi + 4]
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
test eax, eax
je 0x4029e5
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
mov esi, dword [ebp + 8]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], esi
mov ecx, esi
xor edx, edx
call fcn.00403d01
mov dword [esp + 0x28], eax
push esi
push edi
mov dword [esp + 0x18], edx
push edx
call fcn.0042c230
add esp, 0xc
lea ebx, [esp + 0xa0]
mov ecx, ebx
mov dword [esp + 0x18], edi
mov edx, edi
push 3
push str.:__src_net.rs
mov edi, esi
push esi
call fcn.0040b8a0
add esp, 0xc
lea esi, [esp + 0x30]
mov ecx, esi
mov edx, ebx
call fcn.004034d9
cmp dword [esi], 0
je 0x402a17
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x402ac1
mov edx, edi
cmp ebx, edi
mov ecx, dword [esp + 0x18]
jae 0x402ad1
cmp byte [ecx + ebx], 0xbf
jle 0x4034a0
mov eax, ebx
jmp 0x402adb
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.00403981
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4439e4
mov dword [ebx], 0x80000000
xor ebx, ebx
mov edi, dword [ebp + 0x14]
jmp 0x403305
lea eax, [esp + 0x48]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0x408259
lea edx, [esp + 0xa0]
mov dword [edx], 0x443944
xor eax, eax
inc eax
mov dword [edx + 4], eax
mov dword [edx + 0x10], 0
mov dword [edx + 8], esi
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x3c]
call fcn.00407db0
cmp dword [esp + 0x28], 0
je 0x402a69
push dword [esp + 0x10]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
lea esi, [esp + 0xa0]
mov ecx, esi
mov dword [esp + 0x10], edx
push 3
push str.:__src_net.rs
mov dword [esp + 0x14], eax
push eax
call fcn.0040b8a0
add esp, 0xc
lea edi, [esp + 0x30]
mov ecx, edi
mov edx, esi
call fcn.004034d9
mov ebx, dword [edi]
test ebx, ebx
je 0x402ab1
mov ebx, dword [esp + 0x34]
mov ecx, str.httpshttps:__
mov eax, 5
mov edx, dword [esp + 0xc]
jmp 0x402adb
mov ebx, 3
mov dword [esp], 0
mov edx, edi
jmp 0x402ae7
jne 0x4034a0
mov ebx, edx
mov eax, edx
add ebx, 3
mov dword [esp + 0x18], ecx
mov dword [esp], eax
je 0x402b11
mov esi, edx
mov eax, edx
sub eax, ebx
jbe 0x402b0b
mov ecx, dword [esp + 0x10]
cmp byte [ecx + ebx], 0xbf
jg 0x402b0d
mov ecx, dword [esp + 0x10]
mov edx, esi
push 0x44394c
push esi
push ebx
call fcn.00441960
jne 0x402af9
mov edx, eax
jmp 0x402b13
xor ebx, ebx
add ebx, dword [esp + 0x10]
mov ecx, ebx
push 0x3a
mov esi, edx
call fcn.00403637
add esp, 4
test eax, eax
je 0x402b85
mov edi, edx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov ecx, ebx
mov dword [esp + 0xc], esi
mov edx, esi
push 0x2f
call fcn.00403637
add esp, 4
test eax, eax
je 0x402bd5
mov esi, edx
test edi, edi
mov eax, dword [esp + 0xc]
je 0x402c4f
cmp edi, eax
jae 0x402c49
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp byte [edx + ecx], 0xbf
jg 0x402c4f
mov ecx, dword [esp + 8]
mov edx, eax
push 0x443970
jmp 0x4034c0
mov eax, dword [esp]
cmp eax, 5
jbe 0x402c17
mov edi, ebx
lea ebx, [esp + 0xa0]
mov ecx, ebx
mov edx, dword [esp + 0x18]
push 5
push str.httpshttps:__
push eax
call fcn.0040b8a0
add esp, 0xc
lea ecx, [esp + 0x30]
mov edx, ebx
mov ebx, edi
call fcn.004034d9
lea eax, [esp + 0x30]
cmp dword [eax], 0
mov edx, esi
jne 0x402d69
mov ax, 0x50
jmp 0x402d6d
test edi, edi
mov ecx, dword [esp]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov dword [esp], ecx
je 0x402bfd
cmp edi, eax
jae 0x402d3d
mov edx, dword [esp + 4]
cmp byte [ebx + edx], 0xbf
jle 0x4034b7
inc edi
mov edx, eax
sub edx, edi
jbe 0x402cfb
cmp byte [ebx + edi], 0xbf
jg 0x402d03
jmp 0x4034a8
mov ax, 0x50
mov dword [esp + 0xc], eax
jne 0x402d39
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
bswap ecx
cmp ecx, 0x68747470
jne 0x402d55
movzx ecx, byte [eax + 4]
mov eax, 0x73
sub eax, ecx
jmp 0x402d63
jne 0x402b75
mov ecx, eax
test esi, esi
je 0x402c79
mov ecx, eax
sub ecx, esi
jbe 0x402c77
mov edx, dword [esp + 8]
cmp byte [edx + esi], 0xbf
jg 0x402c79
mov ecx, dword [esp + 8]
mov edx, eax
push 0x443980
push eax
push esi
call fcn.00441960
jne 0x402c65
inc edi
mov edx, esi
sub edx, edi
jb 0x402cb7
test edi, edi
je 0x402c96
cmp edi, eax
jae 0x402c94
mov ebx, dword [esp + 8]
cmp byte [ebx + edi], 0xc0
jge 0x402c96
jmp 0x402cb7
jne 0x402cb7
mov ebx, eax
mov eax, dword [esp + 8]
add eax, esi
mov dword [esp + 0x14], eax
test esi, esi
je 0x402ccb
mov eax, ebx
cmp ebx, esi
jbe 0x402cc9
mov eax, dword [esp + 0x14]
cmp byte [eax], 0xbf
mov eax, ebx
jg 0x402ccb
mov ecx, dword [esp + 8]
mov edx, eax
push 0x443990
push esi
push edi
call fcn.00441960
jne 0x402cb7
mov ebx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov ecx, ebx
add ecx, edi
call fcn.0040c240
mov ecx, eax
shr ecx, 0x10
test al, 1
mov eax, 0x50
cmove eax, ecx
mov dword [esp + 0xc], eax
mov esi, dword [esp]
mov edi, dword [esp + 4]
jmp 0x402dd4
jne 0x4034a8
mov edi, eax
mov esi, dword [esp + 4]
mov ecx, ebx
add ecx, edi
call fcn.0040c240
mov ecx, eax
shr ecx, 0x10
test al, 1
mov eax, 0x50
cmove eax, ecx
mov dword [esp + 0xc], eax
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0x44396c
mov edi, esi
jmp 0x402dd1
mov edx, esi
jmp 0x402d71
jne 0x4034b7
mov edi, eax
inc edi
jne 0x40336b
xor edx, edx
dec edx
xor edi, edi
mov esi, eax
jmp 0x402d07
xor eax, eax
cmp ecx, 0x68747471
adc eax, 0xffffffff
or eax, 1
test eax, eax
mov edx, esi
jne 0x402d71
mov ax, 0x1bb
mov dword [esp + 0xc], eax
mov ecx, ebx
push 0x2f
mov edi, edx
call fcn.00403637
add esp, 4
test eax, eax
je 0x402db6
mov ecx, edx
test edx, edx
je 0x402dc7
mov edx, esi
mov eax, esi
sub eax, ecx
jbe 0x403349
mov edi, eax
mov eax, ecx
cmp byte [ebx + ecx], 0xbf
mov esi, dword [esp]
jle 0x4034cb
mov ecx, ebx
add ecx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], edi
mov edi, eax
jmp 0x402dd4
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0x44396c
jmp 0x402dd1
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x24], esi
mov esi, dword [esp]
mov dword [esp], esi
mov ecx, esi
xor edx, edx
call fcn.00403d01
mov dword [esp + 8], eax
mov dword [esp + 0x5c], edx
push esi
push dword [esp + 0x1c]
push edx
call fcn.0042c230
add esp, 0xc
mov ecx, edi
xor edx, edx
call fcn.00403d01
mov dword [esp + 0x18], eax
mov eax, edi
mov dword [esp + 4], edi
mov edi, edx
push eax
push ebx
push edx
call fcn.0042c230
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov ecx, ebx
xor edx, edx
call fcn.00403d01
mov dword [esp + 0x58], eax
mov esi, edx
push ebx
push dword [esp + 0x18]
push edx
call fcn.0042c230
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edi
mov ecx, dword [esp + 4]
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0xc]
mov word [esp + 0x9c], ax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], ebx
cmp dword [esp + 0x28], 0
mov esi, ecx
mov ebx, eax
je 0x402eb0
push dword [esp + 0x10]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
add eax, esi
lea edx, [esp + 0xa0]
mov dword [edx], 1
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov word [edx + 0xc], 0
lea esi, [esp + 0x6c]
mov ecx, esi
call fcn.004039b2
movzx eax, bx
push 0
push eax
push dword [esi + 4]
mov esi, dword [esp + 0x2c]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
test eax, eax
je 0x402f75
mov dword [esp + 0x10], eax
xor edi, edi
inc edi
lea esi, [esp + 0xa0]
mov dword [esi], edi
mov eax, 0x4439c0
mov dword [esi + 4], eax
lea eax, [0x4439c3]
mov dword [esi + 8], eax
xor ebx, ebx
mov word [esi + 0xc], bx
lea ecx, [esp + 0x48]
mov edx, esi
call fcn.004039b2
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
add ecx, eax
mov dword [esi], edi
mov dword [esi + 4], eax
mov dword [esi + 8], ecx
mov word [esi + 0xc], bx
lea ecx, [esp + 0x3c]
lea edx, [esp + 0xa0]
call fcn.004039b2
cmp dword [esp + 0x80], 5
jne 0x402fb2
mov eax, dword [esp + 0x7c]
mov edx, dword [eax]
bswap edx
cmp edx, 0x68747470
jne 0x402fc8
movzx ecx, byte [eax + 4]
add ecx, 0xffffff8d
jmp 0x402fd5
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.00403981
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x4439e4
mov dword [ecx], 0x80000000
xor ebx, ebx
mov edi, dword [ebp + 0x14]
jmp 0x4032e3
mov edx, dword [esp + 0x4c]
mov eax, 0x80
mov esi, dword [esp + 0x40]
mov edi, dword [ebp + 0x14]
mov ebx, dword [esp + 0x1c]
jmp 0x402ff3
xor ecx, ecx
cmp edx, 0x68747470
sbb ecx, ecx
or ecx, 1
mov edi, dword [ebp + 0x14]
mov ebx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
sete al
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x40]
shl eax, 0x17
or eax, 0x80
xor ecx, ecx
push eax
push ecx
push ecx
push ecx
mov dword [esp + 0x38], esi
push esi
mov dword [esp + 0x2c], edx
push edx
mov esi, dword [esp + 0x28]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
test eax, eax
je 0x40304f
mov ecx, eax
mov esi, dword [edi]
cmp esi, 0x80000000
sete al
mov dword [esp + 4], eax
mov dword [esp + 0x14], esi
mov dword [esp], ecx
jne 0x40308e
sub esp, 0x1c
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], ecx
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
jmp 0x40311f
mov eax, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push esi
mov esi, eax
call eax
push dword [esp + 0x20]
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.00403981
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4439e4
mov dword [ebx], 0x80000000
mov bl, 1
jmp 0x4032ae
mov eax, dword [edi + 4]
mov ebx, ecx
mov ecx, dword [edi + 8]
add ecx, eax
lea edx, [esp + 0xa0]
mov dword [edx], 1
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov word [edx + 0xc], 0
lea edi, [esp + 0x30]
mov ecx, edi
call fcn.004039b2
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
sub esp, 0x1c
xorps xmm0, xmm0
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov dword [esp + 0xc], eax
cmp dword [edi], 0
mov edi, dword [ebp + 0x14]
je 0x403102
push dword [esp + 8]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [edi]
test esi, esi
je 0x403117
push dword [edi + 4]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x40325f
push 0
mov esi, dword [esp + 4]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x40326c
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 1
mov dword [esp + 0xa8], eax
lea ecx, [esp + 0x2c]
mov dword [ecx], eax
push ecx
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x4031ff
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x403376
mov ecx, edi
xor edx, edx
inc edx
call fcn.00403d01
mov esi, eax
mov ebx, edx
mov dword [esp + 0x54], 0
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x30]
push edx
push dword [esp + 0xc]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x403436
mov eax, dword [esp + 0x54]
cmp edi, eax
jb 0x403492
lea ecx, [esp + 0xa0]
mov edx, ebx
push eax
call fcn.0040826f
add esp, 4
test esi, esi
je 0x4031dc
push ebx
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x2c], 0
lea eax, [esp + 0x2c]
push eax
push dword [esp + 4]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
mov ebx, dword [esp + 0x1c]
jne 0x40316d
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
call esi
push dword [esp + 0x10]
call esi
push dword [esp + 0x20]
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x30]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.00403981
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4439e4
mov dword [ebx], 0x80000000
cmp dword [esp + 0xa0], 0
mov edi, dword [ebp + 0x14]
je 0x4032aa
push dword [esp + 0xa4]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x4032aa
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
call esi
jmp 0x403276
mov eax, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push esi
mov esi, eax
call eax
push dword [esp + 0x10]
call esi
push dword [esp + 0x20]
call esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0xa0]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.00403981
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0x4439e4
mov dword [ebx], 0x80000000
mov ebx, dword [esp + 4]
cmp dword [esp + 0x3c], 0
je 0x4032c7
push dword [esp + 0x40]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x48], 0
je 0x4032e0
push dword [esp + 0x4c]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor bl, 1
cmp dword [esp + 0x6c], 0
je 0x4032fc
push dword [esp + 0x70]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x78]
call fcn.004036d5
cmp dword [esp + 0x60], 0
je 0x40331e
push dword [esp + 0x64]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [edi]
cmp eax, 0x80000000
sete cl
or bl, cl
jne 0x403341
test eax, eax
je 0x403341
push dword [edi + 4]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, ecx
mov esi, dword [esp]
jne 0x4034cb
mov eax, ebx
add eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 0
mov edi, edx
jmp 0x402dd4
mov edx, eax
mov dword [esp + 4], eax
jmp 0x402bfe
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
call esi
push dword [esp + 0x10]
call esi
push dword [esp + 0x20]
call esi
mov eax, dword [esp + 0xa8]
mov dword [ebx + 8], eax
movsd xmm0, qword [esp + 0xa0]
movsd qword [ebx], xmm0
cmp dword [esp + 0x3c], 0
je 0x4033bd
push dword [esp + 0x28]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x48], 0
mov edi, dword [ebp + 0x14]
mov esi, dword [esp + 0x14]
je 0x4033dd
push dword [esp + 0x18]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x6c], 0
je 0x4033f6
push dword [esp + 0x70]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x78]
call fcn.004036d5
cmp dword [esp + 0x60], 0
je 0x403418
push dword [esp + 0x64]
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp esi, 0x80000000
jne 0x403341
mov eax, dword [edi]
cmp eax, 0x80000000
jne 0x40332c
jmp 0x403341
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [esp]
call edi
push dword [esp + 0x10]
call edi
push dword [esp + 0x20]
call edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x30]
mov byte [ecx], 0
mov dword [ecx + 4], eax
call fcn.00403981
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x4439e4
mov dword [ecx], 0x80000000
test esi, esi
je 0x40323b
push ebx
push 0
push dword [0x456a58]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x40323b
mov ecx, eax
mov edx, edi
push 0x4439c4
call fcn.00441590
push 0x443924
push ebx
jmp 0x4034c4
mov ecx, ebx
mov edx, eax
push 0x4439b0
push eax
jmp 0x402cc3
mov ecx, ebx
mov edx, eax
push 0x4439a0
push dword [esp + 8]
push 0
call fcn.00441960
mov ecx, ebx
push 0x44395c
push edx
push eax
call fcn.00441960