Function at 0x140021a20
Capabilities:
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x2a0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x14016ca00]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov rbp, r8
mov rdi, rdx
mov r14, rcx
mov ecx, 0x800
call fcn.1400bbc88
mov rsi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rsi, rsi
je 0x140021add
test rax, rax
je 0x140021ad5
xor edx, edx
mov r8d, 0x800
mov rcx, rsi
call fcn.1400c2130
lea rax, [0x140126110]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCInputImeInstaller::InstallIme
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rsi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
mov r8, rsi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140014e90
mov rcx, rsi
call fcn.1400bd2dc
test rbx, rbx
je 0x140021aea
mov rcx, rbx
call fcn.1400bd2dc
lea rbx, [r14 + 0x98]
cmp rbx, rbp
je 0x140021b08
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call fcn.140006b90
mov eax, dword [rbp + 0x20]
mov dword [rbx + 0x20], eax
xor ebx, ebx
mov word [rsp + 0x80], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x82]
call fcn.1400c2130
mov edx, 0x104
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x140021bef
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rdi, rdi
je 0x140021bdb
test rax, rax
je 0x140021bd3
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
lea rax, [0x140126178]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCInputImeInstaller::InstallIme
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
lea r9, [rsp + 0x80]
mov r8, rdi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140015100
mov rcx, rdi
call fcn.1400bd2dc
test rbx, rbx
je 0x140021be8
mov rcx, rbx
call fcn.1400bd2dc
xor al, al
jmp 0x140021e89
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbx
mov word [rsp + 0x38], bx
cmp qword [rdi + 0x18], 8
jb 0x140021c0c
mov rdi, qword [rdi]
mov r9, rdi
lea r8, [rsp + 0x80]
lea rdx, [0x1401261a8]
lea rcx, [rsp + 0x38]
call fcn.140061ab0
lea rcx, [rsp + 0x38]
call fcn.140063430
test al, al
jne 0x140021cd3
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rdi, rdi
je 0x140021dba
test rax, rax
je 0x140021db2
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
lea rax, [0x1401261b8]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCInputImeInstaller::InstallIme
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
lea r9, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae r9, qword [rsp + 0x38]
mov r8, rdi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
jmp 0x140021daa
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
mov r8d, 0x14
lea rdx, [0x140125210]
lea rcx, [rsp + 0x58]
call fcn.140006900
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x38]
mov rcx, r14
call fcn.140021eb0
test al, al
sete bl
cmp qword [rsp + 0x70], 8
jb 0x140021d27
mov rcx, qword [rsp + 0x58]
call fcn.1400bd20c
test bl, bl
je 0x140021dce
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rdi, rdi
je 0x140021dba
test rax, rax
je 0x140021db2
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
lea rax, [0x1401261e8]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCInputImeInstaller::InstallIme
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
mov r8, rdi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140015100
mov rcx, rdi
call fcn.1400bd2dc
test rbx, rbx
je 0x140021dc7
mov rcx, rbx
call fcn.1400bd2dc
xor bl, bl
jmp 0x140021e74
mov rcx, r14
call fcn.140023460
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rdi, rdi
je 0x140021e65
test rax, rax
je 0x140021e5d
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
lea rax, [0x140126200]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCInputImeInstaller::InstallIme
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
mov r9d, dword [r14 + 0x38]
mov r8, rdi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140014e90
mov rcx, rdi
call fcn.1400bd2dc
test rbx, rbx
je 0x140021e72
mov rcx, rbx
call fcn.1400bd2dc
mov bl, 1
cmp qword [rsp + 0x50], 8
jb 0x140021e86
mov rcx, qword [rsp + 0x38]
call fcn.1400bd20c
movzx eax, bl
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.1400bcae0
add rsp, 0x2a0
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret