Function at 0x10002c224
Capabilities:
Query environment variable

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x110
mov qword [rsp + 0x108], 0xfffffffffffffffe
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
lea rax, [r11 - 0xb8]
mov qword [r11 + 0x20], rax
xor eax, eax
mov byte [r11 + 8], al
mov byte [r11 + 0x10], al
lea r8, [r11 + 8]
lea r13, [0x100009370]
mov rdx, r13
lea rcx, [r11 - 0xb8]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x158]
lea r14, [0x100007110]
mov rdx, r14
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
mov r9, rbx
mov r8d, 0x2dc
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.1000100ac
nop
mov dword [rbp + 0x64], edi
and qword [rsp + 0x70], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x78], rax
xor eax, eax
mov byte [rsp + 0x150], al
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
xor eax, eax
mov byte [rsp + 0x158], al
mov byte [rsp + 0x168], al
lea r8, [rsp + 0x150]
lea r15, [0x100002410]
mov rdx, r15
lea rcx, [rsp + 0x90]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x158]
mov rdx, r13
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x168]
mov rdx, r14
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
lea rcx, [0x1000093b0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8d, 0x2e2
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fdb8
mov r11, qword [rsi]
lea rdx, [rsp + 0x70]
mov rcx, rsi
call qword [r11 + 0x18]
mov edi, eax
test eax, eax
jns 0x10002c4ac
xor eax, eax
mov byte [rsp + 0x150], al
lea r8, [rsp + 0x150]
lea rdx, [0x100002440]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
lea r8, [0x1000093b0]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x100002478]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1000103d0
mov rbx, rax
lea r8, [rsp + 0x150]
lea rdx, [0x1000024b8]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, qword [rbx + 8]
test r8, r8
cmove r8, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x1000024e0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
mov dword [rsp + 0x150], edi
lea rdx, [0x100045bc8]
lea rcx, [rsp + 0x150]
call fcn.10003d536
int3
and qword [rsp + 0x88], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
xor eax, eax
mov byte [rsp + 0x150], al
lea rax, [rsp + 0x90]
mov qword [rsp + 0x78], rax
xor eax, eax
mov byte [rsp + 0x158], al
mov byte [rsp + 0x168], al
lea r8, [rsp + 0x150]
mov rdx, r15
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x158]
mov rdx, r13
lea rcx, [rsp + 0x90]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x168]
mov rdx, r14
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
lea rcx, [0x1000093f0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8d, 0x2e5
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fdb8
mov r11, qword [rsi]
lea rdx, [rsp + 0x88]
mov rcx, rsi
call qword [r11 + 0x20]
mov edi, eax
test eax, eax
jns 0x10002c69c
xor eax, eax
mov byte [rsp + 0x150], al
lea r8, [rsp + 0x150]
lea rdx, [0x100002440]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
lea r8, [0x1000093f0]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x100002478]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1000103d0
mov rbx, rax
lea r8, [rsp + 0x150]
lea rdx, [0x1000024b8]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, qword [rbx + 8]
test r8, r8
cmove r8, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x1000024e0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
mov dword [rsp + 0x150], edi
lea rdx, [0x100045bc8]
lea rcx, [rsp + 0x150]
call fcn.10003d536
int3
mov byte [rsp + 0x160], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
xor eax, eax
mov byte [rsp + 0x150], al
lea rax, [rsp + 0x90]
mov qword [rsp + 0x78], rax
xor eax, eax
mov byte [rsp + 0x158], al
mov byte [rsp + 0x168], al
lea r8, [rsp + 0x150]
mov rdx, r15
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x158]
mov rdx, r13
lea rcx, [rsp + 0x90]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x168]
mov rdx, r14
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
lea rcx, [0x100009450]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8d, 0x2e8
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fdb8
mov r11, qword [rsi]
lea rdx, [rsp + 0x160]
mov rcx, rsi
call qword [r11 + 0x28]
mov edi, eax
test eax, eax
jns 0x10002c88b
xor eax, eax
mov byte [rsp + 0x150], al
lea r8, [rsp + 0x150]
lea rdx, [0x100002440]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
lea r8, [0x100009450]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x100002478]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1000103d0
mov rbx, rax
lea r8, [rsp + 0x150]
lea rdx, [0x1000024b8]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, qword [rbx + 8]
test r8, r8
cmove r8, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x1000024e0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
mov dword [rsp + 0x150], edi
lea rdx, [0x100045bc8]
lea rcx, [rsp + 0x150]
call fcn.10003d536
int3
and qword [rsp + 0x100], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
xor eax, eax
mov byte [rsp + 0x150], al
lea rax, [rsp + 0x90]
mov qword [rsp + 0x78], rax
xor eax, eax
mov byte [rsp + 0x158], al
mov byte [rsp + 0x168], al
lea r8, [rsp + 0x150]
mov rdx, r15
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x158]
mov rdx, r13
lea rcx, [rsp + 0x90]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x168]
mov rdx, r14
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
lea r15, [0x1000094a0]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8d, 0x2eb
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fdb8
mov r11, qword [rsi]
lea rdx, [rsp + 0x100]
mov rcx, rsi
call qword [r11 + 0x30]
mov edi, eax
test eax, eax
jns 0x10002ca77
xor eax, eax
mov byte [rsp + 0x150], al
lea r8, [rsp + 0x150]
lea rdx, [0x100002440]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, r15
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x100002478]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1000103d0
mov rbx, rax
lea r8, [rsp + 0x150]
lea rdx, [0x1000024b8]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, qword [rbx + 8]
test r8, r8
cmove r8, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x1000024e0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
mov dword [rsp + 0x150], edi
lea rdx, [0x100045bc8]
lea rcx, [rsp + 0x150]
call fcn.10003d536
int3
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.1000171ec
nop
mov rdx, rax
mov rcx, rbp
call qword [reloc.msvcp60.dll___4__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x30]
call fcn.1000171ec
nop
lea rcx, [rbp + 0x20]
mov rdx, rax
call qword [reloc.msvcp60.dll___4__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
movzx edx, byte [rsp + 0x160]
lea rcx, [rbp + 0x68]
call qword [sym.imp.msvcp60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::operator_unsigned_short_int____ptr64]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.1000171ec
nop
mov rdx, rax
mov rcx, rbp
call qword [reloc.msvcp60.dll___4__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r8d, r8d
mov edx, 0x104
lea rcx, [rbp + 0x68]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::resize_unsigned_long_long_unsigned___int64___unsigned_short_int____ptr64]
mov rdx, qword [rbp + 0x70]
test rdx, rdx
cmove rdx, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov r8d, dword [rbp + 0x78]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
jne 0x10002cd26
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
xor eax, eax
mov byte [rsp + 0x150], al
lea rax, [rsp + 0x90]
mov qword [rsp + 0x78], rax
xor eax, eax
mov byte [rsp + 0x158], al
mov byte [rsp + 0x168], al
lea r8, [rsp + 0x150]
lea rdx, [0x100003738]
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdi, rax
lea r8, [rsp + 0x158]
mov rdx, r13
lea rcx, [rsp + 0x90]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rbx, rax
lea r8, [rsp + 0x168]
mov rdx, r14
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
nop
lea r13, [0x100009510]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8d, 0x2f6
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fdb8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test eax, eax
je 0x10002cd26
xor eax, eax
mov byte [rsp + 0x150], al
lea r8, [rsp + 0x150]
lea rdx, [0x100003770]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, r13
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x1000037b0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
xor r11d, r11d
mov byte [rsp + 0x150], r11b
mov edx, edi
lea rcx, [rsp + 0x30]
call fcn.1000103d0
mov rbx, rax
lea r8, [rsp + 0x150]
lea rdx, [0x1000024b8]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov r8, qword [rbx + 8]
test r8, r8
cmove r8, qword [sym.imp.msvcp60.dll_unsigned_short_int_const__private:_static_unsigned_short_int_const____ptr64___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::_Nullstr_void_::_2::_C]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
xor r11d, r11d
mov byte [rsp + 0x150], r11b
lea r8, [rsp + 0x150]
lea rdx, [0x1000024e0]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const____ptr64__class_std::allocator_unsigned_short_int__const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0xb0]
call fcn.10000fb68
mov dword [rsp + 0x150], edi
lea rdx, [0x100045bc8]
lea rcx, [rsp + 0x150]
call fcn.10003d536
int3
lea rdx, [rbp + 0x68]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.10001e524
nop
mov rdx, rax
lea rcx, [rbp + 0x68]
call qword [reloc.msvcp60.dll___4__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
lea rdx, [rbp + 0x68]
lea rcx, [rsp + 0x50]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.10001d7a4
nop
lea rcx, [rbp + 0x88]
mov rdx, rax
call qword [reloc.msvcp60.dll___4__basic_string_GU__char_traits_G_std__V__allocator_G_2__std__QEAAAEAV01_AEBV01__Z]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.msvcp60.dll_public:_void___cdecl_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void____ptr64]
nop
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
lea rcx, [rsp + 0xb0]
call fcn.10001027c
add rsp, 0x110
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret