Function at 0x14005fc80
Capabilities:
Query environment variable

Disassembly:
push rbx
push r14
push r15
mov eax, 0x10040
call fcn.1400e0af0
sub rsp, rax
mov rbx, qword [0x14012a950]
lea rdx, [rsp + 0x30]
mov r8d, 0x7fff
mov r15, rcx
call qword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
mov r14d, eax
cmp eax, 0x7fff
jb 0x14005ff88
movzx ecx, byte [rbx + 0x23]
mov qword [rsp + 0x10060], rbp
mov qword [rsp + 0x10070], rsi
mov qword [rsp + 0x10078], rdi
lea edx, [r14 - 1]
xor ebp, ebp
mov qword [rsp + 0x10038], r12
mov qword [rsp + 0x10030], r13
mov esi, edx
test cl, cl
jne 0x14005fd0f
mov rcx, qword [rbx + 0x10]
mov r9b, 1
mov r8d, esi
xor edx, edx
mov byte [rsp + 0x20], 1
call fcn.1400bd650
jmp 0x14005fecd
mov r13b, 1
movzx r8d, r13b
cmp rsi, 0xffffffffffffffff
jne 0x14005fd24
xor r8b, r8b
mov rsi, rbp
jmp 0x14005fd27
xor r13b, r13b
lea rax, [rsi + 1]
lea rdi, [rax + rax]
cmp cl, 2
jne 0x14005fd6b
test r13b, r13b
je 0x14005fd4d
lea rcx, [0x1400f1514]
mov rdx, rsi
call fcn.140006d20
jmp 0x14005fecd
lea rcx, [0x14012d228]
mov rdx, rax
call fcn.140006de0
mov r11d, ebp
test rax, rax
setne r11b
jmp 0x14005fed0
cmp rdi, qword [0x1401255a0]
jbe 0x14005fd86
cmp rdi, qword [rbx + 0x18]
jbe 0x14005fd86
lea rdx, str.Memory_limit_reached__see_MaxMem_in_the_help_file_.
jmp 0x14005feba
cmp rax, 2
jae 0x14005fda7
test r8b, r8b
mov edx, ebp
mov rcx, rbx
setne dl
xor r8d, r8d
add edx, 3
call fcn.1400bdd00
jmp 0x14005ff1b
movzx eax, byte [rbx + 0x21]
test al, 2
je 0x14005fdbd
mov rcx, qword [rbx]
and al, 0x3d
mov byte [rbx + 0x21], al
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbx + 0x18]
and byte [rbx + 0x21], 0x82
cmp rdi, rcx
jbe 0x14005fe5c
movzx edx, byte [rbx + 0x20]
movzx eax, dl
cmp dl, 1
jbe 0x14005fdf0
cmp al, 2
je 0x14005fe1f
mov r12, qword [rsp + 0x10068]
mov rax, qword [rsp + 0x10068]
jmp 0x14005fe50
cmp rdi, 0x80
ja 0x14005fe1f
mov eax, 8
mov r12, rdi
cmp rdi, rax
cmovbe r12, rax
mov rcx, r12
call fcn.1400b60b0
test rax, rax
je 0x14005fed5
mov byte [rbx + 0x20], 1
jmp 0x14005fe50
mov r12, rdi
cmp dl, 2
jne 0x14005fe38
test rcx, rcx
je 0x14005fe38
mov rcx, qword [rbx + 8]
mov bpl, 1
call fcn.1400d6fd8
test rdi, rdi
js 0x14005fe8e
mov rcx, rdi
call fcn.1400d6f18
test rax, rax
je 0x14005fe8e
mov byte [rbx + 0x20], 2
xor ebp, ebp
and byte [rbx + 0x21], 0x7f
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], r12
test r13b, r13b
je 0x14005ff0c
mov rcx, qword [rbx + 8]
lea rax, [0x1400f1514]
cmp rcx, rax
je 0x14005fe81
lea r8, [rsi + rsi]
mov rdx, rax
call fcn.1400d7a40
mov rax, qword [rbx + 8]
mov word [rax + rsi*2], bp
jmp 0x14005ff13
test bpl, bpl
je 0x14005fea6
lea rax, [0x14012c4b8]
xor ebp, ebp
mov qword [rbx + 8], rax
mov qword [rbx + 0x18], rbp
jmp 0x14005feaf
mov rax, qword [rbx + 8]
xor ebp, ebp
mov word [rax], bp
mov qword [rbx + 0x10], rbp
lea rdx, str.Out_of_memory.
lea r8, [0x1400f1514]
lea rcx, [0x14012c5c0]
call fcn.14004e5e0
mov r11d, eax
test r11d, r11d
jne 0x14005ff1b
xor eax, eax
mov r12, qword [rsp + 0x10038]
mov rdi, qword [rsp + 0x10078]
mov rsi, qword [rsp + 0x10070]
mov rbp, qword [rsp + 0x10060]
mov r13, qword [rsp + 0x10030]
add rsp, 0x10040
pop r15
pop r14
pop rbx
ret
mov rax, qword [rbx + 8]
mov word [rax], bp
lea rax, [rsi + rsi]
mov qword [rbx + 0x10], rax
mov edi, 1
xor r8d, r8d
mov rcx, rbx
mov edx, edi
call fcn.140001820
mov r8d, r14d
mov rcx, r15
mov rdx, rax
call qword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableW]
test eax, eax
jne 0x14005ff50
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140001820
mov word [rax], bp
cmp byte [rbx + 0x23], 0
jne 0x14005ff5a
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 2
jne 0x14005ff7d
cmp qword [0x14012d240], 0
je 0x14005ff7d
lea rcx, [0x14012d228]
call fcn.140006ea0
mov edi, eax
jmp 0x14005fed7
and byte [rbx + 0x21], 0x86
mov eax, edi
jmp 0x14005fed7
lea rax, [0x1400f1514]
test r14d, r14d
lea rdx, [rsp + 0x30]
cmove rdx, rax
mov r8, r14
mov rcx, rbx
xor r9d, r9d
mov byte [rsp + 0x20], 1
call fcn.1400bd650
add rsp, 0x10040
pop r15
pop r14
pop rbx
ret