Function at 0x1031e4f
Capabilities:
Check if file exists

Disassembly:
push 0xb8
mov eax, 0x10410a0
call fcn.010015e0
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.01032724
test eax, eax
je 0x1031e99
lea ecx, [ebp + 8]
call fcn.010084de
lea ecx, [ebp + 0x9c]
call fcn.010084de
mov al, 1
jmp 0x1032589
cmp dword [0x104a3ac], 0
mov edi, 0x200
mov esi, 0x80000000
je 0x1031f06
mov al, byte [0x104a3b0]
cmp al, 4
jae 0x1031eb9
test al, al
jne 0x1031f06
mov eax, dword [0x104a398]
mov ecx, dword [0x104a39c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1031f06
mov eax, dword [0x104a3a0]
mov ebx, dword [0x104a3a4]
mov ecx, eax
mov edx, ebx
and ecx, edi
and edx, esi
cmp ecx, eax
jne 0x1031f06
cmp edx, ebx
jne 0x1031f06
push dword [ebp + 0xa0]
push dword [ebp + 0xc]
push 0x10325b8
push dword [0x104a134]
push dword [0x104a130]
call fcn.01030e23
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.0100ea61
lea eax, [ebp - 0xc4]
push eax
call fcn.01031a4d
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 0x1031f84
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.0100ea61
push ebx
call fcn.01031a4d
mov ecx, dword [ebp - 0x20]
call fcn.01031be9
test al, al
je 0x1031f84
mov bl, 1
jmp 0x1031f86
xor bl, bl
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 1
call fcn.010084de
test bl, bl
je 0x1031fcc
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.0100ea61
push ebx
call fcn.01031a4d
mov ecx, dword [ebp - 0x20]
call fcn.0103135d
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
lea eax, [ebp - 0xc4]
push eax
call fcn.0100fe6a
push dword [eax + 4]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [ebp - 0xc4]
mov ebx, eax
call fcn.010084de
test ebx, ebx
je 0x1032012
mov dword [ebp - 0x14], 0x800700b7
jmp 0x103207a
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], 0x14
cmp dword [ebp + 0xa8], eax
jb 0x1032046
push eax
push 0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 0x9c]
call fcn.010034b1
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x30]
call fcn.01030df9
test eax, eax
jne 0x1032073
mov eax, dword [ebp + 0xa8]
cmp dword [ebp + 0x14], eax
jb 0x103207a
push eax
push 0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp + 8]
call fcn.010034b1
lea eax, [ebp + 0x9c]
push eax
lea ecx, [ebp - 0x30]
call fcn.01030df9
test eax, eax
je 0x103207a
mov dword [ebp - 0x14], 0x8007007b
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x1c], 0
jl 0x1032177
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.0100ea61
mov ecx, dword [ebp - 0x20]
call fcn.0100fdc0
cmp dword [0x104a3ac], 0
je 0x1032113
mov al, byte [0x104a3b0]
cmp al, 4
jae 0x10320c6
test al, al
jne 0x1032113
mov eax, dword [0x104a398]
mov ecx, dword [0x104a39c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1032113
mov eax, dword [0x104a3a0]
mov ebx, dword [0x104a3a4]
mov ecx, eax
mov edx, ebx
and ecx, edi
and edx, esi
cmp ecx, eax
jne 0x1032113
cmp edx, ebx
jne 0x1032113
push dword [ebp + 0xa0]
push dword [ebp + 0xc]
push 0x10325c8
push dword [0x104a134]
push dword [0x104a130]
call fcn.01030e23
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.0100ea61
push ebx
call fcn.0100fe6a
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.0100ea61
push ebx
call fcn.0100fe6a
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.010314e8
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x1c], 1
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x1a], 0
jl 0x10321ce
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x28
call fcn.0100ea61
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 4
call fcn.0100ea61
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.01031c5e
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x1a], 1
jmp 0x10321d1
mov ebx, dword [ebp - 0x20]
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x1b], 0
jl 0x1032208
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x32
call fcn.0100ea61
mov ecx, ebx
call fcn.01031ab1
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x1032208
mov byte [ebp - 0x1b], 1
cmp dword [ebp - 0x14], 0
mov byte [ebp - 0x19], 0
jl 0x10322c1
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x24], 0x3c
call fcn.0100ea61
mov ecx, ebx
call fcn.01031954
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x10322c1
cmp dword [0x104a3ac], 0
mov byte [ebp - 0x19], 1
je 0x10322a6
mov al, byte [0x104a3b0]
cmp al, 4
jae 0x103225c
test al, al
jne 0x10322a6
mov eax, dword [0x104a398]
mov ecx, dword [0x104a39c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x10322a6
mov eax, dword [0x104a3a0]
mov ebx, dword [0x104a3a4]
mov ecx, eax
mov edx, ebx
and ecx, edi
and edx, esi
cmp ecx, eax
jne 0x10322a3
cmp edx, ebx
jne 0x10322a3
push dword [ebp + 0xc]
push 0x10325d8
push dword [0x104a134]
push dword [0x104a130]
call fcn.010263c4
mov ebx, dword [ebp - 0x20]
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
mov ecx, ebx
call fcn.01031b2a
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.0100ea61
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 5
call fcn.0100ea61
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.01031d79
cmp dword [ebp - 0x14], 0
jge 0x103256f
cmp dword [0x104a3ac], 0
je 0x1032368
mov al, byte [0x104a3b0]
cmp al, 4
jae 0x1032321
test al, al
jne 0x1032368
mov eax, dword [0x104a398]
mov ecx, dword [0x104a39c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1032368
mov edx, dword [0x104a3a0]
mov ecx, dword [0x104a3a4]
mov eax, edx
and eax, edi
and ecx, esi
cmp eax, edx
jne 0x1032368
cmp ecx, dword [0x104a3a4]
jne 0x1032368
push 0x1032598
push dword [0x104a134]
push dword [0x104a130]
call fcn.0100a01e
cmp byte [ebp - 0x1a], 0
je 0x10323ec
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 6
call fcn.0100ea61
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.01031c5e
test eax, eax
jge 0x10323ec
push eax
push 0xc8
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 7
call fcn.0100ea61
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010318a8
cmp byte [ebp - 0x1c], 0
je 0x10324b9
cmp dword [0x104a3ac], 0
je 0x1032457
mov al, byte [0x104a3b0]
cmp al, 4
jae 0x103240c
test al, al
jne 0x1032457
mov eax, dword [0x104a398]
mov ecx, dword [0x104a39c]
and eax, edi
and ecx, esi
or eax, ecx
je 0x1032457
mov edx, dword [0x104a3a0]
mov eax, edx
and eax, edi
mov edi, dword [0x104a3a4]
mov ecx, edi
and ecx, esi
cmp eax, edx
jne 0x1032457
cmp ecx, edi
jne 0x1032457
push dword [ebp + 0xa0]
push 0x10325a8
push dword [0x104a134]
push dword [0x104a130]
call fcn.010263c4
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
mov ecx, ebx
call fcn.01031b2a
test eax, eax
jge 0x10324b9
push eax
push 0xd2
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 8
call fcn.0100ea61
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010318a8
cmp byte [ebp - 0x1b], 0
je 0x103250a
mov ecx, ebx
call fcn.0103107d
test eax, eax
jge 0x103250a
push eax
push 0xdc
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 9
call fcn.0100ea61
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010318a8
cmp byte [ebp - 0x19], 0
je 0x103256f
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
mov ecx, ebx
call fcn.01031954
test eax, eax
jge 0x103256f
push eax
push 0xe6
sub esp, 0x94
lea eax, [ebp + 0x9c]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.0100ea61
sub esp, 0x94
lea eax, [ebp + 8]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
mov byte [ebp - 4], 0xa
call fcn.0100ea61
mov ecx, ebx
mov byte [ebp - 4], 1
call fcn.010318a8
lea ecx, [ebp + 8]
call fcn.010084de
lea ecx, [ebp + 0x9c]
call fcn.010084de
cmp dword [ebp - 0x14], 0
setge al
call fcn.010015c0
ret 0x128