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

Disassembly:
push ebp
mov eax, 0x50bc
mov ebp, esp
push edi
push esi
push ebx
call fcn.100ab7d0
lea esi, [ebp - 0x18]
sub esp, eax
mov dword [ebp - 0x50a4], ecx
mov dword [ebp - 0x5084], 0x100cfd60
mov dword [ebp - 0x5080], 0x100d3fb8
mov dword [ebp - 0x507c], esi
lea esi, [ebp - 0x509c]
mov dword [ebp - 0x5078], 0x1009e455
mov dword [ebp - 0x5074], esp
mov dword [esp], esi
call fcn.100ac520
mov eax, dword [ebp - 0x50a4]
mov esi, dword [ebp + 8]
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], esi
mov dword [eax], 0x100f22fc
lea eax, [ebp - 0x505c]
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x224]
mov dword [esp], eax
mov dword [ebp - 0x5098], 1
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
sub esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1009e196
lea eax, [ebp - 0x509c]
mov dword [esp], eax
call fcn.100ac5b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
lea eax, [ebp - 0x505c]
mov dword [esp + 4], 0x5c
mov dword [esp], eax
call sub.msvcrt.dll_wcsrchr
test eax, eax
je 0x1009e412
lea esi, [ebp - 0x505c]
mov edx, eax
sub edx, esi
sar edx, 1
lea ecx, [edx + 0x1a]
cmp ecx, 0xfff
ja 0x1009e17e
mov ecx, dword [ebp + 0x10]
add eax, 2
mov dword [esp], eax
mov dword [esp + 8], ecx
mov ecx, 0xfff
sub ecx, edx
mov dword [esp + 4], ecx
mov dword [ebp - 0x5098], 1
call fcn.1009cb20
lea eax, [ebp - 0x505c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
sub esp, 4
cmp eax, 0xffffffff
je 0x1009e17e
lea edi, [ebp - 0x305c]
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x301c]
lea eax, [ebp - 0x101c]
mov edx, ecx
lea esi, [esi]
xor esi, esi
add edx, 2
mov word [edx - 2], si
cmp eax, edx
jne 0x1009e230
lea edx, [ebp - 0x1c]
mov byte [eax], 0
add eax, 1
cmp eax, edx
jne 0x1009e240
mov eax, dword [ebp + 8]
mov byte [ebp - 0x1c], 0
mov byte [ebp - 0x1b], 1
mov dword [ebp - 0x3040], eax
lea eax, [ebp - 0x505c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [ebp - 0x50a4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x50a0], eax
add eax, 1
mov esi, eax
mov dword [ebp - 0x50a8], eax
mov eax, 0xffffffff
imul edx, esi, 0x3044
cmp esi, 0x2a000
cmovbe eax, edx
mov dword [esp], eax
mov dword [ebp - 0x5098], 1
call fcn.100cf390
mov dword [ebp - 0x50ac], eax
lea ebx, [eax + 0x2040]
xor esi, esi
xor eax, eax
cmp dword [ebp - 0x50a0], 0xffffffff
je 0x1009e330
mov edi, dword [ebp - 0x50a8]
mov dword [ebp - 0x50a0], edi
lea edi, [ebx - 0x2040]
mov ecx, 0x10
lea edx, [ebx - 0x2000]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x50a0]
nop
lea esi, [esi]
xor ecx, ecx
add edx, 2
mov word [edx - 2], cx
cmp ebx, edx
jne 0x1009e2f0
lea ecx, [ebx + 0x1000]
mov edx, ebx
mov byte [edx], 0
add edx, 1
cmp edx, ecx
jne 0x1009e305
add esi, 1
mov byte [ebx + 0x1000], 0
mov byte [ebx + 0x1001], 0
add ebx, 0x3044
cmp edi, esi
mov dword [ebp - 0x50a0], edi
jne 0x1009e2d2
mov eax, dword [ebp - 0x50a4]
mov eax, dword [eax + 8]
mov dword [ebp - 0x50b4], eax
test eax, eax
mov eax, dword [ebp - 0x50a4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50a8], eax
je 0x1009e41f
imul eax, dword [ebp - 0x50b4], 0x3044
mov dword [ebp - 0x50a0], 0
mov dword [ebp - 0x50b0], eax
mov edi, dword [ebp - 0x50a0]
mov eax, dword [ebp - 0x50ac]
mov edx, dword [ebp - 0x50a8]
mov dword [esp + 8], 0x3042
add eax, edi
add edx, edi
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
add dword [ebp - 0x50a0], 0x3044
mov edi, dword [ebp - 0x50a0]
cmp dword [ebp - 0x50b0], edi
jne 0x1009e370
mov eax, dword [ebp - 0x50b4]
lea esi, [ebp - 0x305c]
add eax, 1
mov dword [ebp - 0x50a0], eax
mov eax, dword [ebp - 0x50b0]
add eax, dword [ebp - 0x50ac]
mov dword [esp + 8], 0x3042
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x50a8]
mov dword [esp], eax
call fcn.100cf370
mov eax, dword [ebp - 0x50a4]
mov esi, dword [ebp - 0x50ac]
mov dword [eax + 4], esi
mov esi, dword [ebp - 0x50a0]
mov dword [eax + 8], esi
jmp 0x1009e17e
xor edx, edx
lea eax, [ebp - 0x505c]
jmp 0x1009e1cb
lea esi, [ebp - 0x305c]
mov dword [esp + 8], 0x3042
mov dword [esp + 4], esi
mov esi, dword [ebp - 0x50ac]
mov dword [esp], esi
call sub.msvcrt.dll_memcpy
mov ebx, dword [ebp - 0x50a8]
mov dword [ebp - 0x50a0], 1
test ebx, ebx
je 0x1009e3f5
jmp 0x1009e3e7