Function at 0x10f69c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1141c75
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x115f604]
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 eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov esi, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x140], eax
mov edx, dword [0x1161d94]
mov eax, dword [edx + 0xc]
mov ecx, 0x1161d94
mov dword [ebp - 4], 0
mov byte [ebp - 0x11d], 0
call eax
add eax, 0x10
mov dword [ebp - 0x124], eax
mov edx, dword [0x1161d94]
mov eax, dword [edx + 0xc]
mov ecx, 0x1161d94
mov byte [ebp - 4], 1
call eax
add eax, 0x10
mov dword [ebp - 0x128], eax
mov edx, dword [0x1161d94]
mov eax, dword [edx + 0xc]
mov ecx, 0x1161d94
mov byte [ebp - 4], 2
call eax
add eax, 0x10
mov dword [ebp - 0x12c], eax
mov edx, dword [0x1161d94]
mov eax, dword [edx + 0xc]
mov ecx, 0x1161d94
mov byte [ebp - 4], 3
call eax
add eax, 0x10
mov dword [ebp - 0x130], eax
push 0
push 0x10484d0
lea ecx, [ebp - 0x11d]
push ecx
push 0x1048450
lea edx, [ebp - 0x11c]
push 2
push edx
mov byte [ebp - 4], 4
call fcn.010c6980
add esp, 0x18
lea ebx, [esi + 4]
push ebx
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 5
call fcn.0109c210
push 1
push 0x100e2bc
lea ecx, [ebp - 0x124]
call fcn.0109dbe0
mov edi, dword [ebp + 8]
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [ebp - 0x124]
call fcn.0109dbe0
add esi, 0xc
push esi
lea ecx, [ebp - 0x128]
call fcn.0109c210
push 1
push 0x100e2bc
lea ecx, [ebp - 0x128]
call fcn.0109dbe0
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [ebp - 0x128]
call fcn.0109dbe0
cmp dword [0x100320c], 0
je 0x10f6bc1
mov eax, dword [ebp - 0x124]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10f6b92
mov ecx, dword [ebp - 0x124]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x10f6b92
mov eax, dword [ebp - 0x124]
lea edx, [ebp - 0x12c]
push edx
push eax
call fcn.01131240
call fcn.01127f00
test al, al
je 0x10f6bc1
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x124]
push ecx
push edx
push 0x1048428
push 0x10483a8
push 3
call fcn.01128b70
add esp, 0x14
jmp 0x10f6bc1
call fcn.01127f00
test al, al
je 0x10f6bb6
mov eax, dword [ebp - 0x124]
push eax
push 0x1048378
push 0x10482f8
push 3
call fcn.01128b70
add esp, 0x10
lea ecx, [ebp - 0x12c]
call fcn.01074570
mov ecx, dword [ebp - 0x128]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10f6c23
mov edx, dword [ebp - 0x128]
push edx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x10f6c23
mov ecx, dword [ebp - 0x128]
lea eax, [ebp - 0x130]
push eax
push ecx
call fcn.01131240
call fcn.01127f00
test al, al
je 0x10f6c52
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x128]
push edx
push eax
push 0x1048428
push 0x1048278
push 3
call fcn.01128b70
add esp, 0x14
jmp 0x10f6c52
call fcn.01127f00
test al, al
je 0x10f6c47
mov ecx, dword [ebp - 0x128]
push ecx
push 0x1048378
push 0x10481f8
push 3
call fcn.01128b70
add esp, 0x10
lea ecx, [ebp - 0x130]
call fcn.01074570
mov edx, dword [ebp - 0x12c]
mov ecx, dword [edx - 0xc]
xor eax, eax
cmp ecx, eax
jne 0x10f6ca7
mov ecx, dword [ebp - 0x130]
cmp dword [ecx - 0xc], eax
jne 0x10f6ca7
call fcn.01127f00
test al, al
je 0x10f6c89
push 0x10481b0
push 0x1048130
push 3
call fcn.01128b70
add esp, 0xc
mov ecx, dword [ebp - 0x134]
lea edx, [ebp - 0x124]
push edx
mov byte [ebp - 0x11d], 1
call fcn.0109c210
jmp 0x10f6df8
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov eax, dword [0x1161d94]
mov edx, dword [eax + 0xc]
mov ecx, 0x1161d94
call edx
add eax, 0x10
mov dword [ebp - 0x158], eax
xor eax, eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
mov eax, dword [0x1161d94]
mov edx, dword [eax + 0xc]
mov ecx, 0x1161d94
mov byte [ebp - 4], 6
call edx
add eax, 0x10
mov dword [ebp - 0x144], eax
lea eax, [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 7
call fcn.010f61f0
lea ecx, [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x154]
call fcn.010f61f0
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x168]
cmp eax, ecx
ja 0x10f6d79
jb 0x10f6d8e
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x164]
cmp eax, ecx
ja 0x10f6d79
jb 0x10f6d8e
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x160]
cmp eax, ecx
ja 0x10f6d79
jb 0x10f6d8e
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x15c]
jbe 0x10f6d8e
mov ecx, dword [ebp - 0x134]
lea eax, [ebp - 0x128]
push eax
call fcn.0109c210
push esi
jmp 0x10f6da1
lea ecx, [ebp - 0x124]
push ecx
mov ecx, dword [ebp - 0x134]
call fcn.0109c210
push ebx
mov ecx, dword [ebp - 0x13c]
call fcn.0109c210
mov eax, dword [ebp - 0x144]
add eax, 0xfffffff0
mov byte [ebp - 4], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10f6dd2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x158]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10f6df8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [0x100320c], 0
mov ecx, dword [ebp - 0x140]
jne 0x10f6e16
push esi
call fcn.0109c210
lea ecx, [ebp - 0x128]
push ecx
jmp 0x10f6e23
push ebx
call fcn.0109c210
lea edx, [ebp - 0x124]
push edx
mov ecx, dword [ebp - 0x138]
call fcn.0109c210
mov bl, byte [ebp - 0x11d]
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 4
call fcn.010c6aa0
mov eax, dword [ebp - 0x130]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10f6e69
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x12c]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10f6e8f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10f6eb5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x124]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10f6edb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add edi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10f6efe
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov al, bl
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.010840d6
mov esp, ebp
pop ebp
ret 0x14