Function at 0x140016940
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Set http header

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xd0
mov rax, qword [0x140096040]
xor rax, rsp
mov qword [rbp + 7], rax
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov qword [rbp - 0x51], rcx
mov qword [rbp - 0x69], rcx
mov qword [rbp - 0x41], rdx
mov qword [rbp - 0x39], r8
mov r12, qword [rbp + 0x77]
mov qword [rbp - 0x31], r12
mov rsi, qword [rbp + 0x7f]
mov qword [rbp - 0x69], rsi
mov qword [rbp - 0x29], rsi
xor edi, edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.A_WinHTTP_Example_Program_1.0
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rbp - 0x71], rax
test rax, rax
je 0x140016d2b
mov rdx, r14
cmp qword [r14 + 0x18], 7
jbe 0x1400169cc
mov rdx, qword [r14]
mov r8d, 0x1bb
xor r9d, r9d
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r13, rax
mov qword [rbp - 0x59], rax
test rax, rax
je 0x140016d21
mov r8, r15
cmp qword [r15 + 0x18], 7
jbe 0x1400169fb
mov r8, qword [r15]
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea rdx, [0x140084308]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rdi, rax
mov qword [rbp - 0x79], rax
test rax, rax
je 0x140016d16
mov r8, qword [r12 + 0x10]
test r8, r8
je 0x140016a58
mov rdx, r12
cmp qword [r12 + 0x18], 7
jbe 0x140016a49
mov rdx, qword [r12]
mov r9d, 0x20000000
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x140016d0d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x140016d0d
xor esi, esi
mov dword [rbp - 0x21], esi
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov ebx, esi
mov qword [rbp - 9], rbx
mov r13d, 0xf
mov qword [rbp - 1], r13
mov byte [rbp - 0x19], bl
nop dword [rax]
nop word [rax + rax]
mov dword [rbp - 0x49], esi
lea rdx, [rbp - 0x49]
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x140016b86
mov ecx, dword [rbp - 0x49]
inc ecx
call fcn.140078f3c
mov rsi, rax
mov r8d, dword [rbp - 0x49]
inc r8d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rbp - 0x21]
mov r8d, dword [rbp - 0x49]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x140016b7c
mov edi, dword [rbp - 0x21]
mov rax, r13
sub rax, rbx
cmp rdi, rax
ja 0x140016b48
lea rax, [rbx + rdi]
mov qword [rbp - 9], rax
lea rax, [rbp - 0x19]
cmp r13, 0xf
cmova rax, qword [rbp - 0x19]
add rbx, rax
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x140016b5c
mov qword [rsp + 0x20], rdi
mov r9, rsi
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.14000f9c0
mov rcx, rsi
call fcn.140078e88
mov rdi, qword [rbp - 0x79]
xor esi, esi
cmp dword [rbp - 0x49], esi
jbe 0x140016b86
mov r13, qword [rbp - 1]
mov rbx, qword [rbp - 9]
jmp 0x140016ac0
mov rcx, rsi
call fcn.140078e88
xor esi, esi
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rbx, qword [rbp - 0x51]
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rbx + 0x10], xmm1
mov rdx, qword [r14 + 0x18]
cmp rdx, 7
jbe 0x140016bf5
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140016bf0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016cf1
mov rcx, r8
call fcn.140078e88
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], 7
mov word [r14], si
mov rdx, qword [r15 + 0x18]
cmp rdx, 7
jbe 0x140016c44
mov rcx, qword [r15]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140016c3f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016cf8
mov rcx, r8
call fcn.140078e88
mov qword [r15 + 0x10], rsi
mov qword [r15 + 0x18], 7
mov word [r15], si
mov rdx, qword [r12 + 0x18]
cmp rdx, 7
jbe 0x140016c91
mov rcx, qword [r12]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140016c8c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016cff
mov rcx, r8
call fcn.140078e88
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], 7
mov word [r12], si
mov rsi, qword [rbp - 0x69]
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140016ce3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140016cde
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016d06
mov rcx, r8
call fcn.140078e88
xor eax, eax
mov qword [rsi + 0x10], rax
mov word [rsi], ax
jmp 0x140016e80
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor edi, edi
mov rcx, qword [rbp - 0x71]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
xor r8d, r8d
lea rdx, [0x14007ecb9]
mov rcx, rbx
call fcn.14000f480
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 7
jbe 0x140016d8b
mov rcx, qword [r14]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140016d86
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016eb2
mov rcx, r8
call fcn.140078e88
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x18], 7
mov word [r14], di
mov rdx, qword [r15 + 0x18]
cmp rdx, 7
jbe 0x140016dda
mov rcx, qword [r15]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140016dd5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016eb9
mov rcx, r8
call fcn.140078e88
mov qword [r15 + 0x10], rdi
mov qword [r15 + 0x18], 7
mov word [r15], di
mov rdx, qword [r12 + 0x18]
cmp rdx, 7
jbe 0x140016e2b
mov rcx, qword [r12]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140016e26
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016ec0
mov rcx, r8
call fcn.140078e88
mov qword [r12 + 0x10], rdi
mov qword [r12 + 0x18], 7
mov word [r12], di
mov rdx, qword [rsi + 0x18]
cmp rdx, 7
jbe 0x140016e79
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x140016e74
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140016ec7
mov rcx, r8
call fcn.140078e88
mov qword [rsi + 0x10], rdi
mov word [rsi], di
mov rax, rbx
mov qword [rsi + 0x18], 7
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140078980
mov rbx, qword [rsp + 0x128]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3