Function at 0x1400609d0
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 0x140060cde
sub edx, 1
je 0x140060b1b
sub edx, 1
je 0x140060af9
sub edx, 1
je 0x140060ab9
cmp edx, 3
je 0x140060a6e
lea rax, [0x1400a1850]
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.140006c70
lea rdx, [0x1400c8340]
lea rcx, [rsp + 0x1d8]
call fcn.1400649f0
int3
call fcn.1400605d0
mov rdi, rax
xor ecx, ecx
call fcn.140064550
mov qword [rsp + 0x5a0], rdi
mov rbx, rdi
cmp byte [rdi], 0
je 0x140060aaa
nop
mov rcx, rbx
call fcn.1400070b0
movsxd rcx, eax
add rbx, rcx
mov byte [rbx], 0xa
add rbx, 1
cmp byte [rbx], 0
jne 0x140060a90
xor ecx, ecx
call fcn.140064550
mov rax, rdi
jmp 0x140060d65
xor esi, esi
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
mov rax, qword [rcx + 8]
mov r8d, dword [rax]
lea rdx, [0x1400a28d4]
lea rcx, [rsp + 0x50]
call fcn.140018bc0
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], esi
xor ecx, ecx
call fcn.140064550
mov rax, rbx
jmp 0x140060d65
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.14004a6f0
jmp 0x140060d65
mov ecx, dword [rcx]
test cl, 1
jne 0x140060ca8
add ecx, 2
call fcn.140018350
mov dword [rsp + 0x48], eax
movsxd rcx, eax
mov eax, 2
mul rcx
mov rbp, 0xffffffffffffffff
cmovo rax, rbp
mov rcx, rax
call fcn.140063af0
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.14001aa40
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 0x140060c20
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, [0x1400a1850]
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.140006c70
lea r11, [0x1400a2698]
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.140006c70
mov edx, ebx
lea rcx, [rsp + 0xa8]
call fcn.14001bad0
lea rdx, [0x1400c83b8]
lea rcx, [rsp + 0xa8]
call fcn.1400649f0
int3
mov edx, eax
lea rcx, [rsp + 0x98]
call fcn.14001a9a0
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.140037d20
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x60], esi
xor ecx, ecx
call fcn.140064550
mov dword [rsp + 0x60], esi
mov qword [rsp + 0x68], rsi
mov rcx, rdi
call fcn.140064550
nop
mov rcx, qword [rsp + 0x40]
call fcn.140064550
mov rax, rbx
jmp 0x140060d65
mov r9d, 0x75
lea r8, str.....lib1oswinRegistry.cxx
lea rdx, str.data.length_____sizeof_TCHAR___0
lea rcx, [rsp + 0x300]
call fcn.14001b760
lea rdx, [0x1400c87c8]
lea rcx, [rsp + 0x300]
call fcn.1400649f0
int3
movsxd rax, dword [rcx]
test al, 1
jne 0x140060d2f
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.140037d20
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x78], esi
xor ecx, ecx
call fcn.140064550
mov rax, rbx
jmp 0x140060d65
mov r9d, 0x6c
lea r8, str.....lib1oswinRegistry.cxx
lea rdx, str.data.length_____sizeof_TCHAR___0
lea rcx, [rsp + 0x440]
call fcn.14001b760
lea rdx, [0x1400c87c8]
lea rcx, [rsp + 0x440]
call fcn.1400649f0
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