Function at 0x14006c830
Capabilities:
Query environment variable

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x580
mov qword [rsp + 0x90], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x20], rsi
mov rbx, rcx
sub edx, 1
je 0x14006cb3e
sub edx, 1
je 0x14006c97b
sub edx, 1
je 0x14006c959
sub edx, 1
je 0x14006c919
cmp edx, 3
je 0x14006c8ce
lea rax, [0x1400b59c8]
mov qword [r11 - 0x3b0], rax
mov byte [rsp + 0x1e0], 0
mov byte [rsp + 0x2e0], 0
or r9d, 0xffffffff
lea r8, str.unsupported_registry_type
mov edx, 0x100
lea rcx, [r11 - 0x3a8]
call fcn.14001e6f0
lea rdx, [0x1400e0790]
lea rcx, [rsp + 0x1d8]
call fcn.140073110
int3
call fcn.14006c430
mov rdi, rax
xor ecx, ecx
call fcn.140073030
mov qword [rsp + 0x5a0], rdi
mov rbx, rdi
cmp byte [rdi], 0
je 0x14006c90a
nop
mov rcx, rbx
call fcn.140018b60
movsxd rcx, eax
add rbx, rcx
mov byte [rbx], 0xa
add rbx, 1
cmp byte [rbx], 0
jne 0x14006c8f0
xor ecx, ecx
call fcn.140073030
mov rax, rdi
jmp 0x14006cbc5
xor esi, esi
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
mov rax, qword [rcx + 8]
mov r8d, dword [rax]
lea rdx, [0x1400b9084]
lea rcx, [rsp + 0x50]
call fcn.140023e30
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
xor ecx, ecx
call fcn.140073030
mov rax, rbx
jmp 0x14006cbc5
lea rcx, [rsp + 0x40]
mov rax, qword [rbx]
mov qword [rcx], rax
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
lea rcx, [rsp + 0x40]
call fcn.140050c80
jmp 0x14006cbc5
mov ecx, dword [rcx]
test cl, 1
jne 0x14006cb08
add ecx, 2
call fcn.1400235c0
mov dword [rsp + 0x48], eax
movsxd rcx, eax
mov eax, 2
mul rcx
mov rbp, 0xffffffffffffffff
cmovo rax, rbp
mov rcx, rax
call fcn.1400725d0
mov word [rax], 0
mov qword [rsp + 0x40], rax
movsxd r8, dword [rbx]
shr r8, 1
mov rdx, qword [rbx + 8]
lea rcx, [rsp + 0x40]
call fcn.14004b270
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov ebx, eax
test eax, eax
jne 0x14006ca80
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [0x1400b59c8]
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0xb0], 0
mov byte [rsp + 0x1b0], 0
mov r9d, ebp
lea r8, str.ExpandEnvironmentStrings
mov edx, 0x100
lea rcx, [rsp + 0xb0]
call fcn.14001e6f0
lea r11, [0x1400b5a30]
mov qword [rsp + 0xa8], r11
mov byte [rsp + 0x1b0], 0
mov r9d, ebp
lea r8, str.System
lea edx, [rbp + 0x21]
lea rcx, [rsp + 0x1b0]
call fcn.14001e6f0
mov edx, ebx
lea rcx, [rsp + 0xa8]
call fcn.140020200
lea rdx, [0x1400e07e8]
lea rcx, [rsp + 0xa8]
call fcn.140073110
int3
mov edx, eax
lea rcx, [rsp + 0x98]
call fcn.14004b1d0
nop
mov r8d, ebx
mov rdi, qword [rsp + 0x98]
mov rdx, rdi
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor esi, esi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r9d, ebp
mov r8d, 0xfde9
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14003f610
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x60], esi
xor ecx, ecx
call fcn.140073030
mov dword [rsp + 0x60], esi
mov qword [rsp + 0x68], rsi
mov rcx, rdi
call fcn.140073030
nop
mov rcx, qword [rsp + 0x40]
call fcn.140073030
mov rax, rbx
jmp 0x14006cbc5
mov r9d, 0x75
lea r8, str.....lib1oswinRegistry.cxx
lea rdx, str.data.length_____sizeof_TCHAR___0
lea rcx, [rsp + 0x300]
call fcn.140022960
lea rdx, [0x1400e0c18]
lea rcx, [rsp + 0x300]
call fcn.140073110
int3
movsxd rax, dword [rcx]
test al, 1
jne 0x14006cb8f
mov r9, rax
shr r9, 1
xor esi, esi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
mov r8d, 0xfde9
mov rdx, qword [rcx + 8]
lea rcx, [rsp + 0x78]
call fcn.14003f610
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x78], esi
xor ecx, ecx
call fcn.140073030
mov rax, rbx
jmp 0x14006cbc5
mov r9d, 0x6c
lea r8, str.....lib1oswinRegistry.cxx
lea rdx, str.data.length_____sizeof_TCHAR___0
lea rcx, [rsp + 0x440]
call fcn.140022960
lea rdx, [0x1400e0c18]
lea rcx, [rsp + 0x440]
call fcn.140073110
int3
lea r11, [rsp + 0x580]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret