Function at 0x1400c3120
Capabilities:
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x440], 0xfffffffffffffffe
mov qword [rbp + 0x3d0], rcx
mov qword [rbp + 0x3c0], rdx
mov qword [rbp + 0x3c8], 0xe
lea rdi, [rbp - 0x58]
mov r8d, 0xe
mov rcx, rdi
call fcn.1400cb680
mov r12, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x50]
cmp qword [rbp - 0x58], 1
je 0x1400c34a7
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x418], rsi
mov qword [rbp + 0x3a8], rsi
mov qword [rbp + 0x3f0], r12
mov qword [rbp + 0x3b0], r12
mov qword [rbp + 0x3b8], rax
xor r15d, r15d
mov r8d, 0x400
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x420], 2
xorps xmm0, xmm0
movups xmmword [rbp + 0x428], xmm0
mov r14d, 0x200
mov eax, 2
mov qword [rbp + 0x438], rax
mov ebx, 2
xor edi, edi
cmp r14, 0x201
jae 0x1400c3219
jmp 0x1400c32d0
cmp r14, rsi
mov r14, rsi
ja 0x1400c3331
cmp r14, 0x201
jb 0x1400c32d0
mov rdx, r14
sub rdx, rdi
mov rax, r15
sub rax, rdi
cmp rax, rdx
jae 0x1400c32c3
add rdx, rdi
jb 0x1400c3457
lea rax, [r15 + r15]
cmp rax, rdx
cmova rdx, rax
cmp rdx, 4
mov ecx, 4
cmovbe rdx, rcx
xor r8d, r8d
add rdx, rdx
setae r8b
add r8, r8
test r15, r15
je 0x1400c327c
mov qword [rbp + 0x3f8], rbx
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], 2
jmp 0x1400c3287
mov qword [rbp + 0x3f8], 0
lea rcx, [rbp + 0x3d8]
lea r9, [rbp + 0x3f8]
call fcn.1400c2640
mov rbx, qword [rbp + 0x3e0]
mov rdx, qword [rbp + 0x3e8]
cmp qword [rbp + 0x3d8], 1
je 0x1400c3475
shr rdx, 1
mov qword [rbp + 0x438], rbx
mov r15, rdx
mov rdi, r14
mov r13, r14
mov r12, rbx
jmp 0x1400c32da
mov r13d, 0x200
lea r12, [rbp - 0x58]
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, qword [rbp + 0x418]
mov rdx, r12
mov r8d, r14d
call sub.KERNEL32.dll_GetEnvironmentVariableW
mov esi, eax
test eax, eax
jne 0x1400c3306
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x1400c3386
mov esi, esi
cmp r14, rsi
jne 0x1400c3200
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400c3200
add r14, r14
cmp r14, 0x201
jae 0x1400c3219
jmp 0x1400c32d0
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x430], rdi
mov qword [rbp + 0x428], r15
cmp r13, rsi
jb 0x1400c3530
lea rcx, [rbp + 0x3f8]
mov rdx, r12
mov r8, rsi
call fcn.1400c9510
mov rsi, qword [rbp + 0x3f8]
mov r12, qword [rbp + 0x400]
mov r14, qword [rbp + 0x408]
xor edi, edi
test r15, r15
jne 0x1400c33b8
jmp 0x1400c33cf
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x430], rdi
mov qword [rbp + 0x428], r15
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
mov dil, 1
xor r12d, r12d
test r15, r15
je 0x1400c33cf
test rbx, rbx
je 0x1400c33cf
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.14019e1f5
test dil, dil
je 0x1400c33fb
movabs rax, 0xffffffff000000ff
and rax, rsi
xor ecx, ecx
movabs rdx, 0xcb00000000
xor ebx, ebx
cmp rax, rdx
setne bl
cmove rsi, rcx
jmp 0x1400c33fd
xor ebx, ebx
mov rdi, qword [rbp + 0x418]
mov rax, qword [rbp + 0x3f0]
test rax, rax
je 0x1400c342c
test rdi, rdi
je 0x1400c342c
add rax, rax
je 0x1400c342c
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.14019e1f5
test rbx, rbx
jne 0x1400c34a7
mov rax, qword [rbp + 0x3d0]
mov qword [rax + 8], r12
mov qword [rax], rsi
mov qword [rax + 0x10], r14
add rsp, 0x4c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x430], rdi
mov qword [rbp + 0x428], r15
jmp 0x1400c3496
mov rax, qword [rbp + 0x438]
mov qword [rbp + 0x420], rax
mov qword [rbp + 0x430], rdi
mov qword [rbp + 0x428], r15
test rdx, rdx
jne 0x1400c349d
call fcn.14002ff10
ud2
mov rcx, rbx
call fcn.14002fe70
ud2
mov qword [rbp + 0x3e0], r12
mov qword [rbp + 0x3d8], rsi
lea rax, [rbp + 0x3c0]
mov qword [rbp + 0x3f8], rax
lea rax, [0x1400cbb20]
mov qword [rbp + 0x400], rax
lea rax, [rbp + 0x3d8]
mov qword [rbp + 0x408], rax
lea rax, [0x1400cbd70]
mov qword [rbp + 0x410], rax
lea rax, [0x140210438]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 2
mov qword [rbp - 0x48], 0
lea rax, [rbp + 0x3f8]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 2
lea rdx, str.library_std_srcenv.rsfailed_to_get_environment_variable__other_os_erroroperation_interruptedwrite_zerotimed_outinvalid_datainvalid_input_parameteroperation_would_blockentity_already_existsbroken_pipeaddress_not_availableaddress_in_usenot_connectedconnection_abortedconnection_resetconnection_refusedpermission_deniedentity_not_foundunexpected_end_of_file
lea rcx, [rbp - 0x58]
call fcn.1400cc050
jmp 0x1400c349b
lea r8, str.library_std_src_syswindowsmod.rsthread__panicked_at__
mov rcx, rsi
mov rdx, r13
call fcn.140031fc0
jmp 0x1400c349b