Function at 0x14005c010
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x570
mov rsi, rcx
xor r13d, r13d
mov ecx, 0x208
mov r12d, r8d
mov rbx, rdx
mov edi, r13d
call fcn.1400e4e54
mov r14, rax
test rax, rax
je 0x14005c2c0
mov qword [rsp + 0x5a8], r15
lea r15, [rbx + 8]
mov rcx, r15
call fcn.1400e1d40
lea rax, [rsp + 0x44]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov dword [rsp + 0x30], 0x104
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5b8]
lea rdx, [rsp + 0x360]
mov r8d, 0x104
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1400e1540
test eax, eax
je 0x14005c2ae
mov qword [rsp + 0x5a0], rbp
mov ecx, dword [rsp + 0x5b8]
lea eax, [rcx - 1]
cmp eax, 1
ja 0x14005c25a
cmp word [rsp + 0x50], r13w
je 0x14005c25a
cmp ecx, 2
jne 0x14005c111
lea rcx, [rsp + 0x50]
mov r8d, 0x104
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea rdx, [rsp + 0x50]
mov rax, r14
sub rdx, r14
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rax]
lea rax, [rax + 2]
mov word [rdx + rax - 2], cx
test cx, cx
jne 0x14005c100
xor edx, edx
lea rcx, [rsp + 0x50]
lea r8d, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbp, rax
test rax, rax
je 0x14005c1c6
lea r8, [rsp + 0x260]
mov r9d, 0x100
mov edx, r12d
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x14005c1c6
mov edi, dword [rsi + 8]
mov ecx, 0x18
lea eax, [rdi + 1]
mov dword [rsi + 8], eax
call fcn.1400e5d3c
mov rbx, rax
test rax, rax
je 0x14005c231
lea rax, vtable.CStringedMenuItem.0
mov qword [rbx + 0x10], r13
lea rcx, [rsp + 0x50]
mov qword [rbx], rax
mov dword [rbx + 8], edi
call fcn.1400e5da8
mov qword [rbx + 0x10], rax
test rax, rax
je 0x14005c234
lea rcx, [rsi + 0x18]
mov r8, rbx
xor edx, edx
call fcn.14005c7a0
test rax, rax
je 0x14005c234
mov rcx, qword [rsi + 0x10]
lea r9, [rsp + 0x260]
mov r8d, edi
xor edx, edx
call qword [sym.imp.USER32.dll_AppendMenuW]
jmp 0x14005c24c
mov edi, dword [rsi + 8]
mov ecx, 0x18
lea eax, [rdi + 1]
mov dword [rsi + 8], eax
call fcn.1400e5d3c
mov rbx, rax
test rax, rax
je 0x14005c231
lea rax, vtable.CStringedMenuItem.0
mov qword [rbx + 0x10], r13
lea rcx, [rsp + 0x50]
mov qword [rbx], rax
mov dword [rbx + 8], edi
call fcn.1400e5da8
mov qword [rbx + 0x10], rax
test rax, rax
je 0x14005c234
lea rcx, [rsi + 0x18]
mov r8, rbx
xor edx, edx
call fcn.14005c7a0
test rax, rax
je 0x14005c234
mov rcx, qword [rsi + 0x10]
lea r9, [rsp + 0x360]
mov r8d, edi
xor edx, edx
call qword [sym.imp.USER32.dll_AppendMenuW]
jmp 0x14005c24c
mov rbx, r13
dec dword [rsi + 8]
test rbx, rbx
je 0x14005c249
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov edi, r13d
test rbp, rbp
je 0x14005c25a
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rax, [rsp + 0x44]
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x360]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov dword [rsp + 0x30], 0x104
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5b8]
mov r8d, 0x104
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1400e1540
test eax, eax
jne 0x14005c0b1
mov rbp, qword [rsp + 0x5a0]
mov rcx, r14
call fcn.1400e83b8
mov r15, qword [rsp + 0x5a8]
mov eax, edi
mov rbx, qword [rsp + 0x5b0]
add rsp, 0x570
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret