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

Disassembly:
sub esp, 0x270
mov eax, dword [0x6bc500]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x284]
push edi
xor edi, edi
push esi
push edi
call dword [eax + 0x40]
add esp, 8
test eax, eax
jne 0x5e4050
mov ecx, 0x4b
lea edi, [esp + 0x28]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x6bc500]
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x5e3e5c
lea edx, [esp + 0x28]
push str..lnk
push edx
call fcn.0044d7b0
add esp, 8
test eax, eax
jne 0x5e3e0c
lea eax, [esp + 0x28]
push str..LNK
push eax
call fcn.0044d7b0
add esp, 8
test eax, eax
je 0x5e3e5c
mov eax, dword [0x6bc500]
lea ecx, [esp + 0x154]
lea edx, [esp + 0x28]
push ecx
push edx
call dword [eax + 0x4c]
lea edi, [esp + 0x15c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x30]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [0x6bc500]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x30]
push ecx
push 0
call dword [edx + 0x40]
add esp, 0x10
lea eax, [esp + 0x28]
xor ebp, ebp
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x5e4031
test bl, 0x10
je 0x5e3f4a
mov ecx, dword [0x6bc500]
mov ebx, dword [esp + 0x284]
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x5e3f35
mov edi, dword [ebx + 0x14]
test edi, edi
mov dword [esp + 0x14], edi
je 0x5e3ee7
lea esi, [edi + 4]
lea eax, [esp + 0x28]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x5e3ecb
test cl, cl
je 0x5e3ec7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x5e3ecb
add eax, 2
add esi, 2
test cl, cl
jne 0x5e3ea7
xor eax, eax
jmp 0x5e3ed0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5e3ee0
mov edi, dword [edi]
test edi, edi
mov dword [esp + 0x14], edi
je 0x5e3ee7
jmp 0x5e3ea0
xor ebp, ebp
jmp 0x5e4038
lea eax, [esp + 0x14]
push eax
push str.an_SPSeenFolder
push 0x130
call fcn.005e3690
add esp, 0xc
test eax, eax
jne 0x5e3f2b
mov ecx, dword [esp + 0x14]
lea esi, [esp + 0x28]
lea edi, [ecx + 4]
mov ecx, 0x4b
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x14]
mov dword [ecx], edx
mov ecx, dword [ebx + 0x18]
mov edx, dword [esp + 0x14]
inc ecx
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], ecx
test eax, eax
mov ebp, eax
jne 0x5e4038
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.005e40b0
add esp, 8
mov ebp, eax
jmp 0x5e4038
mov edx, dword [esp + 0x284]
lea ecx, [esp + 0x10]
push ecx
push edx
call fcn.005e2dc0
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x5e4031
mov eax, dword [esp + 0x10]
mov ecx, 0x4b
lea esi, [esp + 0x28]
push ebp
lea edi, [eax + 4]
push ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
push 3
push ebp
push 1
mov dword [ecx + 0x134], ebx
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x3c]
push ebp
push eax
mov dword [edx + 0x14c], ebp
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x5e3fc6
lea ecx, [esp + 0x20]
lea edx, [esp + 0x18]
push ecx
push ebp
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
jne 0x5e3fd6
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebp, 0x54416464
push ebp
call fcn.005e4670
add esp, 4
jmp 0x5e4031
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push esi
mov dword [eax + 0x138], ecx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dword [edx + 0x13c], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [ecx + 0x140], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x144], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [esp + 0x10]
push 0x2e
add edx, 4
push edx
call fcn.0044e160
mov ecx, dword [esp + 0x18]
add esp, 8
mov dword [ecx + 0x148], eax
mov ebx, dword [esp + 0x284]
test ebp, ebp
jne 0x5e405d
push ebx
call fcn.005e4490
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x270
ret