Function at 0x47b310
Capabilities:
Check if file exists
Delete file
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e3890
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x66c0e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
xor ebx, ebx
add edi, 0x14
push edi
xor esi, esi
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionA]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x47b56e
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x47b56e
mov ebx, dword [ebp + 0x1c]
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x47b37e
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x10]
push eax
call fcn.0041b2e0
add esp, 4
cmp eax, 1
jne 0x47b3b7
mov ecx, dword [ebp + 0xc]
movzx edx, word [ecx + 0x11a]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edi
push 0
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
push ebx
call fcn.0047abc0
add esp, 0x1c
jmp 0x47b437
cmp eax, 2
jne 0x47b3df
mov eax, dword [ebp + 0xc]
movzx ecx, word [eax + 0x11a]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edi
push 0
push ecx
mov ecx, dword [ebp + 0x10]
push edx
push eax
push ecx
push ebx
call dword [sym.imp.LafDll.dll_Laf_ConvertLafFile]
jmp 0x47b437
cmp eax, 3
jne 0x47b437
lea ecx, [ebp - 0x10]
call fcn.00406050
lea edx, [ebp - 0x10]
push edx
push edi
mov dword [ebp - 4], 0
call fcn.0041da90
add esp, 8
test al, al
je 0x47b428
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
movzx edx, word [ecx + 0x11a]
mov ecx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
push ebx
call dword [sym.imp.LafDll.dll_Laf_ConvertLafFile]
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.004273a0
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x47b56c
push ebx
call fcn.00478090
mov ecx, dword [ebp + 0x20]
push ebx
mov dword [ecx], eax
call fcn.0041ae40
add esp, 8
cmp eax, 0x80000
ja 0x47b46c
mov dword [ebp - 0x14], 1
mov esi, eax
jmp 0x47b490
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x47b56c
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x47b481
sub eax, edx
movzx esi, al
add esi, 4
test esi, esi
je 0x47b56c
lea eax, [esi + 1]
push eax
mov dword [ebp + 0xc], eax
call fcn.005bb17a
mov edi, dword [ebp + 8]
add esp, 4
mov dword [edi + 0x24], eax
test eax, eax
je 0x47b574
cmp dword [ebp - 0x14], 0
je 0x47b4f5
push 0x5f7dc0
push ebx
call fcn.005bc9d4
add esp, 8
mov dword [ebp + 0xc], eax
test eax, eax
je 0x47b4e9
mov edx, dword [edi + 0x24]
push eax
push 1
push esi
push edx
call fcn.005bc8fb
mov eax, dword [ebp + 0xc]
push eax
call fcn.005bcc87
add esp, 0x14
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x47b574
mov edx, dword [ebp - 0x18]
mov dword [eax], 0x3a46414c
mov eax, dword [edi + 0x24]
lea ecx, [esi - 4]
push ecx
push edx
add eax, 4
push eax
call fcn.005bc350
mov ecx, dword [edi + 0x24]
mov edx, dword [ebp + 0x24]
add esp, 0xc
mov byte [esi + ecx], 0
mov esi, dword [ebp + 0xc]
push 0x7021
push edx
lea ecx, [ebp - 0x30]
call fcn.004c132d
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x2c]
push 2
push 0
push 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 1
call edx
push ebx
lea ecx, [ebp - 0x30]
call fcn.004c0ec1
push 0x5fa3fc
lea ecx, [ebp - 0x30]
call fcn.004c0ec1
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.004c10c3
jmp 0x47b574
xor ebx, ebx
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], ebx
mov eax, esi
and eax, 0xffffff
or eax, 0xb000000
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret