Function at 0x140036800
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140106010]
xor rax, rsp
mov qword [rbp + 8], rax
mov r15, rdx
mov rdi, rcx
mov r10, qword [rcx + 0x10]
mov rax, r10
mov rbx, 0xffffffffffffffff
test r10, r10
je 0x140036870
mov rdx, qword [rcx + 0x18]
dec rax
mov rcx, rdi
cmp rdx, 8
jb 0x140036851
mov rcx, qword [rdi]
movzx ecx, word [rcx + rax*2]
cmp cx, 0x2e
je 0x140036aa0
cmp cx, 0x5c
je 0x140036870
cmp cx, 0x3a
je 0x140036870
test rax, rax
jne 0x140036842
mov rcx, rbx
inc rcx
cmp word [r8 + rcx*2], 0
jne 0x140036873
movabs rax, 0x7ffffffffffffffe
sub rax, r10
cmp rax, rcx
jb 0x140036d76
lfence
mov r9, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400368a4
mov r9, qword [rdi]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r10
lea rcx, [rbp - 0x18]
call fcn.14000a4e0
nop
cmp qword [rbp - 8], 2
jb 0x140036911
lea rax, [rbp - 0x18]
mov rsi, qword [rbp - 0x18]
mov r14, qword [rbp]
cmp r14, 8
cmovae rax, rsi
cmp word [rax], 0x5c
je 0x140036b9d
lea rax, [rbp - 0x18]
cmp r14, 8
cmovae rax, rsi
movzx ecx, word [rax]
call fcn.1400a5d14
test eax, eax
je 0x140036911
lea rax, [rbp - 0x18]
cmp r14, 8
cmovae rax, rsi
cmp word [rax + 2], 0x3a
je 0x140036b9d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
lea rsi, [0x140111a90]
cmp word [0x140111a90], ax
jne 0x14003693c
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor r12d, r12d
mov qword [rsp + 0x50], r12
movdqa xmm0, xmmword [0x1400eb140]
movdqa xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rsi + r8*2], r12w
jne 0x140036960
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140009140
nop
lea rsi, [0x140111670]
cmp word [0x140111670], 0
jne 0x1400369a0
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x29]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov qword [rsp + 0x70], r12
movdqa xmm0, xmmword [0x1400eb140]
movdqa xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x70], r12w
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x1400369c0
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.140009140
nop
lea rsi, [0x140111460]
cmp word [0x140111460], 0
jne 0x1400369f8
mov edx, 0x104
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov qword [rbp - 0x70], r12
movdqa xmm0, xmmword [0x1400eb140]
movdqa xmmword [rbp - 0x60], xmm0
mov word [rbp - 0x70], r12w
nop
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x140036a10
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp - 0x70]
call fcn.140009140
nop
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.140036fd0
nop
lea r9, [fcn.140008d70]
mov edx, 0x20
lea r8d, [rdx - 0x1d]
lea rcx, [rsp + 0x50]
call fcn.140091c04
mov r9, qword [0x14010d060]
mov r8, qword [r9]
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp - 0x50]
call fcn.140037790
cmp qword [r15 + 0x10], 0
je 0x140036ac0
mov rax, qword [rbp - 0x48]
cmp rax, qword [rbp - 0x40]
je 0x140036ab1
mov rdx, r15
mov rcx, rax
call fcn.140008e10
add qword [rbp - 0x48], 0x20
jmp 0x140036ac0
mov rdx, rdi
lea rcx, [rbp - 0x18]
call fcn.140008e10
jmp 0x1400368bd
mov r8, r15
mov rdx, rax
lea rcx, [rbp - 0x50]
call fcn.140037470
mov rbx, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x48]
cmp rbx, rsi
je 0x140036b41
nop dword [rax]
lea r8, [rbp - 0x18]
mov rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400853e0
nop
mov dl, 1
lea rcx, [rbp - 0x38]
call fcn.14007c8d0
test al, al
jne 0x140036bda
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x140036b34
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036b2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140036d82
call fcn.140091bc0
add rbx, 0x20
cmp rbx, rsi
jne 0x140036ad0
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x140036b9d
mov rsi, qword [rbp - 0x48]
cmp rbx, rsi
je 0x140036b65
nop
mov rcx, rbx
call fcn.1400090d0
add rbx, 0x20
cmp rbx, rsi
jne 0x140036b50
mov rbx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140036b95
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140036d7c
mov rcx, rbx
call fcn.140091bc0
mov dl, 1
lea rcx, [rbp - 0x18]
call fcn.14007c8d0
test al, al
je 0x140036d11
lea rax, [rbp - 0x18]
cmp rdi, rax
je 0x140036bd3
lea rdx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
mov rcx, rdi
call fcn.140009140
mov bl, 1
jmp 0x140036d13
lea rsi, [rbp - 0x38]
mov rcx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x20]
cmp r8, 8
cmovae rsi, rcx
lea rax, [rbp - 0x38]
cmovae rax, rcx
mov r9, qword [rbp - 0x28]
lea r14, [rax + r9*2]
lea rbx, [rbp - 0x38]
cmovae rbx, rcx
cmp rbx, r14
je 0x140036c38
sub rsi, rbx
nop
mov rdx, qword [0x14010d100]
movzx ecx, word [rbx]
call fcn.1400a3c7c
mov word [rbx + rsi], ax
add rbx, 2
cmp rbx, r14
jne 0x140036c10
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x38]
lea rax, [rbp - 0x38]
cmp rdi, rax
je 0x140036c60
lea rdx, [rbp - 0x38]
cmp r8, 8
cmovae rdx, rcx
mov r8, r9
mov rcx, rdi
call fcn.140009140
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x38]
cmp r8, 8
jb 0x140036c98
lea rdx, [r8*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036c93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140036d82
call fcn.140091bc0
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], r12w
mov rbx, qword [rbp - 0x50]
test rbx, rbx
je 0x140036bd3
mov rdi, qword [rbp - 0x48]
cmp rbx, rdi
je 0x140036cd5
nop
mov rcx, rbx
call fcn.1400090d0
add rbx, 0x20
cmp rbx, rdi
jne 0x140036cc0
mov rbx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x40]
sub rdx, rbx
and rdx, 0xffffffffffffffe0
mov rax, rbx
cmp rdx, 0x1000
jb 0x140036d05
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140036d88
mov rcx, rbx
call fcn.140091bc0
mov bl, 1
jmp 0x140036d13
xor bl, bl
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x140036d4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140036d4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140036d70
call fcn.140091bc0
movzx eax, bl
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140091ba0
add rsp, 0x110
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14009b188
int3
call fcn.1400027a0
nop
call fcn.14009b188
nop
call fcn.14009b188
nop
call fcn.14009b188
int3