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

Disassembly:
push rbp
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rdx
mov dword [rbp + 0xe0], r8d
mov qword [rbp + 0xe8], r9
lea rax, [rbp + 0x1e]
mov qword [rbp + 0x80], rax
nop
nop
mov rax, qword [rbp + 0xd8]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::end()
mov rbx, rax
mov rax, qword [rbp + 0xd8]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::begin()
mov rdx, rax
lea rcx, [rbp + 0x1e]
lea rax, [rbp - 0x10]
mov r9, rcx
mov r8, rbx
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string___gnu_cxx::__normal_iterator_char__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_______void____gnu_cxx::__normal_i
nop
lea rax, [rbp + 0x1f]
mov qword [rbp + 0x78], rax
nop
nop
mov rax, qword [rbp + 0xe8]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::end()
mov rbx, rax
mov rax, qword [rbp + 0xe8]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::begin()
mov rdx, rax
lea rcx, [rbp + 0x1f]
lea rax, [rbp - 0x30]
mov r9, rcx
mov r8, rbx
mov rcx, rax
call method.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string___gnu_cxx::__normal_iterator_char__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_______void____gnu_cxx::__normal_i
nop
mov rax, qword [rbp + 0xd0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()
mov dword [rbp - 0x34], 0
mov dword [rbp - 0x38], 0
mov dword [rbp + 0xac], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0x98], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
lea rax, str.test
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpOpen]
call rax
mov qword [rbp + 0x90], rax
cmp qword [rbp + 0x90], 0
je 0x14000269a
mov eax, dword [rbp + 0xe0]
movzx ebx, ax
lea rax, [rbp - 0x10]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::c_str() const
mov rdx, rax
mov rax, qword [rbp + 0x90]
mov r9d, 0
mov r8d, ebx
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpConnect]
call rax
mov qword [rbp + 0xa0], rax
cmp qword [rbp + 0xa0], 0
je 0x1400026f7
lea rax, [rbp - 0x30]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::c_str() const
mov rdx, rax
mov rax, qword [rbp + 0xa0]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rdx
lea rdx, [0x1400f67da]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
call rax
mov qword [rbp + 0x98], rax
cmp qword [rbp + 0x98], 0
je 0x140002744
mov rax, qword [rbp + 0x98]
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
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
call rax
mov dword [rbp + 0xac], eax
cmp dword [rbp + 0xac], 0
je 0x14000276b
mov rax, qword [rbp + 0x98]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
call rax
mov dword [rbp + 0xac], eax
cmp dword [rbp + 0xac], 0
je 0x1400028a6
mov dword [rbp - 0x34], 0
lea rdx, [rbp - 0x34]
mov rax, qword [rbp + 0x98]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
call rax
test eax, eax
mov eax, dword [rbp - 0x34]
add eax, 1
mov eax, eax
mov rcx, rax
call sym.operator_new___unsigned_long_long_
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
jne 0x1400027c5
mov dword [rbp - 0x34], 0
jmp 0x14000289b
mov eax, dword [rbp - 0x34]
add eax, 1
mov edx, eax
mov rax, qword [rbp + 0x88]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sym.memset
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x38]
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x98]
mov r9, r8
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpReadData]
call rax
test eax, eax
sete al
test al, al
jne 0x14000289b
lea rax, [rbp + 0x6f]
mov qword [rbp + 0x70], rax
nop
nop
lea rcx, [rbp + 0x6f]
mov rdx, qword [rbp + 0x88]
lea rax, [rbp + 0x40]
mov r8, rcx
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)
lea rax, [rbp + 0x20]
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0xd0]
mov r8, rcx
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std::allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rdx, [rbp + 0x20]
mov rax, qword [rbp + 0xd0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
lea rax, [rbp + 0x20]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
lea rax, [rbp + 0x40]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
cmp qword [rbp + 0x88], 0
je 0x14000289b
mov rax, qword [rbp + 0x88]
mov rcx, rax
call sym.operator_delete___void_
mov eax, dword [rbp - 0x34]
test eax, eax
jne 0x140002778
cmp qword [rbp + 0x98], 0
je 0x1400028c3
mov rax, qword [rbp + 0x98]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
cmp qword [rbp + 0xa0], 0
je 0x1400028e0
mov rax, qword [rbp + 0xa0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
cmp qword [rbp + 0x90], 0
je 0x1400028fd
mov rax, qword [rbp + 0x90]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
nop
lea rax, [rbp - 0x30]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
lea rax, [rbp - 0x10]
mov rcx, rax
call dbg.std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()
jmp 0x14000296c
mov rax, qword [rbp + 0xd0]
add rsp, 0x138
pop rbx
pop rbp
ret