Function at 0x401ae0
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
push rbp
push rdi
sub rsp, 0xa08
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x9a0], rcx
mov qword [rbp + 0x9a8], rdx
mov qword [rbp + 0x9b0], r8
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
lea rcx, str.A_WinHTTP_Example_Program_1.0
call sym.WinHttpOpen
mov qword [rbp + 0x968], rax
cmp qword [rbp + 0x968], 0
jne 0x401b46
mov eax, 0xffffffff
jmp 0x40205e
lea rdx, [rbp - 0x40]
mov eax, 0
mov ecx, 0x10
mov rdi, rdx
rep stosq qword [rdi], rax
mov byte [rbp + 0x97f], 0
lea rdx, str.https:__
mov rcx, qword [rbp + 0x9a0]
call sym.strstr
mov qword [rbp + 0x960], rax
cmp qword [rbp + 0x960], 0
jne 0x401b9e
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
add qword [rbp + 0x960], 8
mov rax, qword [rbp + 0x960]
mov edx, 0x2f
mov rcx, rax
call sym.strchr
mov qword [rbp + 0x958], rax
cmp qword [rbp + 0x958], 0
jne 0x401be2
mov rax, qword [rbp + 0x960]
mov rcx, rax
call sym.strlen
mov byte [rbp + 0x97f], al
jmp 0x401bfc
mov rdx, qword [rbp + 0x958]
mov rax, qword [rbp + 0x960]
sub rdx, rax
mov rax, rdx
mov byte [rbp + 0x97f], al
movzx ecx, byte [rbp + 0x97f]
mov rdx, qword [rbp + 0x960]
lea rax, [rbp - 0x40]
mov r8, rcx
mov rcx, rax
call sym.strncpy
lea rdx, [rbp + 0x40]
mov eax, 0
mov ecx, 0x20
mov rdi, rdx
rep stosq qword [rdi], rax
lea rdx, [rbp - 0x40]
mov dword [rsp + 0x28], pe_nt_image_headers64
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, rdx
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call rax
lea rdx, [rbp + 0x40]
mov rax, qword [rbp + 0x968]
mov r9d, 0
mov r8d, 0x1bb
mov rcx, rax
call sym.WinHttpConnect
mov qword [rbp + 0x950], rax
cmp qword [rbp + 0x950], 0
jne 0x401ca7
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
lea rdx, [rbp + 0x140]
mov eax, 0
mov ecx, 0x100
mov rdi, rdx
rep stosq qword [rdi], rax
cmp qword [rbp + 0x958], 0
jne 0x401ce0
lea rax, [rbp + 0x140]
lea rdx, [0x00405436]
mov rcx, rax
call sym.wcscpy
jmp 0x401d17
mov rdx, qword [rbp + 0x958]
mov dword [rsp + 0x28], 0x400
lea rax, [rbp + 0x140]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, rdx
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call rax
lea rdx, [rbp + 0x140]
mov rax, qword [rbp + 0x950]
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rdx
lea rdx, [0x0040543a]
mov rcx, rax
call sym.WinHttpOpenRequest
mov qword [rbp + 0x948], rax
cmp qword [rbp + 0x948], 0
jne 0x401d90
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
mov rax, qword [rbp + 0x948]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
call sym.WinHttpSendRequest
test eax, eax
sete al
test al, al
je 0x401e09
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
mov rax, qword [rbp + 0x948]
mov edx, 0
mov rcx, rax
call sym.WinHttpReceiveResponse
test eax, eax
sete al
test al, al
je 0x401e5d
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
mov qword [rbp + 0x970], 0
mov dword [rbp + 0x944], 0
lea rdx, [rbp + 0x944]
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpQueryDataAvailable
test eax, eax
sete al
test al, al
je 0x401ec8
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
mov eax, dword [rbp + 0x944]
test eax, eax
jne 0x401ed7
jmp 0x402027
mov eax, dword [rbp + 0x944]
mov edx, eax
mov rax, qword [rbp + 0x970]
add rax, rdx
cmp rax, qword [rbp + 0x9b0]
jae 0x401f7d
mov ecx, dword [rbp + 0x944]
mov rdx, qword [rbp + 0x970]
mov rax, qword [rbp + 0x9a8]
add rdx, rax
lea r8, [rbp + 0x944]
mov rax, qword [rbp + 0x948]
mov r9, r8
mov r8d, ecx
mov rcx, rax
call sym.WinHttpReadData
test eax, eax
sete al
test al, al
je 0x401f69
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
mov eax, dword [rbp + 0x944]
mov eax, eax
add qword [rbp + 0x970], rax
jmp 0x401e68
mov rax, qword [rbp + 0x970]
mov rdx, qword [rbp + 0x9b0]
sub rdx, rax
mov rax, rdx
cmp rax, 1
jbe 0x402026
mov rax, qword [rbp + 0x9b0]
mov edx, eax
mov rax, qword [rbp + 0x970]
sub edx, eax
mov r8d, edx
mov rdx, qword [rbp + 0x970]
mov rax, qword [rbp + 0x9a8]
add rdx, rax
lea rcx, [rbp + 0x944]
mov rax, qword [rbp + 0x948]
mov r9, rcx
mov rcx, rax
call sym.WinHttpReadData
test eax, eax
sete al
test al, al
je 0x402017
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov eax, 0xffffffff
jmp 0x40205e
mov eax, dword [rbp + 0x944]
mov eax, eax
add qword [rbp + 0x970], rax
nop
mov rax, qword [rbp + 0x948]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x950]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x968]
mov rcx, rax
call sym.WinHttpCloseHandle
mov rax, qword [rbp + 0x970]
add eax, 1
add rsp, 0xa08
pop rdi
pop rbp
ret