Function at 0x140005ae0
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xd0
mov qword [rbp - 0x79], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14006dbd0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, rcx
mov rax, qword [rcx + 0x70]
mov rdx, qword [rax]
xor r12d, r12d
test rdx, rdx
jne 0x140005b37
mov qword [rcx + 0x98], r12
jmp 0x140005fda
cmp qword [rcx + 0x98], r12
jne 0x140005fda
lea rbx, [rcx + 0x78]
mov rcx, rbx
call fcn.14000864c
mov rdx, rbx
call fcn.140004cbc
test al, al
jne 0x140005b6f
mov rax, qword [rdi + 0x70]
mov rcx, qword [rax]
mov qword [rdi + 0x98], rcx
jmp 0x140005fda
cmp qword [rbx + 0x18], 8
jb 0x140005b79
mov rbx, qword [rbx]
mov qword [rdi + 0x98], rbx
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax]
mov r15d, 0x400
test rcx, rcx
je 0x140005ded
mov rax, qword [rdi + 0xa8]
test dword [rax], r15d
jne 0x140005ded
mov qword [rbp - 0x71], rcx
mov byte [rbp - 0x69], r12b
movdqa xmm0, xmmword [0x14005f050]
movdqu xmmword [rbp - 0x51], xmm0
mov byte [rbp - 0x61], r12b
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], r12
mov rcx, qword [rdi + 0x70]
lea rdx, [rbp + 7]
mov rcx, qword [rcx]
call fcn.1400047fc
test rax, rax
jne 0x140005c27
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x140005bf6
mov rdx, qword [rbp + 0x17]
sub rdx, rcx
call fcn.140002984
nop
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x140005c11
cmp byte [rbp - 0x69], r12b
je 0x140005c11
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
nop dword [rax + rax]
mov rdx, qword [rbp - 0x49]
cmp rdx, 0x10
jb 0x140005fda
inc rdx
jmp 0x140005fd1
lea r13, vtable.environment_string_current_dir_char_.0
mov qword [rbp - 0x21], r13
movdqa xmm0, xmmword [0x14005f050]
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], r12b
mov rsi, qword [rbp + 7]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rsi + r8], r12b
jne 0x140005c4b
mov rdx, rsi
lea rcx, [rbp - 0x19]
call fcn.14000ab20
nop
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x140005d96
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r12
lea rdx, [rbp - 0x41]
call fcn.14000c674
mov rax, qword [rbp - 0x21]
movabs r10, 0xf5493fa654d19a70
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
mov rax, qword [rax]
call qword [0x140046750]
mov r15, qword [rbp - 0x39]
mov rbx, qword [rbp - 0x41]
mov r14d, 1
jmp 0x140005ccd
mov rdx, rbx
call fcn.1400087fc
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x61]
call fcn.14000bd14
add rbx, 0x20
lea rcx, [rbp - 0x61]
cmp rbx, r15
jne 0x140005cb2
xor r8d, r8d
mov rdx, r14
call fcn.14000bd14
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x140005d08
mov rdx, qword [rbp - 0x39]
call fcn.14000d940
mov rdx, qword [rbp - 0x31]
mov rcx, qword [rbp - 0x41]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
call fcn.140002984
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x140005d96
cmp qword [rbp - 0x49], 0x10
jb 0x140005d22
cmp qword [rbp - 0x61], r12
je 0x140005d96
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x41]
call fcn.140008890
lea rbx, [rdi + 0x50]
lea rax, [rbp - 0x41]
cmp rbx, rax
je 0x140005d6b
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140005d51
inc rdx
mov rcx, qword [rbx]
call fcn.140002984
mov edx, 0xf
movups xmm0, xmmword [rbp - 0x41]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x31]
movups xmmword [rbx + 0x10], xmm1
mov byte [rbp - 0x41], r12b
jmp 0x140005d6f
mov rdx, qword [rbp - 0x29]
cmp rdx, 0x10
jb 0x140005d81
inc rdx
mov rcx, qword [rbp - 0x41]
call fcn.140002984
cmp qword [rbx + 0x18], 0x10
jb 0x140005d8b
mov rbx, qword [rbx]
mov rax, qword [rdi + 0x28]
mov qword [rax], rbx
mov rcx, qword [rbp - 0x71]
mov qword [rbp - 0x21], r13
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x140005db4
inc rdx
mov rcx, qword [rbp - 0x19]
call fcn.140002984
mov rcx, qword [rbp - 0x71]
movdqa xmm0, xmmword [0x14005f050]
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], r12b
lea rax, vtable.environment_string_editor_char_.0
mov qword [rbp - 0x21], rax
test rsi, rsi
je 0x140005de8
mov rdx, qword [rbp + 0x17]
sub rdx, rsi
mov rcx, rsi
call fcn.140002984
mov rcx, qword [rbp - 0x71]
jmp 0x140005bfa
mov qword [rbp - 0x71], rcx
mov byte [rbp - 0x69], r12b
movdqa xmm0, xmmword [0x14005f040]
movdqu xmmword [rbp - 0x51], xmm0
mov word [rbp - 0x61], r12w
test rcx, rcx
jne 0x140005e30
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
nop dword [rax + rax]
mov qword [rbp - 0x71], rax
movzx ecx, byte [rbp - 0x69]
mov r14d, 1
test rax, rax
cmovne ecx, r14d
mov byte [rbp - 0x69], cl
mov rax, qword [rdi + 0x70]
mov rdx, qword [rax]
lea rsi, vtable.environment_string_current_dir_wchar_t_.0
mov qword [rbp - 0x21], rsi
lea rcx, [rbp - 0x19]
call fcn.1400024f4
nop
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x140005f68
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x31], r12
lea rdx, [rbp - 0x41]
call fcn.14000c574
mov rax, qword [rbp - 0x21]
movabs r10, 0xf5493fa654d19a70
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
mov rax, qword [rax]
call qword [0x140046750]
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x41]
call fcn.14000d1a8
nop
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x140005ec1
mov rdx, qword [rbp - 0x39]
call fcn.14000d8d8
mov rdx, qword [rbp - 0x31]
mov rcx, qword [rbp - 0x41]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
call fcn.140002984
mov rcx, qword [rbp - 0x71]
test rcx, rcx
je 0x140005f68
cmp qword [rbp - 0x49], 8
jb 0x140005edf
cmp qword [rbp - 0x61], r12
je 0x140005f68
lea rdx, [rbp - 0x61]
lea rcx, [rbp + 7]
call fcn.140008744
lea rbx, [rdi + 0x30]
lea rax, [rbp + 7]
cmp rbx, rax
je 0x140005f2e
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x140005f13
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
call fcn.140002984
mov edx, 7
movups xmm0, xmmword [rbp + 7]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp + 0x17]
movups xmmword [rbx + 0x10], xmm1
mov word [rbp + 7], r12w
jmp 0x140005f32
mov rdx, qword [rbp + 0x1f]
cmp rdx, 8
jb 0x140005f49
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 7]
call fcn.140002984
cmp qword [rbx + 0x18], 8
jb 0x140005f53
mov rbx, qword [rbx]
mov rax, qword [rdi + 0x28]
mov qword [rax], rbx
mov rax, qword [rdi + 0xa8]
or dword [rax], r15d
mov rcx, qword [rbp - 0x71]
mov qword [rbp - 0x21], rsi
mov rdx, qword [rbp - 1]
cmp rdx, 8
jb 0x140005f8b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x19]
call fcn.140002984
mov rcx, qword [rbp - 0x71]
movdqa xmm0, xmmword [0x14005f040]
movdqu xmmword [rbp - 9], xmm0
mov word [rbp - 0x19], r12w
lea rax, vtable.environment_string_editor_wchar_t_.0
mov qword [rbp - 0x21], rax
test rcx, rcx
je 0x140005fbf
cmp byte [rbp - 0x69], r12b
je 0x140005fbf
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
nop dword [rax + rax]
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x140005fda
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
call fcn.140002984
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140032b90
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret