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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6ef1bd
mov eax, dword fs:[0]
push eax
sub esp, 0x818
mov eax, dword [0x7ce4e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x81c], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x502537
nop
mov esi, dword [eax + 0x20]
push 0x24
push eax
call fcn.005be247
add esp, 8
mov eax, esi
test esi, esi
jne 0x502520
mov dword [edi + 0xc], esi
mov eax, dword [edi + 0x18]
test eax, eax
je 0x502557
nop
mov esi, dword [eax + 0x20]
push 0x24
push eax
call fcn.005be247
add esp, 8
mov eax, esi
test esi, esi
jne 0x502540
mov dword [edi + 0x18], esi
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x502577
nop
mov esi, dword [eax + 0x20]
push 0x24
push eax
call fcn.005be247
add esp, 8
mov eax, esi
test esi, esi
jne 0x502560
mov dword [edi + 0x1c], esi
mov eax, dword [edi + 0x14]
test eax, eax
je 0x502597
nop
mov esi, dword [eax + 0x20]
push 0x24
push eax
call fcn.005be247
add esp, 8
mov eax, esi
test esi, esi
jne 0x502580
mov dword [edi + 0x14], esi
mov eax, dword [edi + 0x20]
test eax, eax
je 0x5025b7
nop
mov esi, dword [eax + 0x20]
push 0x24
push eax
call fcn.005be247
add esp, 8
mov eax, esi
test esi, esi
jne 0x5025a0
mov dword [edi + 0x20], esi
call fcn.005b9050
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x820], eax
push ecx
push 0x104
lea ecx, [ebp - 0x218]
push ecx
mov ecx, eax
call fcn.005b8f80
test al, al
jne 0x502602
mov ecx, dword [ebp - 0x81c]
call fcn.0049c7f0
push 0x792b58
push 0x791e68
push eax
call fcn.0049a160
add esp, 0xc
xor al, al
jmp 0x502b09
push 0
push 0
push 0
push 0
push str.Fuzzy.dat
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x5cc]
call fcn.0049a8e0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x5c0]
cmp byte [ebp - 0x4b0], 0
cmove eax, dword [ebp - 0x5c4]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x50283f
shr eax, 4
not al
test al, 1
je 0x50283f
push 1
push 1
sub esp, 0x124
lea eax, [ebp - 0x5cc]
mov ecx, esp
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.0049aba0
mov esi, dword [ebp - 0x81c]
mov ecx, edi
push esi
call fcn.00502b30
test al, al
jne 0x502adb
xorps xmm0, xmm0
mov dword [ebp - 0x238], 4
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x234], 0xf
mov dword [ebp - 0x248], 0x64616f6c
mov byte [ebp - 0x244], al
mov al, byte [0x79ac74]
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x220], 9
movq xmm0, qword [str.ime.fuzzy]
mov dword [ebp - 0x21c], 0xf
movq qword [ebp - 0x230], xmm0
mov byte [ebp - 0x228], al
mov byte [ebp - 0x227], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x5c0]
cmp byte [ebp - 0x4b0], 0
cmove eax, dword [ebp - 0x5c4]
sub esp, 8
mov edx, esp
add eax, 4
xor ecx, ecx
mov dword [edx], eax
test eax, eax
je 0x50273a
cmp word [eax], cx
je 0x50273a
nop dword [eax]
lea eax, [eax + 2]
inc ecx
cmp word [eax], 0
jne 0x502730
mov dword [edx + 4], ecx
lea ecx, [ebp - 0x260]
call fcn.004e2de0
push eax
lea edx, [ebp - 0x248]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x230]
call fcn.004f88b0
mov byte [ebp - 4], 2
add esp, 0xc
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x50279f
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x502795
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x502b26
push ecx
push edx
call fcn.005be247
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
cmp ecx, 0x10
jb 0x5027f8
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5027ee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x502b26
push ecx
push edx
call fcn.005be247
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0x10
jb 0x502836
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x50282c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x502b26
push ecx
push edx
call fcn.005be247
add esp, 8
mov ecx, esi
call fcn.0049c840
jmp 0x502845
mov esi, dword [ebp - 0x81c]
cmp byte [ebp + 0x10], 0
je 0x502a1e
lea ecx, [ebp - 0x4a8]
call fcn.00499a50
mov ecx, dword [ebp - 0x820]
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x4a8]
mov byte [ebp - 4], 4
push eax
call fcn.005b8ef0
cmp byte [ebp - 0x38c], 0
lea eax, [ebp - 0x49c]
push 0
cmove eax, dword [ebp - 0x4a0]
lea ecx, [ebp - 0x384]
push 0
push 0
push 0
push str.MoHuYin.ini
add eax, 4
push eax
call fcn.0049a8e0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x378]
cmp byte [ebp - 0x268], 0
cmove eax, dword [ebp - 0x37c]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x50290d
shr eax, 4
not al
test al, 1
je 0x50290d
push 1
push 0
sub esp, 0x124
lea eax, [ebp - 0x384]
mov ecx, esp
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.0049aba0
push esi
mov ecx, edi
call fcn.00502b30
test al, al
jne 0x5029ca
mov ecx, esi
call fcn.0049c840
mov eax, dword [ebp - 0x820]
lea ecx, [ebp - 0x6f0]
push 0
push 0
push 0
push 0
push str.MoHuYin.ini
add eax, 0x870
push eax
call fcn.0049a8e0
push 0
push 0
sub esp, 0x124
mov byte [ebp - 4], 6
mov ecx, esp
lea eax, [ebp - 0x6f0]
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.0049aba0
push esi
mov ecx, edi
call fcn.00502b30
test al, al
jne 0x50299e
mov ecx, esi
call fcn.0049c7f0
push 0x79ac48
push 0x791e68
push eax
call fcn.0049a160
add esp, 0xc
mov ecx, esi
call fcn.0049c7f0
push 0x79ac30
push 0x791e68
push eax
call fcn.0049a160
add esp, 0xc
mov ecx, esi
call fcn.0049c840
cmp byte [ebp - 0x5d4], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x5029ca
mov eax, dword [ebp - 0x6e8]
lea ecx, [ebp - 0x6e4]
cmp eax, ecx
je 0x5029ca
push eax
call fcn.005cff1c
add esp, 4
cmp byte [ebp - 0x268], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x5029f6
mov eax, dword [ebp - 0x37c]
lea ecx, [ebp - 0x378]
cmp eax, ecx
je 0x5029f6
push eax
call fcn.005cff1c
add esp, 4
cmp byte [ebp - 0x38c], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x502adb
mov eax, dword [ebp - 0x4a0]
lea ecx, [ebp - 0x49c]
jmp 0x502ace
mov eax, dword [ebp - 0x820]
lea ecx, [ebp - 0x814]
push 0
push 0
push 0
push 0
push str.Fuzzy.dat
add eax, 0x870
push eax
call fcn.0049a8e0
push 0
push 1
sub esp, 0x124
mov byte [ebp - 4], 0x11
mov ecx, esp
lea eax, [ebp - 0x814]
push 0
push 0
push 0
push 0
push 0
push eax
call fcn.0049aba0
push esi
mov ecx, edi
call fcn.00502b30
test al, al
jne 0x502aaf
mov ecx, esi
call fcn.0049c7f0
push 0x79ab70
push 0x791e68
push eax
call fcn.0049a160
add esp, 0xc
mov ecx, esi
call fcn.0049c7f0
push 0x79ac30
push 0x791e68
push eax
call fcn.0049a160
add esp, 0xc
mov ecx, esi
call fcn.0049c840
cmp byte [ebp - 0x6f8], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x502adb
mov eax, dword [ebp - 0x80c]
lea ecx, [ebp - 0x808]
cmp eax, ecx
je 0x502adb
push eax
call fcn.005cff1c
add esp, 4
cmp byte [ebp - 0x4b0], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x502b07
mov eax, dword [ebp - 0x5c4]
lea ecx, [ebp - 0x5c0]
cmp eax, ecx
je 0x502b07
push eax
call fcn.005cff1c
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005be209
mov esp, ebp
pop ebp
ret 0x10
call fcn.005c44be
int3