Function at 0x140008cf0
Capabilities:
Check if file exists
Delete file
Get common file path
Move file

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xd80
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x20], rbp
mov rax, qword [0x140039680]
xor rax, rsp
mov qword [rsp + 0xd70], rax
mov r13d, r9d
mov rbp, r8
mov r14, rdx
mov r12, rcx
lea rdx, str._s.ime
lea rcx, [r11 - 0x738]
call fcn.140011ce0
lea rcx, [rsp + 0x20]
call fcn.140003990
nop
lea rdx, [rsp + 0x670]
lea rcx, [rsp + 0x20]
call fcn.1400039b0
test rax, rax
je 0x140008d74
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140005dd0
nop
lea rcx, [rsp + 0x20]
call fcn.1400039a0
mov word [rsp + 0x250], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x252]
call fcn.140011ab0
mov word [rsp + 0x460], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x462]
call fcn.140011ab0
mov word [rsp + 0x950], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x952]
call fcn.140011ab0
mov word [rsp + 0x740], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x742]
call fcn.140011ab0
mov word [rsp + 0xb60], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xb62]
call fcn.140011ab0
mov edx, 0x104
lea rcx, [rsp + 0x950]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea rdi, [rsp + 0x250]
xor eax, eax
or rsi, 0xffffffffffffffff
mov rcx, rsi
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x950]
xor ecx, ecx
nop
nop
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x140008e50
lea rdi, [rsp + 0x250]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
mov eax, dword [0x14002ee8c]
mov dword [rdi - 2], eax
xor ebx, ebx
mov rcx, rbx
movzx eax, word [rsp + rcx + 0x250]
mov word [rsp + rcx + 0x740], ax
add rcx, 2
test ax, ax
jne 0x140008e80
lea rdi, [rsp + 0x250]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
movzx eax, word [rcx + rbp]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x140008eb0
lea rdi, [rsp + 0x250]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
mov rax, qword [str..ime]
mov qword [rdi - 2], rax
movzx eax, word [0x14002f670]
mov word [rdi + 6], ax
mov rcx, r12
call fcn.140009430
test eax, eax
je 0x1400091f8
lea rdx, [rsp + 0x28]
mov rcx, r12
call fcn.1400094a0
mov r8d, 0x104
lea rdx, [rsp + 0x460]
mov rcx, r12
call fcn.140009470
lea rdi, [rsp + 0x460]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
mov eax, dword [0x14002ee8c]
mov dword [rdi - 2], eax
lea rdi, [rsp + 0x460]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
xor ecx, ecx
nop
nop
nop
movzx eax, word [rcx + rbp]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x140008f50
lea rdi, [rsp + 0x460]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
mov rax, qword [str..ime]
mov qword [rdi - 2], rax
movzx eax, word [0x14002f670]
mov word [rdi + 6], ax
test r13d, r13d
je 0x14000900b
mov word [rsp + 0x40], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x42]
call fcn.140011ab0
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x740]
lea rdx, str._sregsvr32.exe__s__u__s
lea rcx, [rsp + 0x40]
call fcn.140011ce0
lea rcx, [rsp + 0x40]
call fcn.140010b90
lea r9, [rsp + 0x460]
lea r8, [rsp + 0xb60]
lea rdx, str._sregsvr32.exe__s__u__s
lea rcx, [rsp + 0x40]
call fcn.140011ce0
lea rcx, [rsp + 0x40]
call fcn.140010b90
lea rdx, [rsp + 0x40]
lea rcx, str.UnRegisterIME_Cmd:_s
call fcn.140011190
lea rcx, [rsp + 0x460]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140009024
mov edi, esi
jmp 0x1400090de
mov word [rsp + 0x40], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x42]
call fcn.140011ab0
lea rcx, [rsp + 0x460]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400090d9
mov edi, ebx
test edi, edi
jne 0x140009072
lea r8, [rsp + 0x460]
lea rdx, str._s.del
lea rcx, [rsp + 0x40]
call fcn.140011ce0
jmp 0x14000908e
mov r9d, edi
lea r8, [rsp + 0x460]
lea rdx, str._s.del_d
lea rcx, [rsp + 0x40]
call fcn.140011ce0
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400090b6
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400090b6
cmp edi, 0xa
jg 0x1400090d9
add edi, 1
jmp 0x140009053
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x460]
call fcn.1400136d0
xor edx, edx
lea r8d, [rdx + 5]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov edi, 2
mov edx, edi
lea rcx, str.UnDeleteIme_Return:_d
call fcn.140011190
cmp edi, 0xfffffffe
jne 0x140009105
mov rdx, qword [rsp + 0x28]
mov rcx, r12
call fcn.1400094d0
xor eax, eax
jmp 0x1400093a6
lea rcx, [rsp + 0x250]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400091db
mov word [rsp + 0x40], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x42]
call fcn.140011ab0
lea rcx, [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400091d6
mov edi, ebx
nop
nop
test edi, edi
jne 0x14000916f
lea r8, [rsp + 0x250]
lea rdx, str._s.del
lea rcx, [rsp + 0x40]
call fcn.140011ce0
jmp 0x14000918b
mov r9d, edi
lea r8, [rsp + 0x250]
lea rdx, str._s.del_d
lea rcx, [rsp + 0x40]
call fcn.140011ce0
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400091b3
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400091b3
cmp edi, 0xa
jg 0x1400091d6
add edi, 1
jmp 0x140009150
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x250]
call fcn.1400136d0
xor edx, edx
lea r8d, [rdx + 5]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
mov esi, 2
mov rdx, qword [rsp + 0x28]
mov rcx, r12
call fcn.1400094d0
cmp esi, 0xfffffffe
jne 0x14000931b
xor eax, eax
jmp 0x1400093a6
test r13d, r13d
je 0x140009250
mov word [rsp + 0x40], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x42]
call fcn.140011ab0
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x740]
lea rdx, str._sregsvr32.exe__s__u__s
lea rcx, [rsp + 0x40]
call fcn.140011ce0
lea rcx, [rsp + 0x40]
call fcn.140010b90
lea rdx, [rsp + 0x40]
lea rcx, str.UnRegisterIME_regsvr:_s
call fcn.140011190
lea rcx, [rsp + 0x250]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000931b
mov word [rsp + 0x40], bx
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x42]
call fcn.140011ab0
lea rcx, [rsp + 0x250]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14000931b
mov edi, ebx
test edi, edi
jne 0x1400092b4
lea r8, [rsp + 0x250]
lea rdx, str._s.del
lea rcx, [rsp + 0x40]
call fcn.140011ce0
jmp 0x1400092d0
mov r9d, edi
lea r8, [rsp + 0x250]
lea rdx, str._s.del_d
lea rcx, [rsp + 0x40]
call fcn.140011ce0
lea rcx, [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400092f8
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400092f8
cmp edi, 0xa
jg 0x14000931b
add edi, 1
jmp 0x140009295
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x250]
call fcn.1400136d0
xor edx, edx
lea r8d, [rdx + 5]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test r13d, r13d
je 0x140009398
lea rcx, str.0804:44741F46_6A9D_49cc_9777_15EB767C35A8D37987E3_6FA3_4eb1_B30A_09DAFF299698
nop
nop
nop
movzx eax, word [rbx + rcx]
mov word [rsp + rbx + 0x40], ax
add rbx, 2
test ax, ax
jne 0x140009330
lea rcx, str.input.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
jne 0x140009362
lea rcx, str.RegisterIME_Load_InputDll_Failed___
call fcn.140011450
jmp 0x140009391
lea rdx, str.InstallLayoutOrTip
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140009391
mov edx, 1
lea rcx, [rsp + 0x40]
call rax
mov edx, eax
lea rcx, str.RegisterIME_InstallLayoutOrTip_return__d___
call fcn.140011190
mov eax, 1
jmp 0x1400093a6
mov r8, rbp
mov rdx, r14
mov rcx, r12
call fcn.140008b90
mov rcx, qword [rsp + 0xd70]
xor rcx, rsp
call fcn.140011c90
lea r11, [rsp + 0xd80]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret