Function at 0x140001709
Capabilities:
Create directory
Query environment variable
Set file attributes

Disassembly:
push rbp
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x120], rcx
mov qword [rbp + 0x128], rdx
mov qword [rbp + 0x130], r8
mov rbx, qword [str.END]
mov rax, rbp
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov r9d, 4
mov r8, rcx
mov rcx, rax
call sym.ReadFromBackString_abi:cxx11__std::basic_ifstream_char__std::char_traits_char_____int__int_
mov rax, rbp
mov rdx, rbx
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_
mov ebx, eax
mov rax, rbp
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
test bl, bl
je 0x1400017b1
lea rax, [rbp + 0x2f]
mov rcx, rax
call fcn.140075c70
lea rax, [rbp + 0x2f]
mov r8, rax
lea rax, [0x1400fb044]
mov rdx, rax
mov rcx, qword [rbp + 0x120]
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 + 0x2f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
jmp 0x140001b20
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400d7a30
lea rax, [rbp - 0x60]
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov r9d, 1
mov r8, rcx
mov rcx, rax
call sym.ReadFromBackString_abi:cxx11__std::basic_ifstream_char__std::char_traits_char_____int__int_
lea rax, [rbp - 0x60]
mov edx, 0
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.operator___unsigned_long_long_
movzx eax, byte [rax]
movsx eax, al
sub eax, 0x30
cmp eax, 9
seta al
test al, al
je 0x14000180b
mov ebx, 0
jmp 0x140001820
lea rdx, [rbp - 0x60]
lea rax, [rbp - 0x20]
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____const_
mov ebx, 1
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 0x140001833
jmp 0x1400017bd
mov rax, qword [rbp + 0x130]
mov eax, dword [rax]
lea edx, [rax - 1]
mov rax, qword [rbp + 0x130]
mov dword [rax], edx
lea rax, [rbp + 0x5f]
mov rcx, rax
call fcn.140075c70
lea rax, [rbp + 0x60]
lea rdx, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.rend__
lea rax, [rbp + 0x68]
lea rdx, [rbp - 0x20]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.rbegin__
lea r8, [rbp + 0x5f]
lea rcx, [rbp + 0x60]
lea rdx, [rbp + 0x68]
lea rax, [rbp + 0x30]
mov r9, r8
mov r8, rcx
mov rcx, rax
call sym._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ISt16reverse_iteratorIN9__gnu_cxx17__normal_iteratorIPcS4_EEEvEET_SC_RK
lea rax, [rbp + 0x30]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rcx, rax
call sym.atoi
mov dword [rbp + 0xfc], eax
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 + 0x5f]
mov rcx, rax
call sym.std::allocator_char_::allocator__
mov rax, qword [rbp + 0x130]
mov eax, dword [rax]
lea edx, [rax + 6]
mov rax, qword [rbp + 0x130]
mov dword [rax], edx
lea rax, [rbp - 0x40]
mov r8d, dword [rbp + 0xfc]
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov r9d, r8d
mov r8, rcx
mov rcx, rax
call sym.ReadFromBackString_abi:cxx11__std::basic_ifstream_char__std::char_traits_char_____int__int_
lea rax, [rbp + 0xfb]
mov rcx, rax
call fcn.140075c70
lea rax, str.USERPROFILE
mov rcx, rax
call sym.getenv
mov rdx, rax
lea rcx, [rbp + 0xfb]
lea rax, [rbp + 0xd0]
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 + 0xb0]
lea rdx, [rbp + 0xd0]
lea r8, [0x1400fb051]
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 + 0x90]
lea rcx, [rbp - 0x40]
lea rdx, [rbp + 0xb0]
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 + 0x70]
lea rdx, [rbp + 0x90]
lea r8, [0x1400fb051]
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 rdx, [rbp + 0x70]
lea rax, [rbp - 0x40]
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 + 0x70]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x90]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0xb0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0xd0]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0xfb]
mov rcx, rax
call sym.std::allocator_char_::allocator__
lea rax, [rbp - 0x40]
mov rcx, rax
call method.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
lea rax, [rbp - 0x40]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov edx, 2
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call rax
lea rax, [rbp - 0x40]
mov rdx, rax
mov rcx, qword [rbp + 0x120]
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
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 - 0x20]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
jmp 0x140001b20
mov rax, qword [rbp + 0x120]
add rsp, 0x188
pop rbx
pop rbp
ret