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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x87c
mov eax, dword [0x1075fb8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x878], eax
mov eax, dword [ebp + 0x18]
push esi
push edi
mov dword [ebp - 0x87c], ecx
mov dword [ebp - 0x874], eax
mov eax, dword [0x1075004]
mov esi, 0x1075004
mov ebx, 0x1001770
cmp eax, esi
je 0x101081d
test byte [eax + 0x1c], 4
je 0x101081d
cmp byte [eax + 0x19], 5
jb 0x101081d
push ebx
push 0xc7
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov ecx, dword [ebp - 0x87c]
push 0
push 0
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x878]
call fcn.0100fa7b
mov dword [ebp - 0x870], eax
test eax, eax
je 0x101087e
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010b0a
test byte [eax + 0x1c], 4
je 0x1010b0a
cmp byte [eax + 0x19], 2
jb 0x1010b0a
push dword [ebp - 0x870]
push ebx
push 0xc8
jmp 0x1010a4d
cmp dword [ebp - 0x878], 0
je 0x10109a1
mov ecx, dword [ebp - 0x87c]
push edi
lea eax, [ebp - 0x61c]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x878]
call fcn.0100ebd8
mov dword [ebp - 0x870], eax
test eax, eax
je 0x10108e6
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010b0a
test byte [eax + 0x1c], 4
je 0x1010b0a
cmp byte [eax + 0x19], 2
jb 0x1010b0a
push dword [ebp - 0x870]
push ebx
push 0xc9
jmp 0x1010a4d
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x10019a0
push dword [ebp + 0x1c]
push dword [ebp - 0x874]
call fcn.01009a76
mov edi, eax
add esp, 0x14
test edi, edi
jge 0x101093d
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010aeb
test byte [eax + 0x1c], 4
je 0x1010aeb
cmp byte [eax + 0x19], 2
jb 0x1010aeb
push edi
push ebx
push 0xca
jmp 0x1010ae0
push dword [ebp - 0x874]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1010b0a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x870], eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010b0a
test byte [eax + 0x1c], 4
je 0x1010b0a
cmp byte [eax + 0x19], 2
jb 0x1010b0a
push dword [ebp - 0x870]
push dword [ebp - 0x874]
push ebx
push 0xcb
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010091cb
jmp 0x1010b0a
push 0x10019cc
push dword [ebp + 0xc]
lea eax, [ebp - 0x20c]
push dword [ebp + 8]
push eax
push 0x1001a78
lea eax, [ebp - 0x414]
push edi
push eax
call fcn.01009a76
mov edi, eax
add esp, 0x1c
test edi, edi
jge 0x10109fb
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010aeb
test byte [eax + 0x1c], 4
je 0x1010aeb
cmp byte [eax + 0x19], 2
jb 0x1010aeb
push edi
push ebx
push 0xcc
jmp 0x1010ae0
lea eax, [ebp - 0x86c]
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x1010a5d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x870], eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010b0a
test byte [eax + 0x1c], 4
je 0x1010b0a
cmp byte [eax + 0x19], 2
jb 0x1010b0a
push dword [ebp - 0x870]
push ebx
push 0xcd
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
jmp 0x1010b0a
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
jne 0x1010a9a
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010a9a
test byte [eax + 0x1c], 4
je 0x1010a9a
cmp byte [eax + 0x19], 3
jb 0x1010a9a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push ebx
push 0xce
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x20c]
push eax
push 0x10019a0
push dword [ebp + 0x1c]
push dword [ebp - 0x874]
call fcn.01009a76
mov edi, eax
add esp, 0x14
test edi, edi
jge 0x1010b0a
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1010aeb
test byte [eax + 0x1c], 4
je 0x1010aeb
cmp byte [eax + 0x19], 2
jb 0x1010aeb
push edi
push ebx
push 0xcf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101463a
mov eax, edi
and eax, 0x1fff0000
cmp eax, 0x70000
jne 0x1010b04
movzx eax, di
mov dword [ebp - 0x870], eax
jmp 0x1010b0a
mov dword [ebp - 0x870], edi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x870]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0105b7af
leave
ret 0x18