Function at 0x140002214
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov ebx, dword [rsp + 0x98]
lea r12d, [rdx - 0x208]
mov r15d, r9d
lea eax, [r12 - 0x4a4]
mov rsi, rcx
lea ebp, [rdx - 0x15cf]
lea ecx, [r8 + 0x69f]
movsxd r13, ebp
add ebx, 0x20f
mov dword [rsp + 0x98], ecx
xor r15d, 0x4e9
lea r14d, [r8 - 0xfa1]
mov edi, 0xa7b
cmp ecx, eax
jle 0x140002304
lea eax, [rbp + 0xf8a]
cmp r13d, eax
jge 0x140002304
mov rax, qword [section..data]
xor r14d, edi
sub r12d, 0x192
add r14d, 0xbc5
xor ebp, 0x7b4
mov rdx, rsi
mov r8d, ebp
mov ecx, dword [rax + 0x98]
xor r8d, 0xdcf
add ecx, 0x37d6e
lea r9d, [r12 - 0x872]
mov dword [rsi + 0xf8], ecx
mov eax, 0xe1545
mov ecx, dword [rsi + 0x108]
xor ecx, 0x1d13
sub eax, ecx
lea ecx, [rbx + 0xc0c]
add dword [rsi + 0x10], eax
mov eax, r14d
xor eax, 0x38f
mov dword [rsp + 0x20], eax
call fcn.14000495c
mov r15d, eax
lea eax, [rbp + 0xa0b]
cmp r15d, eax
jl 0x140002504
mov eax, ebp
xor eax, 0x10dc
cmp ebx, eax
jge 0x140002329
xor ebp, 0x83e
jmp 0x140002504
mov eax, dword [rsi + 0x84]
xor eax, dword [0x1400d1020]
mov ecx, dword [rsi + 0xd0]
cmp ecx, eax
ja 0x1400024c6
mov r9d, dword [0x1400d1070]
mov r11d, dword [rsi + 0x2c]
add r9d, ebp
xor r11d, dword [0x1400d1110]
and r11d, dword [rsi + 0x64]
mov edx, dword [rsi + 0xc4]
imul r8d, dword [rsi + 0x40], 0x1640
add edx, r12d
imul ecx, r12d
mov eax, r14d
mov dword [rsp + 0x28], r11d
imul r9d, r15d
mov r10d, ecx
mov ecx, dword [rsi + 0xc8]
xor r10, rax
or ecx, edi
mov qword [rsp + 0x20], r10
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [0x1400d10fc]
or ecx, r12d
movsxd rax, r14d
movsxd rdx, ebx
xor ecx, 0x13c7
or rdx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov rcx, qword [section..data]
lea r11d, [r15 + r13]
mov rdi, qword [0x1400d1050]
mov r8d, r14d
mov r9d, dword [rsi + 0x10]
mov edx, r14d
and r8d, 0x1040
mov rbx, r13
mov eax, dword [rcx + 0xc4]
and edi, 0x12c6
imul r8d, dword [rsi + 0x84]
xor eax, r13d
imul ebp, eax
xor rbx, 0xa20
imul eax, r13d, 0x1768
add r9d, r14d
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rbx
or edx, ebp
or r11d, ebp
sub edx, dword [rcx + 0x84]
movsxd r10, eax
lea eax, [rbp + 0x7b4]
mov dword [rsp + 0x28], r11d
movsxd rcx, eax
or r10, 0x162f
movsxd rax, dword [rsp + 0x98]
or rcx, rax
mov qword [rsp + 0x20], r10
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov eax, r15d
sub eax, dword [rsi + 0xf0]
cmp r12d, eax
jbe 0x140002504
mov rax, qword [section..data]
mov edx, dword [rsi + 0x28]
mov r10d, dword [rsi + 0x118]
mov r9d, dword [rsi + 0x70]
xor r10d, r15d
mov ecx, dword [rax + 0xec]
add ecx, dword [rsi + 0x64]
mov r8d, dword [rax + 0x84]
or ecx, 0x132d
imul edx, dword [rsi + 0xc8]
xor r8d, r14d
or r9d, dword [0x1400d110c]
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x20], rax
call fcn.1400020e8
mov rax, qword [section..data]
mov ecx, dword [rax + 0x78]
add ecx, dword [rsi + 0x84]
imul ecx, ecx, 0x12d2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140002504
mov r9d, dword [rsi + 0xc4]
xor r9d, dword [rsi + 0x2c]
mov rax, qword [section..data]
mov ecx, dword [rsi + 0x20]
mov r8d, dword [rsi + 0x7c]
xor ecx, dword [0x1400d1128]
sub r8d, r13d
mov edx, dword [rax + 0x100]
or edx, dword [rsi + 0x1c]
or ecx, dword [rsi + 0xe8]
mov dword [rsp + 0x20], r9d
mov r9, rsi
call fcn.1400015e8
lea r11, [rsp + 0x40]
xor ebp, 0x1c29
mov rbx, qword [r11 + 0x30]
mov eax, ebp
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret