Function at 0x14005c740
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.1400e3178
mov r14, rax
test rax, rax
je 0x14005c9f0
mov qword [rsp + 0x5a8], r15
lea r15, [rbx + 8]
mov rcx, r15
call fcn.1400e0320
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.1400dfb20
test eax, eax
je 0x14005c9de
mov qword [rsp + 0x5a0], rbp
mov ecx, dword [rsp + 0x5b8]
lea eax, [rcx - 1]
cmp eax, 1
ja 0x14005c98a
cmp word [rsp + 0x50], r13w
je 0x14005c98a
cmp ecx, 2
jne 0x14005c841
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 0x14005c830
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 0x14005c8f6
lea r8, [rsp + 0x260]
mov r9d, 0x100
mov edx, r12d
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x14005c8f6
mov edi, dword [rsi + 8]
mov ecx, 0x18
lea eax, [rdi + 1]
mov dword [rsi + 8], eax
call fcn.1400e4060
mov rbx, rax
test rax, rax
je 0x14005c961
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.1400e40cc
mov qword [rbx + 0x10], rax
test rax, rax
je 0x14005c964
lea rcx, [rsi + 0x18]
mov r8, rbx
xor edx, edx
call fcn.14005cee0
test rax, rax
je 0x14005c964
mov rcx, qword [rsi + 0x10]
lea r9, [rsp + 0x260]
mov r8d, edi
xor edx, edx
call qword [sym.imp.USER32.dll_AppendMenuW]
jmp 0x14005c97c
mov edi, dword [rsi + 8]
mov ecx, 0x18
lea eax, [rdi + 1]
mov dword [rsi + 8], eax
call fcn.1400e4060
mov rbx, rax
test rax, rax
je 0x14005c961
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.1400e40cc
mov qword [rbx + 0x10], rax
test rax, rax
je 0x14005c964
lea rcx, [rsi + 0x18]
mov r8, rbx
xor edx, edx
call fcn.14005cee0
test rax, rax
je 0x14005c964
mov rcx, qword [rsi + 0x10]
lea r9, [rsp + 0x360]
mov r8d, edi
xor edx, edx
call qword [sym.imp.USER32.dll_AppendMenuW]
jmp 0x14005c97c
mov rbx, r13
dec dword [rsi + 8]
test rbx, rbx
je 0x14005c979
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov edi, r13d
test rbp, rbp
je 0x14005c98a
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.1400dfb20
test eax, eax
jne 0x14005c7e1
mov rbp, qword [rsp + 0x5a0]
mov rcx, r14
call fcn.1400e66d8
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