Function at 0x14004ee00
Capabilities:
Query environment variable

Disassembly:
endbr64
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov rax, qword [r8]
mov qword [r8 + 0x10], rax
mov rbp, r8
lea r13, [rcx + 0x200]
mov dword [r8 + 0x18], 0
mov r12, qword [rdx + 8]
mov r15, qword [rdx]
cmp r12, r15
je 0x14004f094
mov qword [rsp + 0x28], r13
jmp 0x14004ee80
mov ecx, dword [rbp + 0x18]
cmp ecx, 0x1f
je 0x14004f0b0
lea eax, [rcx + 1]
mov dword [rbp + 0x18], eax
mov eax, 1
mov edx, dword [rbx]
shl eax, cl
mov ecx, eax
not eax
or ecx, edx
and eax, edx
test sil, sil
cmovne eax, ecx
add r15, 0x20
mov dword [rbx], eax
cmp r12, r15
je 0x14004f094
mov rcx, qword [rsp + 0x28]
mov rdx, r15
call method.cryptonote::Blockchain.have_tx_keyimg_as_spent_crypto::key_image_const__const
mov rbx, qword [rbp + 0x10]
mov esi, eax
cmp rbx, qword [rbp + 0x20]
jne 0x14004ee48
mov r14d, dword [rbp + 0x18]
mov rax, rbx
sub rax, qword [rbp]
movabs rdx, 0x7fffffffffffffe0
lea rax, [r14 + rax*8]
mov rdi, r14
cmp rax, rdx
je 0x14004f126
mov qword [rsp + 0x30], 4
test rax, rax
je 0x14004eee8
movabs rcx, 0xffffffffffffffc
lea rdx, [rax + rax]
mov qword [rsp + 0x30], rcx
cmp rdx, rax
jae 0x14004f0d8
mov rcx, qword [rsp + 0x30]
mov r13, rbx
call sym.operator_new_unsigned_long_long_
mov rdx, qword [rbp]
mov r9, rax
sub r13, rdx
mov qword [rsp + 0x38], rdx
cmp r13, 4
jle 0x14004f111
mov r8, r13
mov rcx, rax
call sym.memmove
mov r9, rax
lea rdx, [r9 + r13]
test r14, r14
je 0x14004f0ff
mov qword [rsp + 0x40], r12
mov r11, rbx
mov r8, r14
xor ecx, ecx
mov byte [rsp + 0x4f], sil
mov r13d, 1
jmp 0x14004ef54
lea eax, [rcx + 2]
add ecx, 1
sub r8, 1
je 0x14004ef8e
mov r10d, dword [rdx]
mov r12d, dword [r11]
mov eax, r13d
shl eax, cl
mov esi, r10d
and r12d, eax
or esi, eax
not eax
and eax, r10d
test r12d, r12d
cmovne eax, esi
mov dword [rdx], eax
cmp ecx, 0x1f
jne 0x14004ef48
add r11, 4
add rdx, 4
xor ecx, ecx
mov eax, 1
sub r8, 1
jne 0x14004ef54
mov r12, qword [rsp + 0x40]
movzx esi, byte [rsp + 0x4f]
cmp ecx, 0x1f
je 0x14004f0c8
mov r8d, 1
mov r13, rdx
shl r8d, cl
mov ecx, r8d
mov r8d, dword [rdx]
mov r10d, r8d
or r10d, ecx
not ecx
and ecx, r8d
test sil, sil
cmovne ecx, r10d
mov dword [rdx], ecx
mov rdx, qword [rbp + 0x10]
mov ecx, dword [rbp + 0x18]
sub rdx, rbx
lea r8, [rcx + rdx*8]
sub r8, r14
test r8, r8
jle 0x14004f03e
mov r11d, 1
jmp 0x14004eff9
add edi, 1
cmp eax, 0x1f
je 0x14004f032
add eax, 1
sub r8, 1
je 0x14004f03e
mov ecx, eax
mov edx, r11d
mov esi, r11d
mov r10d, dword [r13]
shl edx, cl
mov ecx, edi
shl esi, cl
mov ecx, dword [rbx]
and ecx, esi
mov esi, edx
not edx
or esi, r10d
and edx, r10d
test ecx, ecx
cmovne edx, esi
mov dword [r13], edx
cmp edi, 0x1f
jne 0x14004efe8
add rbx, 4
xor edi, edi
cmp eax, 0x1f
jne 0x14004eff0
add r13, 4
xor eax, eax
sub r8, 1
jne 0x14004eff9
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14004f069
mov rdx, qword [rbp + 0x20]
mov rcx, rdi
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x38], eax
sub rdx, rdi
call sym.operator_delete_void__unsigned_long_long_
mov r9, qword [rsp + 0x40]
mov eax, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
add r15, 0x20
mov qword [rbp], r9
mov dword [rbp + 8], 0
add rdx, r9
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x20], rdx
mov dword [rbp + 0x18], eax
cmp r12, r15
jne 0x14004ee80
mov eax, 1
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rbx + 4]
mov dword [rbp + 0x18], 0
mov qword [rbp + 0x10], rax
jmp 0x14004ee5a
lea r13, [rdx + 4]
mov ecx, 0x80000000
xor eax, eax
jmp 0x14004efb0
movabs rax, 0x7fffffffffffffe0
cmp rdx, rax
cmovbe rax, rdx
add rax, 0x1f
shr rax, 5
shl rax, 2
mov qword [rsp + 0x30], rax
jmp 0x14004eee8
mov r13, rdx
mov ecx, 1
mov eax, 1
jmp 0x14004efb0
jne 0x14004ef1c
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov dword [r9], eax
jmp 0x14004ef1c
lea rcx, [0x140385af4]
call sym.std::__throw_length_error_char_const_
nop
nop
nop word cs:[rax + rax]
nop