Function at 0x14001ab20
Capabilities:
Query environment variable

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x208
mov rdi, qword [0x14013cc10]
lea rbp, [rsp + 0xa0]
mov r13, rcx
mov r15d, edx
mov rbx, r8
mov rax, qword [rdi]
mov qword [rsp + 0x1f8], rax
xor eax, eax
mov rcx, rbp
mov qword [rsp + 0x268], r9
call method.el::Configurations.Configurations__
xor r9d, r9d
mov r8, r13
mov edx, 0x10
mov rcx, rbp
call method.el::Configurations.setGlobally_el::ConfigurationType__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__bool_
lea rdi, [rsp + 0x70]
xor r9d, r9d
mov edx, 2
mov rcx, rbp
lea rsi, [rsp + 0x80]
mov r8, rdi
mov dword [rsp + 0x80], 0x65757274
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 4
mov byte [rsp + 0x84], 0
call method.el::Configurations.setGlobally_el::ConfigurationType__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__bool_
mov rcx, qword [rsp + 0x70]
cmp rcx, rsi
je 0x14001abdb
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
lea rcx, str.MONERO_LOG_FORMAT
call sym.getenv
mov qword [rsp + 0x70], rsi
mov r14, rax
test rax, rax
je 0x14001b3f0
mov rcx, rax
call sym.strlen
mov qword [rsp + 0x28], rax
mov r12, rax
cmp rax, 0xf
ja 0x14001b406
cmp rax, 1
je 0x14001b338
test rax, rax
jne 0x14001b478
mov rax, rsi
mov qword [rsp + 0x78], r12
xor r9d, r9d
mov r8, rdi
mov edx, 8
mov byte [rax + r12], 0
mov rcx, rbp
call method.el::Configurations.setGlobally_el::ConfigurationType__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__bool_
mov rcx, qword [rsp + 0x70]
cmp rcx, rsi
je 0x14001ac60
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov qword [rsp + 0x70], rsi
mov eax, 5
lea r8, str.false
test r15b, r15b
je 0x14001ac82
mov eax, 4
lea r8, [0x140135d29]
mov ecx, eax
xor edx, edx
test al, 4
je 0x14001ac99
mov edx, dword [r8]
mov dword [rsp + 0x80], edx
mov edx, 4
and ecx, 1
je 0x14001acaa
movzx ecx, byte [r8 + rdx]
mov byte [rsp + rdx + 0x80], cl
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rax
xor r9d, r9d
mov r8, rdi
mov rcx, rbp
mov byte [rdx + rax], 0
mov edx, 4
call method.el::Configurations.setGlobally_el::ConfigurationType__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__bool_
mov rcx, qword [rsp + 0x70]
cmp rcx, rsi
je 0x14001ace6
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
cmp rbx, 9
jbe 0x14001b47d
cmp rbx, 0x63
jbe 0x14001b487
cmp rbx, 0x3e7
jbe 0x14001b49b
cmp rbx, 0x270f
jbe 0x14001b491
mov rdx, rbx
mov r8d, 1
movabs r9, 0x346dc5d63886594b
jmp 0x14001ad57
cmp rcx, 0xf423f
jbe 0x14001b450
cmp rcx, 0x98967f
jbe 0x14001b460
cmp rcx, 0x5f5e0ff
jbe 0x14001b470
mov rax, rdx
mov rcx, rdx
mul r9
mov eax, r8d
add r8d, 4
shr rdx, 0xb
cmp rcx, 0x1869f
ja 0x14001ad30
mov edx, r8d
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x70], rsi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_construct_unsigned_long_long__char_
movabs rax, 0x3330323031303030
mov r8, qword [rsp + 0x70]
movabs rdx, 0x3730363035303430
mov qword [rsp + 0x120], rax
movabs rax, 0x3131303139303830
mov qword [rsp + 0x128], rdx
movabs rdx, 0x3531343133313231
mov qword [rsp + 0x130], rax
movabs rax, 0x3931383137313631
mov qword [rsp + 0x138], rdx
movabs rdx, 0x3332323231323032
mov qword [rsp + 0x140], rax
movabs rax, 0x3732363235323432
mov qword [rsp + 0x148], rdx
movabs rdx, 0x3133303339323832
mov qword [rsp + 0x150], rax
movabs rax, 0x3533343333333233
mov qword [rsp + 0x158], rdx
movabs rdx, 0x3933383337333633
mov qword [rsp + 0x160], rax
movabs rax, 0x3334323431343034
mov qword [rsp + 0x168], rdx
movabs rdx, 0x3734363435343434
mov qword [rsp + 0x170], rax
movabs rax, 0x3135303539343834
mov qword [rsp + 0x178], rdx
movabs rdx, 0x3535343533353235
mov qword [rsp + 0x180], rax
movabs rax, 0x3935383537353635
mov qword [rsp + 0x188], rdx
movabs rdx, 0x3336323631363036
mov qword [rsp + 0x190], rax
movabs rax, 0x3736363635363436
mov qword [rsp + 0x198], rdx
movabs rdx, 0x3137303739363836
mov qword [rsp + 0x1a0], rax
movabs rax, 0x3537343733373237
mov qword [rsp + 0x1a8], rdx
movabs rdx, 0x3937383737373637
mov qword [rsp + 0x1b0], rax
movabs rax, 0x3338323831383038
mov qword [rsp + 0x1b8], rdx
movabs rdx, 0x3738363835383438
mov qword [rsp + 0x1c0], rax
movabs rax, 0x3139303939383838
mov qword [rsp + 0x1c8], rdx
movabs rdx, 0x3539343933393239
mov qword [rsp + 0x1d0], rax
movabs rax, 0x3935393439333932
mov qword [rsp + 0x1d8], rdx
movabs rdx, 0x39393839373936
mov qword [rsp + 0x1d9], rax
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0x1e1], rdx
lea ecx, [rax - 1]
cmp rbx, 0x63
jbe 0x14001afde
movabs r9, 0x28f5c28f5c28f5c3
nop word [rax + rax]
mov rdx, rbx
shr rdx, 2
mov rax, rdx
mul r9
mov rax, rbx
mov r10, rdx
and rdx, 0xfffffffffffffffc
shr r10, 2
add rdx, r10
lea rdx, [rdx + rdx*4]
shl rdx, 2
sub rax, rdx
mov rdx, rbx
mov rbx, r10
mov r10d, ecx
add rax, rax
movzx r11d, byte [rsp + rax + 0x121]
movzx eax, byte [rsp + rax + 0x120]
mov byte [r8 + r10], r11b
lea r10d, [rcx - 1]
sub ecx, 2
mov byte [r8 + r10], al
cmp rdx, 0x270f
ja 0x14001af80
lea eax, [rbx + 0x30]
cmp rbx, 9
jbe 0x14001affe
add rbx, rbx
movzx eax, byte [rsp + rbx + 0x121]
mov byte [r8 + 1], al
movzx eax, byte [rsp + rbx + 0x120]
mov byte [r8], al
xor r9d, r9d
mov r8, rdi
mov edx, pe_nt_image_headers64
mov rcx, rbp
call method.el::Configurations.setGlobally_el::ConfigurationType__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__bool_
mov rcx, qword [rsp + 0x70]
cmp rcx, rsi
je 0x14001b02f
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov edx, 1
mov rcx, rbp
call method.el::Loggers.setDefaultConfigurations_el::Configurations_const__bool_
call method.el::base::Storage.getELPP__
mov rax, qword [rax]
or dword [rax + 0x48], 0x800
call method.el::base::Storage.getELPP__
mov rax, qword [rax]
or dword [rax + 0x48], 0x1000
call method.el::base::Storage.getELPP__
mov rax, qword [rax]
or dword [rax + 0x48], 8
call method.el::base::Storage.getELPP__
mov rax, qword [rax]
or dword [rax + 0x48], 0x40
call method.el::base::Storage.getELPP__
mov rax, qword [rax]
mov rcx, rdi
or dword [rax + 0x48], 0x20
mov rdx, qword [r13]
mov r8, qword [r13 + 8]
mov qword [rsp + 0x70], rsi
add r8, rdx
call fcn.140014fe0
mov rax, qword [rsp + 0x268]
pxor xmm0, xmm0
mov ecx, 0x28
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x90], rax
movups xmmword [rsp + 0x30], xmm0
call sym.operator_new_unsigned_long_long_
mov rbx, rax
lea rax, [rax + 0x10]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
mov qword [rbx], rax
mov rcx, rbx
add r8, rdx
call fcn.140014fe0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x30], rbx
mov qword [rbx + 0x20], rax
lea rax, [method.std._Function_handler_void__char_const__unsigned_long_long___mlog_configure_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__bool__unsigned_long_long__unsigned_long_long_::lambda_char_const__unsigned_long_l]
lea rbx, [sym._ZNSt17_Function_handlerIFvPKcyEZ14mlog_configureRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbyyEUlS1_yE_E10_M_manag]
movq xmm0, rbx
movq xmm1, rax
punpcklqdq xmm0, xmm1
movups xmmword [rsp + 0x40], xmm0
call method.el::base::Storage.getELPP__
mov rbx, qword [rax]
mov rax, qword [rsp + 0x40]
pxor xmm0, xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
movups xmmword [rsp + 0x50], xmm0
test rax, rax
je 0x14001b448
lea r12, [rsp + 0x30]
lea r13, [rsp + 0x50]
mov r8d, 2
mov rdx, r12
mov rcx, r13
call rax
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov r9, qword [rsp + 0x58]
movdqu xmm2, xmmword [rbx + 0xc0]
mov r8, qword [rsp + 0x50]
mov qword [rbx + 0xc8], r9
mov r9, qword [rbx + 0xd0]
mov qword [rbx + 0xd0], rax
mov rax, qword [rbx + 0xd8]
mov qword [rbx + 0xc0], r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], rax
mov qword [rbx + 0xd8], rdx
movups xmmword [rsp + 0x50], xmm2
test r9, r9
je 0x14001b1d0
lea rcx, [rsp + 0x50]
mov r8d, 3
mov rdx, rcx
call r9
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14001b1ea
lea rcx, [rsp + 0x30]
mov r8d, 3
mov rdx, rcx
call rax
mov rcx, qword [rsp + 0x70]
cmp rcx, rsi
je 0x14001b205
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
lea r8, [0x1401352cf]
mov rcx, rdi
mov qword [rsp + 0x70], rsi
lea rdx, [r8 - 0x1f]
call fcn.140015220
mov rcx, rdi
call method.el::Loggers.setFilenameCommonPrefix_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
mov rcx, qword [rsp + 0x70]
cmp rcx, rsi
je 0x14001b240
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
lea rcx, str.MONERO_LOGS
call sym.getenv
mov rcx, rax
test rax, rax
lea rax, str.:WARNING_net:FATAL_net.http:FATAL_net.ssl:FATAL_net.p2p:FATAL_net.cn:FATAL_daemon.rpc:FATAL_global:INFO_verify:FATAL_serialization:FATAL_daemon.rpc.payment:ERROR_stacktrace:INFO_logging:INFO_msgwriter:INFO
cmove rcx, rax
call sym.mlog_set_log_char_const_
call sym.EnableVTMode__
lea rax, method.el::base::threading::ThreadSafe.acquireLock__
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x100]
cmp rcx, rax
je 0x14001b29c
mov rax, qword [rsp + 0x100]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rdi, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd8]
lea rax, method.el::base::threading::ThreadSafe.acquireLock__
mov qword [rsp + 0xa0], rax
cmp rdi, rcx
je 0x14001b36a
mov rax, qword [0x14013ca40]
mov rsi, rcx
lea r12, [method.el::Configuration.Configuration__]
lea rbp, [rax + 0x10]
jmp 0x14001b31a
mov rcx, qword [rbx + 0x10]
lea rax, [rbx + 0x20]
mov qword [rbx], rbp
cmp rcx, rax
je 0x14001b2fd
mov rax, qword [rbx + 0x20]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov edx, 0x30
mov rcx, rbx
call sym.operator_delete_void__unsigned_long_long_
mov qword [rsi], 0
add rsi, 8
cmp rdi, rsi
je 0x14001b350
mov rbx, qword [rsi]
test rbx, rbx
je 0x14001b311
mov rax, qword [rbx]
mov rax, qword [rax + 8]
cmp rax, r12
je 0x14001b2e0
mov rcx, rbx
call rax
jmp 0x14001b30a
movzx eax, byte [r14]
mov byte [rsp + 0x80], al
jmp 0x14001ac25
mov rcx, qword [rsp + 0xd8]
cmp rcx, qword [rsp + 0xe0]
je 0x14001b36a
mov qword [rsp + 0xe0], rcx
lea rax, method.el::base::threading::ThreadSafe.acquireLock__
mov qword [rsp + 0xa0], rax
test rcx, rcx
je 0x14001b38e
mov rdx, qword [rsp + 0xe8]
sub rdx, rcx
call sym.operator_delete_void__unsigned_long_long_
lea rax, method.el::base::threading::internal::Mutex.Mutex__
lea rdi, method.el::base::threading::ThreadSafe.acquireLock__
movq xmm0, rdi
movq xmm3, rax
lea rcx, [rsp + 0xb0]
punpcklqdq xmm0, xmm3
movups xmmword [rsp + 0xa0], xmm0
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rdi, qword [0x14013cc10]
mov rax, qword [rsp + 0x1f8]
sub rax, qword [rdi]
jne 0x14001b4da
add rsp, 0x208
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x28], 0x40
lea r14, str._datetime_Y__M__d__H:_m:_s._g_t_thread_t_level_t_logger_t_loc_t_msg
mov r12d, 0x40
lea rdx, [rsp + 0x28]
xor r8d, r8d
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_long_long__unsigned_long_long_
mov qword [rsp + 0x70], rax
mov rcx, rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x80], rax
mov r8, r12
mov rdx, r14
call sym.memcpy
mov r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0x70]
jmp 0x14001ac28
xor edx, edx
jmp 0x14001b16f
lea edx, [rax + 5]
jmp 0x14001ad77
lea edx, [rax + 6]
jmp 0x14001ad77
lea edx, [rax + 7]
jmp 0x14001ad77
mov rcx, rsi
jmp 0x14001b42b
mov edx, 1
jmp 0x14001ad77
mov edx, 2
jmp 0x14001ad77
mov edx, 4
jmp 0x14001ad77
mov edx, 3
jmp 0x14001ad77
lea rcx, [rsp + 0x30]
call method.std::_Function_base._Function_base__
mov rcx, rdi
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_dispose__
mov rcx, rbp
call fcn.1400542d0
mov rdi, qword [0x14013cc10]
mov rax, qword [rsp + 0x1f8]
sub rax, qword [rdi]
je 0x14001b50e
call dbg.__stack_chk_fail
endbr64
mov rsi, rax
mov rcx, rbx
mov edx, 0x28
call sym.operator_delete_void__unsigned_long_long_
mov rbx, rsi
jmp 0x14001b4ac
mov rcx, r12
call method.std::_Function_base._Function_base__
jmp 0x14001b4b6
mov rcx, rbx
call sym._Unwind_Resume
endbr64
mov rcx, r13
mov rbx, rax
call method.std::_Function_base._Function_base__
jmp 0x14001b504