Function at 0x1400061ac
Capabilities:
Get common file path
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x30
mov rdi, rcx
mov ecx, 0x2719
call fcn.140004658
mov r12d, 0x1770
mov rdx, rdi
test eax, eax
mov ecx, r12d
setne r14b
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x1400062b2
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x1400062a8
mov rcx, rdi
call fcn.14001859c
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
mov ebp, eax
test eax, eax
jle 0x14000629e
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140015fd4
mov r8d, ebx
mov rcx, rdi
mov rdx, rax
mov rsi, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
test eax, eax
je 0x140006291
mov edx, 0x3f
mov rcx, rsi
call fcn.1400160d0
test rax, rax
je 0x14000625e
xor r13b, r13b
jmp 0x140006291
test r14b, r14b
je 0x140006291
cmp ebp, r12d
jge 0x140006291
mov rdx, rsi
mov rcx, rdi
call fcn.1400180a0
test eax, eax
je 0x140006291
lea rcx, str.using_long_path__S
mov rdx, rsi
call fcn.1400116ec
mov rdx, rsi
mov rcx, rdi
call fcn.1400166d0
mov rcx, rsi
call fcn.140016490
test r13b, r13b
je 0x1400062b2
mov rcx, rdi
call fcn.140005e5c
jmp 0x1400062aa
xor al, al
test al, al
jne 0x1400067a9
lea rcx, [0x140033898]
mov r8d, r12d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140006399
lea rdx, [0x140033880]
mov rcx, rdi
call fcn.140016630
test rax, rax
je 0x140006399
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x14000638f
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
mov ebp, eax
test eax, eax
jle 0x140006385
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140015fd4
mov r8d, ebx
mov rcx, rdi
mov rdx, rax
mov rsi, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
test eax, eax
je 0x140006378
mov edx, 0x3f
mov rcx, rsi
call fcn.1400160d0
test rax, rax
je 0x140006345
xor r13b, r13b
jmp 0x140006378
test r14b, r14b
je 0x140006378
cmp ebp, r12d
jge 0x140006378
mov rdx, rsi
mov rcx, rdi
call fcn.1400180a0
test eax, eax
je 0x140006378
lea rcx, str.using_long_path__S
mov rdx, rsi
call fcn.1400116ec
mov rdx, rsi
mov rcx, rdi
call fcn.1400166d0
mov rcx, rsi
call fcn.140016490
test r13b, r13b
je 0x140006399
mov rcx, rdi
call fcn.140005e5c
jmp 0x140006391
xor al, al
test al, al
jne 0x1400067a9
lea rcx, [0x140033870]
mov r8d, r12d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140006499
mov rcx, rdi
call fcn.140016100
mov ebx, r12d
mov rcx, rdi
sub ebx, eax
call fcn.140016100
lea rcx, [0x140033860]
lea rdx, [rdi + rax]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140006499
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x14000648f
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
mov ebp, eax
test eax, eax
jle 0x140006485
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140015fd4
mov r8d, ebx
mov rcx, rdi
mov rdx, rax
mov rsi, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
test eax, eax
je 0x140006478
mov edx, 0x3f
mov rcx, rsi
call fcn.1400160d0
test rax, rax
je 0x140006445
xor r13b, r13b
jmp 0x140006478
test r14b, r14b
je 0x140006478
cmp ebp, r12d
jge 0x140006478
mov rdx, rsi
mov rcx, rdi
call fcn.1400180a0
test eax, eax
je 0x140006478
lea rcx, str.using_long_path__S
mov rdx, rsi
call fcn.1400116ec
mov rdx, rsi
mov rcx, rdi
call fcn.1400166d0
mov rcx, rsi
call fcn.140016490
test r13b, r13b
je 0x140006499
mov rcx, rdi
call fcn.140005e5c
jmp 0x140006491
xor al, al
test al, al
jne 0x1400067a9
call fcn.140005b1c
mov rax, qword [0x140044230]
test rax, rax
je 0x1400065bc
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea edx, [r9 + 0x23]
mov qword [rsp + 0x20], rdi
call rax
test eax, eax
jne 0x1400065bc
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x1400065bc
lea rdx, [0x140033850]
mov rcx, rdi
call fcn.140016630
mov rcx, rdi
call fcn.14001859c
lea rdx, [0x140033848]
mov rcx, rdi
call fcn.140016630
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x1400065b2
mov rcx, rdi
call fcn.14001859c
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
mov ebp, eax
test eax, eax
jle 0x1400065a8
lea ebx, [rax + 0xa]
movsxd rcx, ebx
call fcn.140015fd4
mov r8d, ebx
mov rcx, rdi
mov rdx, rax
mov rsi, rax
mov r13b, 1
call qword [sym.imp.KERNEL32.dll_GetLongPathNameA]
test eax, eax
je 0x14000659b
mov edx, 0x3f
mov rcx, rsi
call fcn.1400160d0
test rax, rax
je 0x140006568
xor r13b, r13b
jmp 0x14000659b
test r14b, r14b
je 0x14000659b
cmp ebp, r12d
jge 0x14000659b
mov rdx, rsi
mov rcx, rdi
call fcn.1400180a0
test eax, eax
je 0x14000659b
lea rcx, str.using_long_path__S
mov rdx, rsi
call fcn.1400116ec
mov rdx, rsi
mov rcx, rdi
call fcn.1400166d0
mov rcx, rsi
call fcn.140016490
test r13b, r13b
je 0x1400065bc
mov rcx, rdi
call fcn.140005e5c
jmp 0x1400065b4
xor al, al
test al, al
jne 0x1400067a9
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x140006601
lea rdx, [0x140033848]
mov rcx, rdi
call fcn.140016630
test rax, rax
je 0x140006601
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x1400065f7
mov rcx, rdi
call fcn.140005e5c
jmp 0x1400065f9
xor al, al
test al, al
jne 0x1400067a9
lea rdx, [0x140033840]
mov rcx, rdi
call fcn.1400166d0
test rax, rax
je 0x140006636
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x14000662c
mov rcx, rdi
call fcn.140005e5c
jmp 0x14000662e
xor al, al
test al, al
jne 0x1400067a9
lea rdx, [0x140033838]
mov rcx, rdi
call fcn.1400166d0
test rax, rax
je 0x14000666b
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x140006661
mov rcx, rdi
call fcn.140005e5c
jmp 0x140006663
xor al, al
test al, al
jne 0x1400067a9
mov edx, r12d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x14000669c
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x140006692
mov rcx, rdi
call fcn.140005e5c
jmp 0x140006694
xor al, al
test al, al
jne 0x1400067a9
lea rdx, [0x140033838]
mov rcx, rdi
call fcn.1400166d0
test rax, rax
je 0x1400066d9
mov rcx, rdi
call fcn.140016100
test rax, rax
je 0x1400066cf
mov rcx, rdi
call fcn.14001859c
mov rcx, rdi
call fcn.140005e5c
jmp 0x1400066d1
xor al, al
test al, al
jne 0x1400067a9
mov rdx, rdi
mov ecx, r12d
mov byte [0x14004b772], 1
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x140006708
mov r9b, r14b
xor r8d, r8d
mov dl, 1
mov rcx, rdi
call fcn.140005fec
test al, al
jne 0x1400067a9
lea rcx, [0x140033898]
mov r8d, r12d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x140006747
lea rdx, [0x140033880]
mov rcx, rdi
call fcn.140016630
test rax, rax
je 0x140006747
mov r9b, r14b
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140005fec
test al, al
jne 0x1400067a9
lea rcx, [0x140033870]
mov r8d, r12d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x14000679d
mov rcx, rdi
call fcn.140016100
mov rcx, rdi
sub r12d, eax
call fcn.140016100
lea rcx, [0x140033860]
lea rdx, [rdi + rax]
mov r8d, r12d
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x14000679d
mov r9b, r14b
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.140005fec
test al, al
jne 0x1400067a9
xor edx, edx
mov ecx, 0x3f7
call fcn.140004f54
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop r13
pop r12
ret