Function at 0x53ff10
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
sub esp, 0x62c
mov eax, dword [0x67f864]
xor eax, esp
mov dword [esp + 0x624], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, dword [esi + 4]
cmp ebx, 0xffffffff
push edi
mov dword [esp + 0x14], ebx
jne 0x53ff52
call fcn.0053fe00
mov eax, dword [esi + 0x10]
test eax, eax
je 0x53ff4b
mov ecx, dword [esi + 0x18]
push ecx
call eax
add esp, 4
xor eax, eax
jmp 0x540182
mov edx, dword [esi]
mov edi, ebx
imul edi, edi, 0x45c
mov ecx, dword [edx + edi + 0x250]
lea eax, [edx + edi]
xor ebp, ebp
cmp ecx, ebp
jne 0x5400a6
add eax, 0x254
lea edx, [esp + 0x18]
sub edx, eax
jmp 0x53ff80
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bp
jne 0x53ff80
lea eax, [esp + 0x18]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bp
jne 0x53ff96
sub eax, edx
sar eax, 1
cmp eax, 0x103
jge 0x53ffc0
cmp word [esp + eax*2 + 0x16], 0x5c
je 0x53ffc0
mov word [esp + eax*2 + 0x18], 0x5c
mov word [esp + eax*2 + 0x1a], bp
mov ebx, 0x644674
lea eax, [esp + 0x18]
call fcn.0053fc30
mov eax, dword [esi]
add eax, edi
push eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edx, dword [esi]
xor ecx, ecx
mov dword [edx + edi + 0x250], eax
mov eax, dword [esi]
cmp dword [eax + edi + 0x250], ecx
setne cl
mov ebp, ecx
test ebp, ebp
je 0x540130
mov edx, dword [esi]
lea eax, [edx + edi]
lea ebx, [eax + 0x2c]
add eax, 0x254
lea edx, [esp + 0x428]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x540015
lea eax, [esp + 0x428]
call fcn.0053fc30
lea eax, [esp + 0x428]
push eax
lea ecx, [esp + 0x224]
call fcn.005415d0
add esp, 4
test eax, eax
je 0x54012c
lea ecx, [esp + 0x220]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
test ecx, ecx
je 0x54012c
test al, 0x10
je 0x540114
mov ecx, 0x644678
mov eax, ebx
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x5400c5
test dx, dx
je 0x5400a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x5400c5
add eax, 4
add ecx, 4
test dx, dx
jne 0x540080
xor eax, eax
jmp 0x5400ca
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
cmp eax, ebp
je 0x540134
cmp eax, 0x12
je 0x540134
mov ebp, 1
jmp 0x53ffff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x54012c
mov ecx, 0x64467c
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x5400fb
test dx, dx
je 0x5400f7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x5400fb
add eax, 4
add ecx, 4
test dx, dx
jne 0x5400d5
xor eax, eax
jmp 0x540100
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x54012c
lea edx, [esp + 0x220]
mov ebx, esi
call fcn.0053fce0
jmp 0x54012c
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0xc]
push edx
push eax
lea eax, [esp + 0x228]
push ebx
push eax
call ecx
add esp, 0x10
mov ebp, eax
test ebp, ebp
jne 0x540157
mov ebx, dword [esp + 0x14]
mov edx, dword [esi + 4]
mov eax, dword [esi]
imul edx, edx, 0x45c
mov eax, dword [edx + eax + 0x250]
test eax, eax
je 0x540151
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
add dword [esi + 4], 0xffffffff
jmp 0x54015b
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x54019b
test ebp, ebp
jne 0x54019b
lea edi, [ebx + 1]
call fcn.0053fe00
mov eax, dword [esi + 0x10]
test eax, eax
je 0x54017b
mov ecx, dword [esi + 0x18]
push ecx
call eax
add esp, 4
xor eax, eax
test edi, edi
sete al
mov ecx, dword [esp + 0x634]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005ce60a
add esp, 0x62c
ret
xor edi, edi
jmp 0x54017b