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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x50f411
mov eax, dword fs:[0]
push eax
sub esp, 0x280
mov eax, dword [0x5405a0]
xor eax, esp
mov dword [esp + 0x278], eax
push ebx
push esi
push edi
mov eax, dword [0x5405a0]
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.00436e90
xor ebx, ebx
push edi
lea ecx, [esp + 0x38]
mov dword [esp + 0x29c], ebx
call fcn.00473d20
lea ecx, [esp + 0x15c]
call fcn.00436e90
push edi
lea ecx, [esp + 0x160]
mov byte [esp + 0x29c], 1
call fcn.00473c40
mov dword [esp + 0x20], fcn.004ccfcd
mov dword [esp + 0x24], fcn.004cf168
mov dword [esp + 0x28], fcn.004ccef0
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 0x47388f
mov eax, dword [esp + 0x3c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add eax, 4
push eax
call ebx
cmp eax, 0xffffffff
je 0x4738ad
shr eax, 4
not al
and al, 1
jne 0x473957
cmp byte [esp + 0x278], 0
lea eax, [esp + 0x168]
jne 0x4738c5
mov eax, dword [esp + 0x164]
add eax, 4
push eax
call ebx
cmp eax, 0xffffffff
je 0x4738d9
shr eax, 4
not al
and al, 1
jne 0x473957
mov ecx, esi
call fcn.00439450
push str.not_find_hotdict_file.
push 0x52139c
mov edx, eax
call fcn.0043a8a0
add esp, 8
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x473925
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x473925
push eax
call fcn.004ccef0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x473a35
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x473a35
push eax
call fcn.004ccef0
add esp, 4
xor al, al
jmp 0x473bf5
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x473969
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.00478e60
test al, al
jne 0x473ac2
push 0
lea edx, [esp + 0x38]
push edx
push esi
lea ecx, [esp + 0x168]
call fcn.00438310
test al, al
jne 0x473a3c
mov ecx, esi
call fcn.00439450
push str.copyfile_failed.
push 0x52139c
mov edx, eax
call fcn.0043a8a0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x4739e1
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x4739d2
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x473a12
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x473a12
push eax
call fcn.004ccef0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x473a35
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x473a35
push eax
call fcn.004ccef0
add esp, 4
xor al, al
jmp 0x473bf5
cmp byte [esp + 0x150], 0
lea eax, [esp + 0x40]
jne 0x473a4e
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.00478e60
test al, al
jne 0x473ac2
mov ecx, esi
call fcn.00439450
push str.load_hot_dict_failed.
push 0x52139c
mov edx, eax
call fcn.0043a8a0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x473aa6
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x473a97
lea ecx, [esp + 0x15c]
call fcn.0043a230
lea ecx, [esp + 0x34]
call fcn.0043a230
xor al, al
jmp 0x473bf5
mov ebx, dword [esp + 0x18]
push esi
mov eax, ebx
mov ecx, edi
call fcn.00484e90
test eax, eax
jne 0x473b68
mov ecx, esi
call fcn.00439450
push 0x52d494
push 0x52139c
mov edx, eax
call fcn.0043a8a0
mov byte [esp + 0x2a0], 1
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x473b16
mov edi, dword [esp + 0x28]
mov eax, esi
mov esi, dword [esi + 4]
push eax
call edi
add esp, 4
test esi, esi
jne 0x473b07
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x473b47
mov eax, dword [esp + 0x164]
lea edx, [esp + 0x168]
cmp eax, edx
je 0x473b47
push eax
call fcn.004ccef0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x473a35
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x40]
cmp eax, ecx
jmp 0x473a2a
mov edx, dword [esp + 0x14]
push ebx
push edx
push ebx
push eax
call fcn.004d0a60
mov byte [esp + 0x2a8], 1
mov esi, dword [esp + 0x3c]
add esp, 0x10
test esi, esi
je 0x473b9f
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 0x473b90
cmp byte [esp + 0x278], 0
mov esi, vtable.t_str.0
mov dword [esp + 0x15c], esi
jne 0x473bd0
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0x168]
cmp eax, ecx
je 0x473bd0
push eax
call fcn.004ccef0
add esp, 4
cmp byte [esp + 0x150], 0
mov dword [esp + 0x34], esi
jne 0x473bf3
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x40]
cmp eax, edx
je 0x473bf3
push eax
call fcn.004ccef0
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.004ccee1
mov esp, ebp
pop ebp
ret 4