Function at 0x1030e7f
Capabilities:
Check if file exists

Disassembly:
push 0xb8
mov eax, 0x1040c10
call fcn.01001630
and dword [ebp - 0x18], 0
mov dword [ebp - 0x20], ecx
lea eax, [ebp + 0x9c]
push eax
lea ecx, [ebp + 8]
mov dword [ebp - 4], 1
call fcn.010317b2
test eax, eax
je 0x1030ec9
lea ecx, [ebp + 8]
call fcn.01007e75
lea ecx, [ebp + 0x9c]
call fcn.01007e75
mov al, 1
jmp 0x10315b9
cmp dword [0x104a36c], 0
mov edi, 0x200
mov esi, 0x80000000
je 0x1030f36
mov al, byte [0x104a370]
cmp al, 4
jae 0x1030ee9
test al, al
jne 0x1030f36
mov eax, dword [0x104a358]
mov ecx, dword [0x104a35c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1030f36
mov eax, dword [0x104a360]
mov ebx, dword [0x104a364]
mov ecx, eax
mov edx, ebx
and ecx, edi
and edx, esi
cmp ecx, eax
jne 0x1030f36
cmp edx, ebx
jne 0x1030f36
push dword [ebp + 0xa0]
push dword [ebp + 0xc]
push 0x10315e8
push dword [0x104a2d4]
push dword [0x104a2d0]
call fcn.0102fe53
and dword [ebp - 0x14], 0
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x24], 0xa
call fcn.0100ecc1
lea eax, [ebp - 0xc4]
push eax
call fcn.01030a7d
push dword [eax + 4]
mov byte [ebp - 4], 2
mov dword [ebp - 0x18], 1
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x1030fb4
sub esp, 0x94
mov dword [ebp - 0x10], esp
mov ebx, esp
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
push ebx
call fcn.01030a7d
mov ecx, dword [ebp - 0x20]
call fcn.01030c19
test al, al
je 0x1030fb4
mov bl, 1
jmp 0x1030fb6
xor bl, bl
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 1
call fcn.01007e75
test bl, bl
je 0x1030ffc
sub esp, 0x94
mov dword [ebp - 0x10], esp
mov ebx, esp
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
push ebx
call fcn.01030a7d
mov ecx, dword [ebp - 0x20]
call fcn.0103038d
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
lea eax, [ebp - 0xc4]
push eax
call fcn.0100fba2
push dword [eax + 4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0xc4]
mov ebx, eax
call fcn.01007e75
test ebx, ebx
je 0x1031042
mov dword [ebp - 0x14], 0x800700b7
jmp 0x10310aa
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], 0x14
cmp dword [ebp + 0xa8], eax
jb 0x1031076
push eax
push 0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 0x9c]
call fcn.01003b7b
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x30]
call fcn.0102fe29
test eax, eax
jne 0x10310a3
mov eax, dword [ebp + 0xa8]
cmp dword [ebp + 0x14], eax
jb 0x10310aa
push eax
push 0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 8]
call fcn.01003b7b
lea eax, [ebp + 0x9c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0102fe29
test eax, eax
je 0x10310aa
mov dword [ebp - 0x14], 0x8007007b
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x1c], 0
jl 0x10311a7
push 0
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x1e
call fcn.0100ecc1
mov ecx, dword [ebp - 0x20]
call fcn.0100faf8
cmp dword [0x104a36c], 0
je 0x1031143
mov al, byte [0x104a370]
cmp al, 4
jae 0x10310f6
test al, al
jne 0x1031143
mov eax, dword [0x104a358]
mov ecx, dword [0x104a35c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1031143
mov eax, dword [0x104a360]
mov ebx, dword [0x104a364]
mov ecx, eax
mov edx, ebx
and ecx, edi
and edx, esi
cmp ecx, eax
jne 0x1031143
cmp edx, ebx
jne 0x1031143
push dword [ebp + 0xa0]
push dword [ebp + 0xc]
push 0x10315f8
push dword [0x104a2d4]
push dword [0x104a2d0]
call fcn.0102fe53
sub esp, 0x94
mov ebx, esp
mov dword [ebp - 0x10], esp
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.0100ecc1
push ebx
call fcn.0100fba2
sub esp, 0x94
mov dword [ebp - 0x18], esp
mov ebx, esp
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 3
call fcn.0100ecc1
push ebx
call fcn.0100fba2
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.01030518
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x1c], 1
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x1a], 0
jl 0x10311fe
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x28
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 4
call fcn.0100ecc1
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.01030c8e
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x1a], 1
jmp 0x1031201
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x1b], 0
jl 0x1031238
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x32
call fcn.0100ecc1
mov ecx, ebx
call fcn.01030ae1
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x1031238
mov byte [ebp - 0x1b], 1
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x19], 0
jl 0x10312f1
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x3c
call fcn.0100ecc1
mov ecx, ebx
call fcn.01030984
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x10312f1
cmp dword [0x104a36c], 0
mov byte [ebp - 0x19], 1
je 0x10312d6
mov al, byte [0x104a370]
cmp al, 4
jae 0x103128c
test al, al
jne 0x10312d6
mov eax, dword [0x104a358]
mov ecx, dword [0x104a35c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x10312d6
mov eax, dword [0x104a360]
mov ebx, dword [0x104a364]
mov ecx, eax
mov edx, ebx
and ecx, edi
and edx, esi
cmp ecx, eax
jne 0x10312d3
cmp edx, ebx
jne 0x10312d3
push dword [ebp + 0xc]
push 0x1031608
push dword [0x104a2d4]
push dword [0x104a2d0]
call fcn.01024e8c
mov ebx, dword [ebp - 0x20]
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
mov ecx, ebx
call fcn.01030b5a
push dword [ebp - 0x14]
lea eax, [ebp + 0x9c]
push dword [ebp - 0x24]
sub esp, 0x94
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 5
call fcn.0100ecc1
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.01030da9
cmp dword [ebp - 0x14], 0
jge 0x103159f
cmp dword [0x104a36c], 0
je 0x1031398
mov al, byte [0x104a370]
cmp al, 4
jae 0x1031351
test al, al
jne 0x1031398
mov eax, dword [0x104a358]
mov ecx, dword [0x104a35c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1031398
mov edx, dword [0x104a360]
mov ecx, dword [0x104a364]
mov eax, edx
and eax, edi
and ecx, esi
cmp eax, edx
jne 0x1031398
cmp ecx, dword [0x104a364]
jne 0x1031398
push 0x10315c8
push dword [0x104a2d4]
push dword [0x104a2d0]
call fcn.0100c245
cmp byte [ebp - 0x1a], 0
je 0x103141c
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 6
call fcn.0100ecc1
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.01030c8e
test eax, eax
jge 0x103141c
push eax
push 0xc8
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 7
call fcn.0100ecc1
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010308d8
cmp byte [ebp - 0x1c], 0
je 0x10314e9
cmp dword [0x104a36c], 0
je 0x1031487
mov al, byte [0x104a370]
cmp al, 4
jae 0x103143c
test al, al
jne 0x1031487
mov eax, dword [0x104a358]
mov ecx, dword [0x104a35c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1031487
mov edx, dword [0x104a360]
mov eax, edx
and eax, edi
mov edi, dword [0x104a364]
mov ecx, edi
and ecx, esi
cmp eax, edx
jne 0x1031487
cmp ecx, edi
jne 0x1031487
push dword [ebp + 0xa0]
push 0x10315d8
push dword [0x104a2d4]
push dword [0x104a2d0]
call fcn.01024e8c
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
mov ecx, ebx
call fcn.01030b5a
test eax, eax
jge 0x10314e9
push eax
push 0xd2
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 8
call fcn.0100ecc1
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010308d8
cmp byte [ebp - 0x1b], 0
je 0x103153a
mov ecx, ebx
call fcn.010300ad
test eax, eax
jge 0x103153a
push eax
push 0xdc
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 9
call fcn.0100ecc1
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010308d8
cmp byte [ebp - 0x19], 0
je 0x103159f
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
mov ecx, ebx
call fcn.01030984
test eax, eax
jge 0x103159f
push eax
push 0xe6
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ecc1
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 0xa
call fcn.0100ecc1
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010308d8
lea ecx, [ebp + 8]
call fcn.01007e75
lea ecx, [ebp + 0x9c]
call fcn.01007e75
cmp dword [ebp - 0x14], 0
setge al
call fcn.01001600
ret 0x128