Function at 0x100253c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017b716
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x101df230]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xe0], edi
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xd8], eax
lea esi, [edi + 0x4c]
mov dword [ebp - 4], 0
lea eax, [ebp + 0xc]
mov dword [ebp - 0xdc], esi
cmp esi, eax
je 0x10025422
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.10020280
lea ebx, [edi + 0x64]
mov dword [ebp - 0xe8], ebx
cmp ebx, esi
je 0x1002543b
push 0xffffffffffffffff
push 0
push esi
mov ecx, ebx
call fcn.10020280
lea eax, [ebp - 0x28]
push str.53052632061337701835486701630808
push eax
call fcn.1003e405
mov esi, eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 1
push str.42350365036758401167682870492416
push eax
call fcn.1003e405
push esi
push eax
push ebx
mov byte [ebp - 4], 2
call fcn.10040cca
mov eax, dword [ebp - 0x5c]
add esp, 0x1c
cmp eax, 8
jb 0x10025481
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.10020130
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x60], 0
cmp eax, 8
jb 0x100254ad
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.10020130
call fcn.1003d91b
test al, al
je 0x100254d5
pop ebp
pop ebx
push ebp
pop ebx
pop esi
pop ebp
push edi
push edi
push ecx
push ecx
pop esp
push ecx
pop ebx
push esp
push ebp
push ebp
pop esp
pop eax
push ebp
push edi
push esi
push ebx
push edi
push ebp
push edx
pop ebp
pop esi
push eax
push esp
push ebx
pop edi
call fcn.1003d8d6
test al, al
je 0x100254f0
push ebx
push eax
push ebp
push ebx
push eax
push ecx
pop ecx
push edi
pop ebx
pop esi
pop esi
pop eax
push ebp
pop esp
pop esp
push esp
pop esp
pop esp
call fcn.1003d7c2
test al, al
je 0x10025515
push edi
pop ebx
pop ebp
push ebp
push eax
pop ebp
push ebp
pop ebp
push esi
pop esi
pop edi
pop edx
push esi
push ebx
pop edx
push eax
push ebx
push edi
push edx
push ebp
pop edi
pop edi
push ecx
push edx
pop ebx
pop esi
pop edx
push ebp
xor eax, eax
mov dword [ebp - 0xbc], 7
push eax
push 0x101d7658
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xc0], 0
mov word [ebp - 0xd0], ax
call fcn.10020030
xor eax, eax
mov byte [ebp - 4], 3
push eax
push 0x101d7658
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xa4], 7
mov dword [ebp - 0xa8], 0
mov word [ebp - 0xb8], ax
call fcn.10020030
mov esi, dword [ebp - 0xdc]
mov byte [ebp - 4], 4
cmp dword [esi + 0x14], 8
jb 0x10025589
mov eax, dword [esi]
jmp 0x1002558b
mov eax, esi
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.1003f4d5
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 5
cmovae eax, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003f3f3
add esp, 0x10
mov edi, eax
lea eax, [ebp - 0x88]
cmp eax, edi
je 0x10025604
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x100255e1
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.10020130
xor eax, eax
mov dword [ebp - 0x74], 7
push edi
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x78], 0
mov word [ebp - 0x88], ax
call fcn.10021c20
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp eax, 8
jb 0x1002561d
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.10020130
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.10041618
push 0
call fcn.1005c7be
mov dword [ebp - 0xe4], eax
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x8c], 7
mov dword [ebp - 0x90], 0
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], eax
mov word [ebp - 0x58], ax
mov byte [ebp - 4], 9
mov dword [ebp - 0xec], eax
call fcn.1003d4cb
test al, al
je 0x1002568b
push ebx
push edx
pop ebp
pop ebx
push ebp
pop ebx
pop eax
pop ebp
push ecx
pop ecx
push ecx
push edi
push esi
push ebp
pop ecx
push ebp
call fcn.1003d6ae
test al, al
je 0x100256b3
push ebp
pop esi
pop edx
pop eax
pop edi
pop eax
push ebx
pop ecx
push ebx
push edx
pop esi
push edi
pop esi
pop ebp
pop ebx
pop ebx
pop ecx
push edx
push edx
pop ebp
pop ebx
push ebp
pop eax
push ebp
pop esi
mov esi, dword [ebp - 0xdc]
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xa0]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x14], 7
cmp dword [ecx + 0x14], 8
mov dword [ecx + 0x10], 0
jb 0x100256f3
mov eax, dword [ecx]
jmp 0x100256f5
mov eax, ecx
xor edx, edx
push 0xffffffffffffffff
push edx
push esi
mov word [eax], dx
call fcn.10020280
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0xe0]
mov ecx, edi
push ebx
call fcn.10026020
test al, al
je 0x100258be
cmp dword [ebp - 0xbc], 8
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xec], 1
cmovae eax, dword [ebp - 0xd0]
push eax
call fcn.1005c6eb
add eax, dword [edi]
add esp, 4
cmp eax, dword [ebp - 0xe4]
jl 0x10025772
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xb8]
cmp eax, ecx
je 0x10025896
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10020280
jmp 0x10025896
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.10041618
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xa
jb 0x1002578b
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003ddc0
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.10021a30
lea ecx, [ebp - 0x28]
call fcn.1001fe90
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.10025270
cmp dword [ebp - 0x48], 0
jne 0x10025812
lea ebx, [edi + 0x64]
push ebx
push esi
call fcn.10025100
add esp, 8
test al, al
je 0x1002580f
lea eax, [ebp - 0x70]
push ebx
push eax
call fcn.10041618
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xb
jb 0x100257e5
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003ddc0
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.10021a30
lea ecx, [ebp - 0x28]
call fcn.1001fe90
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.10025270
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.100250c0
add esp, 8
test al, al
je 0x100258be
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0xb8]
cmp eax, ecx
je 0x10025849
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.10020280
sub esp, 0x18
lea eax, [ebp - 0xb8]
mov ecx, esp
mov dword [ebp - 0xf0], esp
push eax
call fcn.10021ab0
sub esp, 0x18
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xe8], esp
mov ecx, esp
push eax
call fcn.10021ab0
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
push esi
call fcn.10021ab0
push ebx
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.100266d0
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push eax
push 1
push 1
call fcn.10026650
mov ecx, eax
call fcn.1002ecb0
mov esi, 1
jmp 0x10025ba3
cmp dword [ebp + 0x28], 0
jne 0x100258d9
mov ecx, dword [ebp - 0xd8]
push 0x101d7658
call fcn.1001ffe0
jmp 0x10025ba1
mov ebx, dword [ebp - 0xd8]
cmp dword [ebx + 0x10], 0
jne 0x10025991
cmp dword [ebp + 8], 0
je 0x10025935
add edi, 0x1c
cmp dword [edi + 0x14], 8
jb 0x100258fa
mov edi, dword [edi]
lea eax, [ebp - 0x28]
push edi
push eax
call fcn.1003f8b4
add esp, 8
mov ecx, ebx
push eax
call fcn.10021a30
lea ecx, [ebp - 0x28]
call fcn.1001fe90
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003f6b4
add esp, 8
mov byte [ebp - 4], 0xe
jmp 0x10025979
add edi, 4
cmp dword [edi + 0x14], 8
jb 0x10025940
mov edi, dword [edi]
lea eax, [ebp - 0x28]
push edi
push eax
call fcn.1003f8b4
add esp, 8
mov ecx, ebx
push eax
call fcn.10021a30
lea ecx, [ebp - 0x28]
call fcn.1001fe90
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003f6b4
add esp, 8
mov byte [ebp - 4], 0xf
push 0xffffffffffffffff
push 0
push eax
mov ecx, ebx
call fcn.10021dc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
call fcn.1001fe90
call fcn.1003dafe
test al, al
je 0x100259bb
push eax
push esp
push eax
push ebx
pop ecx
push edi
pop edi
push edx
push ecx
pop ebx
pop ecx
push edi
push esi
push ecx
pop esp
push eax
pop esp
push edi
pop esp
push eax
push edx
pop edx
pop esp
push ecx
push edx
push eax
push eax
mov ebx, dword [ebp - 0xd8]
call fcn.1003d7c2
test al, al
je 0x100259e7
pop edx
pop esi
pop esi
push esi
push ebx
pop ecx
push eax
pop ecx
push esp
push esi
push ecx
push ecx
push edx
push ecx
push esi
pop esp
push esp
pop esi
push esi
pop edx
pop eax
pop eax
push esi
pop edi
pop ebp
pop eax
push edi
push ebx
pop esp
mov esi, dword [ebp - 0xdc]
cmp dword [ebx + 0x14], 8
jb 0x100259f1
mov eax, dword [ebx]
jmp 0x100259f3
mov eax, ebx
push eax
call fcn.1003e490
push esi
push dword [ebp - 0xe8]
call fcn.100250c0
mov edi, dword [ebp - 0xe0]
add esp, 0xc
mov ecx, edi
push ebx
test al, al
jne 0x10025a2e
push 0
call fcn.10025c80
test eax, eax
setne al
mov byte [ebp - 0xd1], al
test al, al
jne 0x10025a3e
push ebx
mov ecx, edi
push 1
call fcn.10025c80
test eax, eax
setne byte [ebp - 0xd1]
cmp dword [ebx + 0x14], 8
jb 0x10025a48
mov eax, dword [ebx]
jmp 0x10025a4a
mov eax, ebx
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10025b83
cmp byte [ebp - 0xd1], 0
je 0x10025b83
cmp dword [ebp - 0xec], 0
lea eax, [ebp - 0x40]
jne 0x10025a76
push 2
jmp 0x10025a78
push 3
cmp dword [ebp - 0x2c], 0x10
cmovae eax, dword [ebp - 0x40]
push eax
push 1
push 1
call fcn.10026650
mov ecx, eax
call fcn.1002ecb0
cmp dword [ebp - 0x48], 0
jne 0x10025b3b
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.10041618
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x10
jb 0x10025ab4
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003ddc0
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.10021a30
lea ecx, [ebp - 0x28]
call fcn.1001fe90
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.10025270
cmp dword [ebp - 0x48], 0
jne 0x10025b3b
lea eax, [edi + 0x64]
push eax
push esi
call fcn.10025100
add esp, 8
test al, al
je 0x10025b3b
lea eax, [edi + 0x64]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.10041618
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x11
jb 0x10025b11
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1003ddc0
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.10021a30
lea ecx, [ebp - 0x28]
call fcn.1001fe90
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 9
call fcn.10025270
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xf0], esp
push ebx
call fcn.10021ab0
sub esp, 0x18
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x58]
mov dword [ebp - 0xe8], esp
mov ecx, esp
push eax
call fcn.10021ab0
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, esp
push esi
call fcn.10021ab0
push dword [ebp + 8]
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.100266d0
jmp 0x10025ba1
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 1
cmovae eax, dword [ebp - 0x40]
push eax
push 1
push 1
call fcn.10026650
mov ecx, eax
call fcn.1002ecb0
xor esi, esi
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x10025bb8
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.10020130
xor eax, eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x48], 0
cmp eax, 8
jb 0x10025bea
inc eax
lea ecx, [ebp - 0xa0]
push eax
push dword [ebp - 0xa0]
call fcn.10020130
xor eax, eax
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x90], 0
cmp eax, 0x10
jb 0x10025c1c
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.10023bd0
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.1001fe90
lea ecx, [ebp - 0xb8]
call fcn.1001fe90
lea ecx, [ebp - 0xd0]
call fcn.1001fe90
lea ecx, [ebp + 0xc]
call fcn.1001fe90
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10031bc0
mov esp, ebp
pop ebp
ret 0x24