Function at 0x42ff20
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Reference http user-agent string
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x480
mov eax, dword [esp + 0x494]
mov eax, dword [esp + 0x490]
mov eax, dword [esp + 0x48c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0
lea eax, [0x468d4e]
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 + 0x2c], eax
lea eax, [esp + 0x44]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x3c
call fcn.00450c00
mov dword [esp + 0x44], 0x3c
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [esp + 0x48c]
mov dword [esp], eax
call fcn.00459678
mov ecx, dword [esp + 0x48c]
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 0x430027
jmp 0x43001a
mov dword [esp + 0x24], 1
jmp 0x430356
jmp 0x430029
cmp dword [esp + 0x2c], 0
setne al
test al, 1
jne 0x43003a
jmp 0x4300f2
lea eax, [esp + 0x80]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x400
call fcn.00450c00
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov esi, edx
xor esi, 0xffffffff
xor esi, 0xffffffff
and esi, 0xffffffff
shl esi, 1
sub esi, 0xffffffff
mov edi, edx
sub edi, esi
mov esi, edi
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
xor esi, 0xffffffff
and esi, 2
mov edi, edx
and edi, 0xfffffffd
imul edi, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
mov esi, edx
and esi, edi
or edx, edi
add esi, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00450100
mov ax, word [esp + 0x5c]
lea ecx, [esp + 0x80]
mov edx, dword [esp + 0x2c]
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 + 0x28], eax
jmp 0x4300f4
cmp dword [esp + 0x28], 0
setne al
test al, 1
jne 0x430102
jmp 0x430156
mov ecx, dword [esp + 0x50]
mov eax, 0x800000
cmp ecx, 2
je 0x430112
xor eax, eax
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x28]
lea esi, [0x468e2e]
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 0x4301a7
jmp 0x43015f
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 0x4301a7
cmp dword [esp + 0x34], 0
je 0x4301cc
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 0x4302e2
mov dword [esp + 0x30], 0
jmp 0x4301e9
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
sub esp, 8
cmp eax, 0
setne cl
xor eax, eax
test cl, 1
jne 0x430210
jmp 0x43021c
jmp 0x430212
cmp dword [esp + 0x30], 0
seta al
jmp 0x43021c
jmp 0x43021e
test al, 1
jne 0x430227
jmp 0x4302e2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
sub eax, 0x43056dfa
add eax, ecx
add eax, 0x43056dfa
add eax, 1
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00455eaf
mov dword [esp + 0x40], eax
cmp dword [esp + 0x40], 0
jne 0x430263
mov dword [esp + 0x24], 3
jmp 0x4302c5
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x30]
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]
mov edx, ecx
add edx, 1
mov esi, ecx
xor esi, 0xffffffff
or esi, eax
add esi, edx
or ecx, eax
add esi, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4302d9
jmp 0x4302cf
sub eax, 3
je 0x4302e2
jmp 0x43036a
jmp 0x4302db
jmp 0x4302dd
jmp 0x4301e7
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x490]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x494]
mov dword [ecx], eax
cmp dword [esp + 0x1c], 0
je 0x430313
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub esp, 4
cmp dword [esp + 0x28], 0
je 0x43032a
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub esp, 4
jmp 0x43032c
cmp dword [esp + 0x2c], 0
setne al
test al, 1
jne 0x43033a
jmp 0x43034e
jmp 0x43033c
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub esp, 4
jmp 0x43034e
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
sub eax, 1
ja 0x43036c
jmp 0x430361
add esp, 0x480
pop esi
pop edi
ret
jmp 0x43036c
jmp 0x43036e
jmp fcn.00430370