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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x504c31
mov eax, dword fs:[0]
push eax
sub esp, 0x280
mov eax, dword [0x5355a0]
xor eax, esp
mov dword [esp + 0x278], eax
push ebx
push esi
push edi
mov eax, dword [0x5355a0]
xor eax, esp
push eax
lea eax, [esp + 0x290]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov edi, ecx
lea ecx, [esp + 0x34]
call fcn.00431a60
xor ebx, ebx
push edi
lea ecx, [esp + 0x38]
mov dword [esp + 0x29c], ebx
call fcn.00467570
lea ecx, [esp + 0x15c]
call fcn.00431a60
push edi
lea ecx, [esp + 0x160]
mov byte [esp + 0x29c], 1
call fcn.00467490
mov dword [esp + 0x20], fcn.004c328d
mov dword [esp + 0x24], fcn.004c53b2
mov dword [esp + 0x28], fcn.004c31b0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0x1fff8
mov dword [esp + 0x1c], vtable.t_heap.0
mov byte [esp + 0x298], 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
lea eax, [esp + 0x40]
cmp byte [esp + 0x150], bl
jne 0x4670df
mov eax, dword [esp + 0x3c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add eax, 4
push eax
call ebx
cmp eax, 0xffffffff
je 0x4670fd
shr eax, 4
not al
and al, 1
jne 0x4671a7
cmp byte [esp + 0x278], 0
lea eax, [esp + 0x168]
jne 0x467115
mov eax, dword [esp + 0x164]
add eax, 4
push eax
call ebx
cmp eax, 0xffffffff
je 0x467129
shr eax, 4
not al
and al, 1
jne 0x4671a7
mov ecx, esi
call fcn.00433db0
push str.not_find_hotdict_file.
push 0x51620c
mov edx, eax
call fcn.004351e0
add esp, 8
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x467175
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x467175
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x467285
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x467285
push eax
call fcn.004c31b0
add esp, 4
xor al, al
jmp 0x467445
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x4671b9
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
lea edx, [eax + 4]
push esi
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x24]
call fcn.0046ac00
test al, al
jne 0x467312
push 0
lea edx, [esp + 0x38]
push edx
push esi
lea ecx, [esp + 0x168]
call fcn.00432ee0
test al, al
jne 0x46728c
mov ecx, esi
call fcn.00433db0
push str.copyfile_failed.
push 0x51620c
mov edx, eax
call fcn.004351e0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x467231
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x467222
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x467262
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x467262
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x467285
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x467285
push eax
call fcn.004c31b0
add esp, 4
xor al, al
jmp 0x467445
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x46729e
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
lea edx, [eax + 4]
push esi
lea ebx, [esp + 0x1c]
lea ecx, [esp + 0x24]
call fcn.0046ac00
test al, al
jne 0x467312
mov ecx, esi
call fcn.00433db0
push str.load_hot_dict_failed.
push 0x51620c
mov edx, eax
call fcn.004351e0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x4672f6
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x4672e7
lea ecx, [esp + 0x15c]
call fcn.00434b70
lea ecx, [esp + 0x34]
call fcn.00434b70
xor al, al
jmp 0x467445
mov ebx, dword [esp + 0x18]
push esi
mov eax, ebx
mov ecx, edi
call fcn.00475580
test eax, eax
jne 0x4673b8
mov ecx, esi
call fcn.00433db0
push 0x522f24
push 0x51620c
mov edx, eax
call fcn.004351e0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x467366
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x467357
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x467397
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x168]
cmp eax, edx
je 0x467397
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x467285
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
jmp 0x46727a
mov edx, dword [esp + 0x14]
push ebx
push edx
push ebx
push eax
call fcn.004c6cb2
mov byte [esp + 0x2a8], 1
mov esi, dword [esp + 0x3c]
add esp, 0x10
test esi, esi
je 0x4673ef
mov edi, dword [esp + 0x28]
lea esp, [esp]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x4673e0
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x467420
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x467420
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x467443
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x467443
push eax
call fcn.004c31b0
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.004c31a1
mov esp, ebp
pop ebp
ret 4