Function at 0x140039620
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov rax, qword [0x1402acd18]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
mov qword [rsp + 0x60], rdx
mov rdi, rcx
mov qword [rsp + 0x70], rdx
xor esi, esi
xor edx, edx
mov r8d, 0x180
lea rcx, [rbp - 0x40]
call fcn.1400bc2f0
lea rcx, [rbp - 0x40]
call fcn.1400144d0
nop
xor edx, edx
mov r8d, 0x180
lea rcx, [rbp + 0x140]
call fcn.1400bc2f0
lea rcx, [rbp + 0x140]
call fcn.1400144d0
nop
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x2c0]
call fcn.1400bc2f0
mov edx, 0x104
lea rcx, [rbp + 0x2c0]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov qword [rbp - 0x50], rsi
mov ebx, 7
mov qword [rbp - 0x48], rbx
mov word [rbp - 0x60], si
lea rax, [rbp + 0x2c0]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400396f0
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp - 0x60]
call fcn.140009c80
nop
cmp byte [rdi], 0
je 0x140039847
movabs rdi, 0x7ffffffffffffffe
mov rax, rdi
mov r12, qword [rbp - 0x50]
sub rax, r12
cmp rax, 0x13
jb 0x140039b6d
lea rax, [rbp - 0x60]
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp - 0x48]
cmp r15, 8
cmovae rax, r14
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], rsi
lea r13, [r12 + 0x13]
lea rsi, [rbp - 0x80]
cmp r13, 7
jbe 0x14003979f
mov rbx, r13
or rbx, 7
cmp rbx, rdi
jbe 0x140039774
mov rbx, rdi
jmp 0x140039786
mov r13d, 0xa
cmp rbx, r13
cmovb rbx, r13
lea r13, [r12 + 0x13]
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x80]
call fcn.140009db0
mov rsi, rax
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], rbx
lea rbx, [r12 + r12]
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.1400bd5b0
movups xmm0, xmmword [str.System32_ntdll.dll]
movups xmmword [rbx + rsi], xmm0
movups xmm1, xmmword [0x14012a020]
movups xmmword [rbx + rsi + 0x10], xmm1
mov eax, dword [0x14012a030]
mov dword [rbx + rsi + 0x20], eax
movzx eax, word [0x14012a034]
mov word [rbx + rsi + 0x24], ax
xor eax, eax
mov word [rsi + r13*2], ax
mov r8b, 1
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x40]
call fcn.1400147d0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140039ac0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003983d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039b73
call fcn.1400a031c
jmp 0x140039ac0
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movzx eax, byte [rdi + 1]
mov qword [rbp - 0x80], rsi
mov byte [rbp - 0x78], al
test al, al
je 0x140039868
lea rcx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
nop
movabs rdi, 0x7ffffffffffffffe
mov rax, rdi
mov rcx, qword [rbp - 0x50]
sub rax, rcx
cmp rax, 0x13
jb 0x140039b79
lea rax, [rbp - 0x60]
mov r14, qword [rbp - 0x60]
mov r15, qword [rbp - 0x48]
cmp r15, 8
cmovae rax, r14
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
lea r12, [rcx + 0x13]
mov rsi, rbx
lea rax, [rsp + 0x28]
mov qword [rsp + 0x50], rax
mov r13d, 0xa
cmp r12, rbx
jbe 0x1400398f9
mov rsi, r12
or rsi, 7
cmp rsi, rdi
jbe 0x1400398d6
mov rsi, rdi
jmp 0x1400398dd
cmp rsi, r13
cmovb rsi, r13
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x28]
call fcn.140009db0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x28], rax
mov rcx, qword [rbp - 0x50]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], rsi
lea r8, [rcx + rcx]
mov qword [rsp + 0x20], r8
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1400bd5b0
movups xmm0, xmmword [str.System32_ntdll.dll]
mov rcx, qword [rsp + 0x20]
movups xmmword [rcx + rsi], xmm0
movups xmm1, xmmword [0x14012a020]
movups xmmword [rcx + rsi + 0x10], xmm1
mov eax, dword [0x14012a030]
mov dword [rcx + rsi + 0x20], eax
movzx eax, word [0x14012a034]
mov word [rcx + rsi + 0x24], ax
xor eax, eax
mov word [rsi + r12*2], ax
mov r8b, 1
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0x140]
call fcn.1400147d0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x1400399ae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400399a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039b7f
call fcn.1400a031c
lea rax, [rbp - 0x60]
cmp r15, 8
cmovae rax, r14
mov qword [rsp + 0x48], rax
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rcx
lea rsi, [rsp + 0x28]
cmp r12, 7
jbe 0x140039a0a
mov rbx, r12
or rbx, 7
cmp rbx, rdi
jbe 0x1400399e7
mov rbx, rdi
jmp 0x1400399ef
cmp rbx, 0xa
cmovb rbx, r13
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x28]
call fcn.140009db0
mov rsi, rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], rbx
mov rbx, qword [rsp + 0x20]
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.1400bd5b0
movups xmm0, xmmword [str.SysWOW64_ntdll.dll]
movups xmmword [rsi + rbx], xmm0
movups xmm1, xmmword [0x140129ff8]
movups xmmword [rsi + rbx + 0x10], xmm1
mov eax, dword [0x14012a008]
mov dword [rsi + rbx + 0x20], eax
movzx eax, word [0x14012a00c]
mov word [rsi + rbx + 0x24], ax
xor eax, eax
mov word [rsi + r12*2], ax
mov r8b, 1
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x40]
call fcn.1400147d0
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x140039ab0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140039aaa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039b85
call fcn.1400a031c
nop
cmp byte [rbp - 0x78], 0
je 0x140039ac0
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
lea rdx, [rbp - 0x40]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.140039b90
nop
lea rcx, [rbx + 0x180]
lea rdx, [rbp + 0x140]
call fcn.140039b90
nop
cmp r15, 8
jb 0x140039b1e
lea rdx, [r15*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x140039b15
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140039b67
mov rcx, r14
call fcn.1400a031c
nop
lea rcx, [rbp + 0x140]
call fcn.1400145d0
nop
lea rcx, [rbp - 0x40]
call fcn.1400145d0
mov rax, rbx
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.1400a02c0
lea r11, [rsp + 0x5e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400d0a24
nop
call fcn.140001860
int3
call fcn.1400d0a24
nop
call fcn.140001860
int3
call fcn.1400d0a24
int3
call fcn.1400d0a24
int3