Function at 0x140002940
Capabilities:
Initialize winhttp library
Prepare http request
Read http header
Receive http response

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x14000b040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rcx
xor r15d, r15d
cmp qword [rcx + 0x18], 0xf
jbe 0x14000298b
mov rsi, qword [rcx]
add rsi, qword [rcx + 0x10]
mov rbx, qword [rcx]
jmp 0x140002992
mov rsi, qword [rcx + 0x10]
add rsi, rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x41], xmm0
movabs rax, 0x7ffffffffffffffe
movabs rdx, 0x7fffffffffffffff
mov ecx, 0xa
mov qword [rbp - 0x31], r15
cmp rbx, rsi
jne 0x1400029d2
mov rsi, r15
mov r14d, 7
mov qword [rbp - 0x29], r14
mov word [rbp - 0x41], r15w
jmp 0x140002ac5
sub rsi, rbx
mov edi, 7
mov qword [rbp - 0x29], rdi
cmp rsi, rax
ja 0x140002f81
cmp rsi, rdi
jbe 0x140002a78
mov rdi, rsi
or rdi, 7
cmp rdi, rax
jbe 0x140002a43
mov rdi, rax
lea rcx, [rdx + rdx]
cmp rcx, 0x1000
jb 0x140002a69
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002f87
mov rcx, rax
call fcn.140005978
mov rcx, rax
test rax, rax
je 0x140002f3c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x29], rdi
jmp 0x140002a7c
cmp rdi, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, rdx
ja 0x140002f87
add rcx, rcx
jne 0x140002a03
mov rax, r15
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x29], rdi
jmp 0x140002a7c
call fcn.140005978
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x29], rdi
jmp 0x140002a7c
mov rax, qword [rbp - 0x41]
lea r8, [rbp - 0x41]
cmp rdi, 7
cmova r8, rax
mov rcx, r8
mov rdx, rsi
test rsi, rsi
je 0x140002ab4
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rcx + 2]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x140002aa0
mov qword [rbp - 0x31], rsi
mov word [r8 + rsi*2], r15w
mov rsi, qword [rbp - 0x31]
mov r14, qword [rbp - 0x29]
mov dword [rsp + 0x20], r15d
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 r12, rax
mov rdi, qword [rbp - 0x41]
test rax, rax
jne 0x140002b05
lea rdx, str.Failed_to_open_HTTP_session._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004970
xor bl, bl
jmp 0x140002f0d
mov r8d, 0x1388
xor r9d, r9d
lea rdx, str.94.41.21.10
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r13, rax
test rax, rax
jne 0x140002b49
lea rdx, str.Failed_to_connect._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004970
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor bl, bl
jmp 0x140002f0d
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, rsi
cmp rax, 0xe
jb 0x140002f8d
lea rdx, [rbp - 0x41]
cmp r14, 7
cmova rdx, rdi
mov qword [rbp - 0x59], rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], r15
mov qword [rbp - 1], r15
lea r15, [rsi + 0xe]
mov edi, 7
lea rbx, [rbp - 0x19]
cmp r15, rdi
jbe 0x140002c27
mov rdi, r15
or rdi, 7
cmp rdi, rcx
jbe 0x140002bea
mov rdi, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
cmp rcx, 0x1000
jb 0x140002c17
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002f7b
mov rcx, rax
call fcn.140005978
test rax, rax
je 0x140002eed
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140002c1f
cmp rdi, 0xa
mov eax, 0xa
cmovb rdi, rax
lea rcx, [rdi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140002f7b
add rcx, rcx
jne 0x140002bb5
xor ebx, ebx
jmp 0x140002c23
call fcn.140005978
mov rbx, rax
mov rdx, qword [rbp - 0x59]
mov qword [rbp - 0x19], rbx
mov qword [rbp - 9], r15
mov qword [rbp - 1], rdi
movups xmm0, xmmword [str._request3_key]
movups xmmword [rbx], xmm0
movsd xmm0, qword [0x140007738]
movsd qword [rbx + 0x10], xmm0
mov eax, dword [0x140007740]
mov dword [rbx + 0x18], eax
lea rcx, [rbx + 0x1c]
lea r8, [rsi + rsi]
call sub.VCRUNTIME140.dll_memcpy
xor edi, edi
mov word [rbx + r15*2], di
lea r8, [rbp - 0x19]
cmp qword [rbp - 1], 7
cmova r8, qword [rbp - 0x19]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea rdx, [0x140007748]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r15, rax
test rax, rax
jne 0x140002cb2
lea rdx, str.Failed_to_open_request._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004970
jmp 0x140002d42
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x140002cdd
lea rdx, str.Failed_to_send_request._n
jmp 0x140002d2d
xor edx, edx
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x140002cf5
lea rdx, str.Failed_to_receive_response._n
jmp 0x140002d2d
mov dword [rbp - 0x49], edi
mov dword [rbp - 0x21], 4
mov qword [rsp + 0x28], rdi
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x49]
xor r8d, r8d
mov edx, 0x20000013
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x140002d5b
lea rdx, str.Failed_to_query_headers._n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004970
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
xor bl, bl
jmp 0x140002eb6
mov dword [rbp - 0x4d], edi
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov rbx, rdi
mov qword [rbp + 0x17], rbx
mov esi, 0xf
mov qword [rbp + 0x1f], rsi
mov byte [rbp + 7], bl
nop dword [rax + rax]
mov dword [rbp - 0x51], edi
lea rdx, [rbp - 0x51]
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov ecx, dword [rbp - 0x51]
inc ecx
call fcn.1400059b4
mov r14, rax
mov r8d, dword [rbp - 0x51]
inc r8d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
lea r9, [rbp - 0x4d]
mov r8d, dword [rbp - 0x51]
mov rdx, r14
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x140002e1e
mov edi, dword [rbp - 0x4d]
mov rax, rsi
sub rax, rbx
cmp rdi, rax
ja 0x140002e00
lea rax, [rdi + rbx]
mov qword [rbp + 0x17], rax
lea rax, [rbp + 7]
cmp rsi, 0xf
cmova rax, qword [rbp + 7]
add rbx, rax
mov r8d, edi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x140002e14
mov qword [rsp + 0x20], rdi
mov r9, r14
mov rdx, rdi
lea rcx, [rbp + 7]
call fcn.140004b50
xor edi, edi
mov rbx, qword [rbp + 0x17]
mov rsi, qword [rbp + 0x1f]
mov rcx, r14
call fcn.140005970
cmp dword [rbp - 0x51], 0
ja 0x140002d80
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
lea rcx, [rbp + 7]
mov rdi, qword [rbp + 7]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 1
jne 0x140002e74
mov r8, rbx
lea rdx, [0x1400077cc]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140002e76
xor bl, bl
cmp rsi, 0xf
jbe 0x140002eb0
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002ea8
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ea8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140005970
xor edi, edi
mov r14, qword [rbp - 0x29]
mov rdx, qword [rbp - 1]
cmp rdx, 7
jbe 0x140002ef9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ef4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ef4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140005970
mov qword [rbp - 9], rdi
mov qword [rbp - 1], 7
mov word [rbp - 0x19], di
mov rdi, qword [rbp - 0x41]
cmp r14, 7
jbe 0x140002f4b
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140002f43
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002f43
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.140005970
movzx eax, bl
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140005950
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001110
nop
call fcn.1400011b0
int3
call fcn.140001110
nop
call fcn.1400011b0
int3