Function at 0x100a61c0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1012e7f1
mov eax, dword fs:[0]
push eax
sub esp, 0x280
mov eax, dword [0x101636d0]
xor eax, esp
mov dword [esp + 0x278], eax
push ebx
push esi
push edi
mov eax, dword [0x101636d0]
xor eax, esp
push eax
lea eax, [esp + 0x290]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ebx, ecx
lea ecx, [esp + 0x34]
call fcn.1005f360
xor edi, edi
push ebx
lea ecx, [esp + 0x38]
mov dword [esp + 0x29c], edi
call fcn.100a6740
lea ecx, [esp + 0x15c]
call fcn.1005f360
push ebx
lea ecx, [esp + 0x160]
mov byte [esp + 0x29c], 1
call fcn.100a6660
mov dword [esp + 0x20], fcn.100cf978
mov dword [esp + 0x24], fcn.100cfa42
mov dword [esp + 0x28], fcn.100cf89b
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0x1fff8
mov dword [esp + 0x1c], vtable.t_heap.0
mov byte [esp + 0x298], 2
cmp byte [esp + 0x150], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
lea eax, [esp + 0x40]
jne 0x100a6290
mov eax, dword [esp + 0x3c]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add eax, 4
push eax
call edi
cmp eax, 0xffffffff
je 0x100a62ae
shr eax, 4
not al
and al, 1
jne 0x100a6358
cmp byte [esp + 0x278], 0
lea eax, [esp + 0x168]
jne 0x100a62c6
mov eax, dword [esp + 0x164]
add eax, 4
push eax
call edi
cmp eax, 0xffffffff
je 0x100a62da
shr eax, 4
not al
and al, 1
jne 0x100a6358
mov ecx, esi
call fcn.100619a0
push str.not_find_hotdict_file.
push 0x1013c7e4
mov edx, eax
call fcn.10062cd0
add esp, 8
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a6326
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x100a6326
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a6437
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x100a6437
push eax
call fcn.100cf89b
add esp, 4
xor al, al
jmp 0x100a660b
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x100a636a
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
push esi
lea edx, [esp + 0x24]
push edx
lea ecx, [eax + 4]
lea edx, [esp + 0x20]
call fcn.100aa450
test al, al
jne 0x100a64cb
push 0
lea eax, [esp + 0x38]
push eax
push esi
lea ecx, [esp + 0x168]
call fcn.10060560
test al, al
jne 0x100a643e
mov ecx, esi
call fcn.100619a0
push str.copyfile_failed.
push 0x1013c7e4
mov edx, eax
call fcn.10062cd0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x100a63e3
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a63d4
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a6414
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x100a6414
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a6437
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x100a6437
push eax
call fcn.100cf89b
add esp, 4
xor al, al
jmp 0x100a660b
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x100a6450
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
push esi
lea edx, [esp + 0x24]
push edx
lea ecx, [eax + 4]
lea edx, [esp + 0x20]
call fcn.100aa450
test al, al
jne 0x100a64cb
mov ecx, esi
call fcn.100619a0
push str.load_hot_dict_failed.
push 0x1013c7e4
mov edx, eax
call fcn.10062cd0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x100a64af
mov edi, dword [esp + 0x28]
lea ebx, [ebx]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a64a0
lea ecx, [esp + 0x15c]
call fcn.1005f910
lea ecx, [esp + 0x34]
call fcn.1005f910
xor al, al
jmp 0x100a660b
mov edi, dword [esp + 0x18]
push esi
mov eax, edi
mov ecx, ebx
call fcn.100b51a0
test eax, eax
jne 0x100a6582
mov ecx, esi
call fcn.100619a0
push 0x10149b14
push 0x1013c7e4
mov edx, eax
call fcn.10062cd0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x100a651f
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a6510
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a6550
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x100a6550
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a6437
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x100a6437
push eax
call fcn.100cf89b
add esp, 4
xor al, al
jmp 0x100a660b
mov ecx, dword [esp + 0x14]
push edi
push ecx
push edi
push eax
call fcn.100d07bb
mov byte [esp + 0x2a8], 1
mov esi, dword [esp + 0x3c]
add esp, 0x10
test esi, esi
je 0x100a65b5
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a65a6
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a65e6
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x168]
cmp eax, edx
je 0x100a65e6
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a6609
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
je 0x100a6609
push eax
call fcn.100cf89b
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x290]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x278]
xor ecx, esp
call fcn.100cf604
mov esp, ebp
pop ebp
ret 4