Function at 0x4166b0
Capabilities:
Read http header
Receive http response

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a405d
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x4e54fc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], edx
mov ebx, ecx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
call fcn.00406d20
mov ecx, eax
test ecx, ecx
je 0x416ad0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
xor edi, edi
mov dword [ebp - 4], 1
push edi
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], edi
push eax
push edi
push edi
push 0x13
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x416756
call ebx
cmp eax, 0x7a
je 0x416756
call ebx
mov edi, eax
test edi, edi
jle 0x4167c7
movzx edi, di
or edi, 0x80070000
jmp 0x4167c5
push dword [ebp - 0x1c]
call fcn.0048d356
add esp, 4
mov ebx, eax
lea eax, [ebp - 0x1c]
push 0
push eax
push ebx
push 0
push 0x13
push dword [ebp - 0x28]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x416792
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jle 0x4167bc
movzx edi, di
or edi, 0x80070000
jmp 0x4167bc
test ebx, ebx
jne 0x41679a
xor ecx, ecx
jmp 0x4167af
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4167a0
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x14]
call fcn.004056b0
mov esi, dword [ebp - 0x14]
push ebx
call fcn.00483251
add esp, 4
test edi, edi
js 0x416960
mov ecx, 0x4ca1e8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4167fa
test dx, dx
je 0x4167f6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4167fa
add eax, 4
add ecx, 4
test dx, dx
jne 0x4167d4
xor eax, eax
jmp 0x4167ff
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416960
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x20]
push eax
push edi
mov dword [ebp - 0x20], 0
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x416953
mov eax, dword [ebp - 0x20]
inc eax
push eax
call fcn.0047df9a
mov ecx, dword [ebp - 0x20]
mov ebx, eax
inc ecx
mov dword [ebp - 0x2c], ebx
push ecx
push 0
push ebx
call fcn.0047f8f0
add esp, 0x10
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x20]
push ebx
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x416866
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0x30], edi
jmp 0x41693b
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416870
mov eax, dword [ebp - 0x24]
sub ecx, edx
mov edx, ebx
mov eax, dword [eax]
sub edx, eax
mov dword [ebp - 0x1c], edx
mov edi, dword [eax - 0xc]
mov dword [ebp - 0x34], edi
test ecx, ecx
js 0x416ada
push ecx
push ebx
call fcn.0048c905
mov ebx, eax
mov ecx, SysReAllocString
sub ecx, ebx
add esp, 8
cmp ecx, edi
jl 0x416ada
add edi, ebx
js 0x416ada
mov edx, dword [ebp - 0x24]
mov ecx, 1
mov eax, dword [edx]
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edi
or ecx, eax
jge 0x4168d7
push edi
mov ecx, edx
call fcn.00419970
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
add ecx, eax
cmp dword [ebp - 0x1c], edx
cmova ecx, dword [ebp - 0x2c]
add eax, edx
test ebx, ebx
je 0x41691e
test eax, eax
je 0x41690e
push ebx
test ecx, ecx
je 0x416903
push ecx
push eax
call fcn.0047eed0
add esp, 0xc
jmp 0x41691e
push 0
push eax
call fcn.0047f8f0
add esp, 0xc
call fcn.004830ad
mov dword [eax], 0x16
call fcn.00482faf
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
cmp edi, dword [eax - 8]
jg 0x416ada
mov ebx, dword [ebp - 0x2c]
mov dword [eax - 0xc], edi
mov eax, dword [ecx]
mov byte [edi + eax], 0
mov edi, dword [ebp - 0x30]
push ebx
call fcn.0047dfa3
add esp, 4
cmp dword [ebp - 0x20], 0
ja 0x416807
jmp 0x416a9a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x416a9a
mov ecx, 0x4ca1f0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41698d
test dx, dx
je 0x416989
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41698d
add eax, 4
add ecx, 4
test dx, dx
jne 0x416967
xor eax, eax
jmp 0x416992
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4169a0
mov edi, 0xe8
jmp 0x416a9a
mov ecx, 0x4ca1e8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4169cd
test dx, dx
je 0x4169c9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4169cd
add eax, 4
add ecx, 4
test dx, dx
jne 0x4169a7
xor eax, eax
jmp 0x4169d2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4169dd
xor edi, edi
jmp 0x416a9a
mov ecx, 0x4caac8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x416a0a
test dx, dx
je 0x416a06
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x416a0a
add eax, 4
add ecx, 4
test dx, dx
jne 0x4169e4
xor eax, eax
jmp 0x416a0f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416a1b
lea edi, [eax + 5]
jmp 0x416a9a
mov ecx, 0x4ca1f0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x416a48
test dx, dx
je 0x416a44
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x416a48
add eax, 4
add ecx, 4
test dx, dx
jne 0x416a22
xor eax, eax
jmp 0x416a4d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x416a58
mov edi, 0x5b4
jmp 0x416a9a
mov ecx, 0x4caad0
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x416a86
test dx, dx
je 0x416a82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x416a86
add eax, 4
add ecx, 4
test dx, dx
jne 0x416a60
xor eax, eax
jmp 0x416a8b
sbb eax, eax
or eax, 1
test eax, eax
mov edi, 0x1f
mov ecx, 0xb
cmove edi, ecx
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x416ab2
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047df69
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00406ac0
push 0x80070057
call fcn.00406ac0
int3