Function at 0x1400011d0
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x618]
sub rsp, 0x6f0
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov r14, r8
mov r13, rdx
mov r12d, ecx
xor esi, esi
mov edi, esi
mov dword [rbp + 0x638], esi
lea rcx, str.ARUBA_TIME_STARTUP
call qword [sym.imp.MSVCR100.dll_getenv]
test rax, rax
setne bl
mov byte [rbp + 0x638], bl
lea rcx, [rbp - 0x70]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::StopWatch::constructor_void____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::StopWatch::constructor_void____ptr64]
lea rcx, [rbp - 0x70]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
lea rcx, [rsp + 0x48]
call qword [sym.imp.libBase.dll_class_awUtil::Error___cdecl_awOS::useWindowsLowFragmentationHeap_void_]
lea rcx, [rsp + 0x48]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awUtil::Error::destructor_void____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::clear_void____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
call qword [sym.imp.libBase.dll_class_awOS::Locale____ptr64___cdecl_awOS::appLocale_void_]
mov rcx, rax
lea rdx, [rsp + 0x48]
call qword [sym.imp.libBase.dll_public:_class_awUtil::Error___cdecl_awOS::Locale::setNative_void____ptr64]
lea rcx, [rsp + 0x48]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awUtil::Error::destructor_void____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
test bl, bl
je 0x1400012c4
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::check_void_const___ptr64]
movapd xmm1, xmm0
movq rdx, xmm1
lea rcx, str.time:_to_go_native:__f_n
call qword [sym.imp.MSVCR100.dll_printf]
call qword [sym.imp.libBase.dll_public:_static_class_awOS::AppMain____ptr64___cdecl_awOS::AppMain::getInstance_void_]
mov r15, rax
mov r9, r14
mov r8, r13
mov edx, r12d
mov rcx, rax
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::AppMain::initialize_int__wchar_t_const__const___ptr64_const__const___ptr64__wchar_t_const__const___ptr64_const__const___ptr64____ptr64]
call qword [sym.imp.libBase.dll_class_awOS::SysInfo_const____ptr64___cdecl_awOS::sysInfo_void_]
mov rcx, rax
call qword [sym.imp.libBase.dll_public:_int___cdecl_awOS::SysInfo::numCPUs_void_const___ptr64]
mov r14d, eax
cmp eax, 1
jle 0x140001331
mov ecx, 0x30
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140001325
mov edx, r14d
mov rcx, rax
call qword [sym.imp.libBase.dll_public:_void___cdecl_awThread::Pool::constructor_int____ptr64]
lea r11, vtable.awThread::Pool.0
mov qword [rbx], r11
jmp 0x140001328
mov rbx, rsi
mov rcx, rbx
call qword [sym.imp.libBase.dll_public:_static_void___cdecl_awUtil::ThreadPool::install_class_awUtil::ThreadPool____ptr64_]
lea rcx, [rsp + 0x20]
call fcn.140002f60
nop
lea rcx, [rsp + 0x20]
call fcn.140004b90
movzx ebx, al
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::clear_void____ptr64]
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
lea rcx, [0x1400052e0]
call qword [sym.imp.libArubaModelBase.dll_public:_static_void___cdecl_awModelDefn::arubaSecurity::setSecurityHandler_class_awModelDefn::arubaSecurity____ptr64____cdecl___void__]
lea rcx, [0x140005180]
call qword [sym.imp.libArubaModelBase.dll_public:_static_void___cdecl_awModelDefn::arubaSecurity::setSecurityFinalize_void____cdecl___void__]
call qword [sym.imp.libBase.dll_public:_static_class_awOS::AppOutput____ptr64___cdecl_awOS::AppOutput::getInstance_void_]
mov r14, rax
test bl, bl
je 0x14000166e
dec r12d
add r13, 8
lea rcx, [rsp + 0x30]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
cmp byte [rbp + 0x638], 0
je 0x1400013c5
lea rcx, [rbp - 0x70]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
movapd xmm1, xmm0
movq rdx, xmm1
lea rcx, str.time:_total_startup_time:__f_n
call qword [sym.imp.MSVCR100.dll_printf]
test r12d, r12d
je 0x140001471
xor r9d, r9d
xor r8d, r8d
lea rdx, str._productKey
lea rcx, [rsp + 0x70]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awString::IString::constructor_char_const____ptr64__enum_awString::Encoding__bool____ptr64____ptr64]
nop
mov dword [rbp + 0x638], 1
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awString::IString::constructor_wchar_t_const____ptr64____ptr64]
nop
mov edi, 3
mov dword [rbp + 0x638], edi
lea rdx, [rsp + 0x70]
mov rcx, rax
call qword [sym.imp.libBase.dll_bool___cdecl_awString::notEqual_class_awString::IString_const____ptr64__class_awString::IString_const____ptr64_]
test al, al
jne 0x140001471
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14002d058]
lea rcx, [rsp + 0x60]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awString::IString::constructor_char_const____ptr64__enum_awString::Encoding__bool____ptr64____ptr64]
nop
mov dword [rbp + 0x638], 7
mov rdx, qword [r13]
lea rcx, [rbp - 0x80]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awString::IString::constructor_wchar_t_const____ptr64____ptr64]
nop
mov edi, 0xf
mov dword [rbp + 0x638], edi
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.libBase.dll_bool___cdecl_awString::notEqual_class_awString::IString_const____ptr64__class_awString::IString_const____ptr64_]
test al, al
jne 0x140001471
xor bl, bl
jmp 0x140001473
mov bl, 1
test dil, 8
je 0x14000148d
and edi, 0xfffffff7
mov dword [rbp + 0x638], edi
lea rcx, [rbp - 0x80]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awString::IString::destructor_void____ptr64]
nop
test dil, 4
je 0x1400014a8
and edi, 0xfffffffb
mov dword [rbp + 0x638], edi
lea rcx, [rsp + 0x60]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awString::IString::destructor_void____ptr64]
nop
test dil, 2
je 0x1400014c3
and edi, 0xfffffffd
mov dword [rbp + 0x638], edi
lea rcx, [rsp + 0x48]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awString::IString::destructor_void____ptr64]
nop
test dil, 1
je 0x1400014d4
lea rcx, [rsp + 0x70]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awString::IString::destructor_void____ptr64]
test bl, bl
je 0x1400015e4
lea rcx, [0x14002d030]
call qword [sym.imp.MSVCR100.dll__wgetenv]
test rax, rax
je 0x1400015bc
lea rcx, [0x14002d018]
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rax
mov esi, 2
lea rcx, [0x14002cfe8]
call qword [sym.imp.MSVCR100.dll__wgetenv]
test rax, rax
je 0x14000152c
lea rcx, str._productVersion
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rax
mov esi, 4
lea rcx, [0x14002cfb0]
call qword [sym.imp.MSVCR100.dll__wgetenv]
test rax, rax
je 0x140001550
lea rcx, str._productLicenseType
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
add esi, 2
lea rcx, [0x14002cf68]
call qword [sym.imp.MSVCR100.dll__wgetenv]
test rax, rax
je 0x140001574
lea rcx, str._productLicensePath
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
add esi, 2
lea rcx, [0x14002cf20]
call qword [sym.imp.MSVCR100.dll__wgetenv]
test rax, rax
je 0x140001598
lea rcx, str._productResourcePath
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
add esi, 2
lea rcx, [0x14002ced0]
call qword [sym.imp.MSVCR100.dll__wgetenv]
test rax, rax
je 0x1400015bc
lea rcx, str._productLicenseLocale
mov qword [rbp], rcx
mov qword [rbp + 8], rax
add esi, 2
test r12d, r12d
jle 0x1400015e4
movsxd rax, esi
movsxd rbx, r12d
lea rcx, [rbp + rax*8 - 0x50]
mov r8, rbx
shl r8, 3
mov rdx, r13
call sub.MSVCR100.dll_memcpy
add esi, ebx
mov r12d, esi
lea r13, [rbp - 0x50]
mov r8, r13
mov edx, r12d
lea rcx, [rsp + 0x20]
call fcn.1400044c0
mov ebx, eax
cmp eax, 0x43
jne 0x14000160a
lea rcx, [rsp + 0x20]
call fcn.140001120
jmp 0x14000169d
cmp eax, 2
je 0x140001673
cmp eax, 5
je 0x14000164e
cmp eax, 0xc
jne 0x14000169d
mov rcx, r15
call qword [sym.imp.libBase.dll_public:_class_awString::IString_const____ptr64___cdecl_awOS::AppMain::getAppName_void____ptr64]
mov rcx, rax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.libBase.dll_public:_char_const____ptr64___cdecl_awString::IString::asMultibyte_enum_awString::Encoding__bool____ptr64_const___ptr64]
mov r9, rax
lea r8, str._s:_execution_of_command_failed._n
mov edx, 1
mov rcx, r14
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::AppOutputStream::operator___int__char_const____ptr64_const___ptr64]
jmp 0x14000169d
mov rcx, r15
call qword [sym.imp.libBase.dll_public:_class_awString::IString_const____ptr64___cdecl_awOS::AppMain::getAppName_void____ptr64]
mov rcx, rax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.libBase.dll_public:_char_const____ptr64___cdecl_awString::IString::asMultibyte_enum_awString::Encoding__bool____ptr64_const___ptr64]
lea rdx, str._s:_failed_to_get_valid_license._n
jmp 0x140001691
mov ebx, 2
mov rcx, r15
call qword [sym.imp.libBase.dll_public:_class_awString::IString_const____ptr64___cdecl_awOS::AppMain::getAppName_void____ptr64]
mov rcx, rax
xor r8d, r8d
xor edx, edx
call qword [sym.imp.libBase.dll_public:_char_const____ptr64___cdecl_awString::IString::asMultibyte_enum_awString::Encoding__bool____ptr64_const___ptr64]
lea rdx, str._s:_failed_to_get_runtime_environment._n
mov r8, rax
mov rcx, r14
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::AppOutputStream::operator___char_const____ptr64_const___ptr64]
lea rcx, [rsp + 0x20]
call fcn.1400033f0
call qword [sym.imp.libArubaModelBase.dll_public:_static_void___cdecl_awModelDefn::arubaSecurity::securityFinalize_void_]
nop
lea rcx, [rsp + 0x20]
call fcn.140001eb0
mov eax, ebx
lea r11, [rsp + 0x6f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret