Function at 0x4106b0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x438040]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x210], ecx
mov eax, dword [ebp - 0x210]
add eax, 0x14
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.Iime_imc.map
mov ecx, dword [ebp - 0x210]
add ecx, 0x14
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov edx, dword [ebp - 0x210]
add edx, 0x14
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x410719
mov eax, dword [ebp - 0x210]
add eax, 0x14
push eax
call fcn.00418ac0
add esp, 4
push 0
push 2
push 2
push 0
push 0
push 0xc0000000
mov ecx, dword [ebp - 0x210]
add ecx, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x10], eax
mov eax, dword [ebp - 0x210]
cmp dword [eax + 0x10], 0xffffffff
jne 0x410754
xor eax, eax
jmp 0x41090b
push str.Iime_Trie_Codetable
mov ecx, dword [ebp - 0x210]
mov edx, dword [ecx + 0x78c]
push edx
push 0
push 4
push 0
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x21c], eax
mov eax, dword [ebp - 0x210]
cmp dword [eax + 0x21c], 0
jne 0x4107bb
mov ecx, dword [ebp - 0x210]
mov edx, dword [ecx + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x210]
mov dword [eax + 0x10], 0xffffffff
xor eax, eax
jmp 0x41090b
push 0
push 0
push 0
push 0xf001f
mov ecx, dword [ebp - 0x210]
mov edx, dword [ecx + 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [ebp - 0x210]
mov dword [ecx + 0x220], eax
mov edx, dword [ebp - 0x210]
cmp dword [edx + 0x220], 0
jne 0x41083b
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x21c], 0
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x10], 0xffffffff
xor eax, eax
jmp 0x41090b
mov ecx, dword [ebp - 0x210]
call fcn.00410920
test eax, eax
jne 0x41088e
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x21c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x21c], 0
mov eax, dword [ebp - 0x210]
mov ecx, dword [eax + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x210]
mov dword [edx + 0x10], 0xffffffff
xor eax, eax
jmp 0x41090b
mov eax, dword [ebp - 0x210]
cmp dword [eax + 0x79c], 0
je 0x4108ac
mov ecx, dword [ebp - 0x210]
cmp dword [ecx + 0x79c], 2
jne 0x410906
push 0x208
push 0
lea edx, [ebp - 0x20c]
push edx
call fcn.0041e4b0
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
call fcn.00418750
add esp, 4
push 0x43086c
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x410906
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x210]
call fcn.00410ab0
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041cba0
mov esp, ebp
pop ebp
ret