Function at 0x140004b90
Capabilities:
Query environment variable

Disassembly:
push r12
sub rsp, 0x50
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rdi
mov rsi, rcx
mov rax, qword [0x140061350]
test rax, rax
jne 0x140004af9
lea rcx, str.ARUBA_TIME_STARTUP
call qword [sym.imp.MSVCR100.dll_getenv]
test rax, rax
setne bl
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::StopWatch::constructor_void____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::clear_void____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
call fcn.1400081a0
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
test bl, bl
je 0x14000497f
lea rcx, [rsp + 0x38]
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_initialize_APF:__f_n
call qword [sym.imp.MSVCR100.dll_printf]
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14002da78]
lea rcx, [rsp + 0x28]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awString::IString::constructor_char_const____ptr64__enum_awString::Encoding__bool____ptr64____ptr64]
nop
xor r8d, r8d
lea rdx, [rsp + 0x28]
mov rcx, qword [rsi + 8]
call qword [sym.imp.libBase.dll_public:_bool___cdecl_awOS::AppOutputStream::open_class_awString::IString_const____ptr64__bool____ptr64]
nop
lea rcx, [rsp + 0x28]
call qword [sym.imp.libBase.dll_public_virtual:_void___cdecl_awString::IString::destructor_void____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::clear_void____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
call qword [sym.imp.libBase.dll_public:_static_class_awOS::AppMain____ptr64___cdecl_awOS::AppMain::getInstance_void_]
lea rdx, [0x14002da75]
mov rcx, rax
call qword [sym.imp.libBase.dll_public:_class_awString::IString_const____ptr64___cdecl_awOS::AppMain::getRuntimeDirectory_char_const____ptr64____ptr64]
mov rdi, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
test bl, bl
je 0x140004a15
lea rcx, [rsp + 0x38]
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_find_runtime_directory:__f_n
call qword [sym.imp.MSVCR100.dll_printf]
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x18]
test eax, eax
je 0x140004b6a
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::clear_void____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
mov rcx, rsi
call fcn.1400041e0
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
test bl, bl
je 0x140004a74
lea rcx, [rsp + 0x38]
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_initialize_services:__f_n
call qword [sym.imp.MSVCR100.dll_printf]
call qword [sym.imp.libArubaModelBase.dll_public:_static_class_awModelDefn::model_registry____ptr64___cdecl_awModelDefn::model_registry::getInstance_void_]
lea rdx, [0x140004690]
mov rcx, rax
call qword [sym.imp.libArubaModelBase.dll_public:_void___cdecl_awModelDefn::model_registry::registerModelLoader_class_aw::Reference_class_awModelDefn::model_____cdecl___class_awModelDefn::model_const____ptr64__class_awString::IString_const____ptr64_____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::clear_void____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::start_void____ptr64]
call qword [sym.imp.libBase.dll_int___cdecl_awOS::cleanupTempDirectory_void_]
mov edi, eax
lea rcx, [rsp + 0x38]
call qword [sym.imp.libBase.dll_public:_double___cdecl_awOS::StopWatch::stop_void____ptr64]
test bl, bl
je 0x140004ad8
lea rcx, [rsp + 0x38]
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_cleanup_temp_dir:__f_n
call qword [sym.imp.MSVCR100.dll_printf]
test edi, edi
je 0x140004af0
mov r8d, edi
lea rdx, str.Aruba:_deleted__d_old_temporary_files._n
mov rcx, qword [rsi + 8]
call qword [sym.imp.libBase.dll_public:_void___cdecl_awOS::AppOutputStream::operator___char_const____ptr64_const___ptr64]
mov qword [0x140061350], rsi
jmp 0x140004b68
mov ebp, dword [rax + 0x7f0]
xor ebx, ebx
mov edi, ebx
test ebp, ebp
jle 0x140004b37
nop word [rax + rax]
mov ecx, edi
mov rax, qword [rax + 0x7e8]
lea rdx, [rax + rcx*8]
lea rcx, [rsi + 0x7e8]
call qword [sym.imp.libBase.dll_public:_void___cdecl_aw::VectorImpl::append_void_const____ptr64____ptr64]
inc edi
mov rax, qword [0x140061350]
cmp edi, ebp
jl 0x140004b10
mov edi, dword [rax + 0x808]
test edi, edi
jle 0x140004b68
mov rax, qword [rax + 0x800]
lea rdx, [rax + rbx*8]
lea rcx, [rsi + 0x800]
call qword [sym.imp.libBase.dll_public:_void___cdecl_aw::VectorImpl::append_void_const____ptr64____ptr64]
inc ebx
cmp ebx, edi
jge 0x140004b68
mov rax, qword [0x140061350]
jmp 0x140004b41
mov al, 1
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x50
pop r12
ret
mov rcx, qword [rcx + 8]
jmp 0x1400048e0