Function at 0x4626a0
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.00462b70
lea ecx, [esp + 0x15c]
call fcn.00431a60
push edi
lea ecx, [esp + 0x160]
mov byte [esp + 0x29c], 1
call fcn.00462c50
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 0x46276f
mov eax, dword [esp + 0x3c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add eax, 4
push eax
call ebx
cmp eax, 0xffffffff
je 0x46278d
shr eax, 4
not al
and al, 1
jne 0x462837
cmp byte [esp + 0x278], 0
lea eax, [esp + 0x168]
jne 0x4627a5
mov eax, dword [esp + 0x164]
add eax, 4
push eax
call ebx
cmp eax, 0xffffffff
je 0x4627b9
shr eax, 4
not al
and al, 1
jne 0x462837
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 0x462805
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x462805
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x462916
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x462916
push eax
call fcn.004c31b0
add esp, 4
xor al, al
jmp 0x462aeb
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x462849
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
push esi
lea edx, [esp + 0x24]
lea ecx, [eax + 4]
push edx
lea ebx, [esp + 0x20]
call fcn.0046a7f0
test al, al
jne 0x4629ab
push 0
lea eax, [esp + 0x38]
push eax
push esi
lea ecx, [esp + 0x168]
call fcn.00432ee0
test al, al
jne 0x46291d
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 0x4628c2
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x4628b3
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x4628f3
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x4628f3
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x462916
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x462916
push eax
call fcn.004c31b0
add esp, 4
xor al, al
jmp 0x462aeb
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x46292f
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x18]
push ecx
push esi
lea edx, [esp + 0x24]
lea ecx, [eax + 4]
push edx
lea ebx, [esp + 0x20]
call fcn.0046a7f0
test al, al
jne 0x4629ab
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 0x46298f
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 0x462980
lea ecx, [esp + 0x15c]
call fcn.00434b70
lea ecx, [esp + 0x34]
call fcn.00434b70
xor al, al
jmp 0x462aeb
mov ebx, dword [esp + 0x18]
push esi
mov eax, ebx
mov ecx, edi
call fcn.00475580
test eax, eax
jne 0x462a62
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 0x4629ff
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x4629f0
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x462a30
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x462a30
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x462916
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x462916
push eax
call fcn.004c31b0
add esp, 4
xor al, al
jmp 0x462aeb
mov ecx, dword [esp + 0x14]
push ebx
push ecx
push ebx
push eax
call fcn.004c6cb2
mov byte [esp + 0x2a8], 1
mov esi, dword [esp + 0x3c]
add esp, 0x10
test esi, esi
je 0x462a95
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x462a86
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x462ac6
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x168]
cmp eax, edx
je 0x462ac6
push eax
call fcn.004c31b0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x462ae9
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
je 0x462ae9
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