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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x480
mov eax, dword [esp + 0x49c]
mov eax, dword [esp + 0x498]
mov eax, dword [esp + 0x494]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
lea eax, [0x468d52]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
sub esp, 0x14
mov dword [esp + 0x28], eax
lea eax, [esp + 0x44]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x3c
call fcn.00450760
mov dword [esp + 0x44], 0x3c
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [esp + 0x494]
mov dword [esp], eax
call fcn.004591d8
mov ecx, dword [esp + 0x494]
xor edx, edx
lea edx, [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
sub esp, 0x10
cmp eax, 0
jne 0x42e717
mov dword [esp + 0x30], 1
jmp 0x42ea25
cmp dword [esp + 0x28], 0
je 0x42e7e0
lea eax, [esp + 0x80]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x400
call fcn.00450760
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov esi, edi
and esi, 0xfffffffd
mov edx, edi
or edx, 0xfffffffd
mov ebx, edx
and ebx, 0xffffffff
shl ebx, 1
add edx, 0xffffffff
sub edx, ebx
imul edx, esi
mov ebx, edi
and ebx, 2
mov esi, edi
and esi, 2
xor edi, 2
or esi, edi
mov edi, ebx
xor edi, 0xffffffff
mov ebp, esi
and ebp, edi
mov eax, esi
or eax, edi
xor eax, 0xffffffff
imul eax, ebp
mov edi, esi
and edi, ebx
or esi, ebx
imul esi, edi
add esi, eax
add esi, edx
lea eax, [esp + 0x80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0044fc60
mov ax, word [esp + 0x5c]
lea ecx, [esp + 0x80]
mov edx, dword [esp + 0x28]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
movzx eax, ax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
sub esp, 0x10
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], 0
je 0x42e83b
mov ecx, dword [esp + 0x50]
mov eax, 0x800000
cmp ecx, 2
je 0x42e7f7
xor eax, eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x24]
lea esi, [0x468e32]
xor edi, edi
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
sub esp, 0x1c
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
je 0x42e88c
jmp 0x42e844
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
sub esp, 0x1c
mov dword [esp + 0x34], eax
jmp 0x42e88c
jmp 0x42e88e
cmp dword [esp + 0x34], 0
setne al
test al, 1
jne 0x42e89c
jmp 0x42e8ba
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
sub esp, 8
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], 0
cmp dword [esp + 0x34], 0
je 0x42e9a6
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
sub esp, 8
xor ecx, ecx
cmp eax, 0
je 0x42e8fc
cmp dword [esp + 0x2c], 0
seta cl
test cl, 1
jne 0x42e906
jmp 0x42e9a6
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x2c]
sub eax, 0xffffffff
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00455a0f
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
setne al
test al, 1
jne 0x42e93d
jmp 0x42e933
mov dword [esp + 0x30], 3
jmp 0x42e995
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
sub esp, 0x10
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
xor eax, 0xffffffff
sub eax, 0xffffffff
sub ecx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x42e9a1
jmp 0x42e99f
jmp 0x42e9a6
jmp 0x42e8d5
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x498]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x49c]
mov dword [ecx], eax
cmp dword [esp + 0x1c], 0
je 0x42e9d7
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub esp, 4
jmp 0x42e9d9
cmp dword [esp + 0x24], 0
setne al
test al, 1
jne 0x42e9e7
jmp 0x42e9fb
jmp 0x42e9e9
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub esp, 4
jmp 0x42e9fb
jmp 0x42e9fd
cmp dword [esp + 0x28], 0
setne al
test al, 1
jne 0x42ea0b
jmp 0x42ea1b
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub esp, 4
mov dword [esp + 0x30], 0
jmp 0x42ea25
add esp, 0x480
pop esi
pop edi
pop ebx
pop ebp
ret