Function at 0x100a0270
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.100a0710
lea ecx, [esp + 0x15c]
call fcn.1005f360
push ebx
lea ecx, [esp + 0x160]
mov byte [esp + 0x29c], 1
call fcn.100a07f0
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 0x100a0340
mov eax, dword [esp + 0x3c]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add eax, 4
push eax
call edi
cmp eax, 0xffffffff
je 0x100a035e
shr eax, 4
not al
and al, 1
jne 0x100a03f7
cmp byte [esp + 0x278], 0
lea eax, [esp + 0x168]
jne 0x100a0376
mov eax, dword [esp + 0x164]
add eax, 4
push eax
call edi
cmp eax, 0xffffffff
je 0x100a038a
shr eax, 4
not al
and al, 1
jne 0x100a03f7
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 0x100a03d6
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x100a03d6
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a04d8
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
jmp 0x100a04cd
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x100a0409
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x18]
push edx
lea edx, [eax + 4]
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.100aa050
test al, al
jne 0x100a056b
push 0
lea ecx, [esp + 0x38]
push ecx
push esi
lea ecx, [esp + 0x168]
call fcn.10060560
test al, al
jne 0x100a04df
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 0x100a0484
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a0475
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a04b5
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x168]
cmp eax, edx
je 0x100a04b5
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a04d8
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
je 0x100a04d8
push eax
call fcn.100cf89b
add esp, 4
xor al, al
jmp 0x100a069a
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x100a04f1
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
push ecx
lea edx, [eax + 4]
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.100aa050
test al, al
jne 0x100a056b
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 0x100a054f
mov edi, dword [esp + 0x28]
lea ecx, [ecx]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a0540
lea ecx, [esp + 0x15c]
call fcn.1005f910
lea ecx, [esp + 0x34]
call fcn.1005f910
xor al, al
jmp 0x100a069a
mov edi, dword [esp + 0x18]
push esi
mov eax, edi
mov ecx, ebx
call fcn.100b51a0
test eax, eax
jne 0x100a0611
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 0x100a05bf
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a05b0
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a05f0
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x100a05f0
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a04d8
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
jmp 0x100a04cd
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 0x100a0644
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x100a0635
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x100a0675
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x168]
cmp eax, edx
je 0x100a0675
push eax
call fcn.100cf89b
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x100a0698
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
je 0x100a0698
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