Function at 0x10052180
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101f4f18
mov eax, dword fs:[0]
push eax
mov eax, 0x1058
call fcn.10170840
mov eax, dword [0x10283a3c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x1028]
mov dword [ebp - 0x1060], 0
push eax
lea ecx, [ebp - 0x1059]
call fcn.10047690
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 8
jb 0x100521db
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x1064]
push eax
call fcn.1004db40
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1028]
call fcn.10020960
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.101be270
push 0x800
lea eax, [ebp - 0x1010]
push 0
push eax
call fcn.101be270
add esp, 0x18
lea eax, [ebp - 0x1040]
lea ecx, [ebp - 0x1059]
push eax
call fcn.10046220
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
jb 0x10052241
mov eax, dword [eax]
push eax
push dword [ebp - 0x1064]
lea eax, [ebp - 0x810]
push 0x1021e944
push eax
call fcn.10035f20
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1040]
call fcn.10020960
lea eax, [ebp - 0x1058]
push eax
lea ecx, [ebp - 0x1059]
call fcn.10046960
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
jb 0x10052289
mov eax, dword [eax]
push eax
push dword [ebp - 0x1064]
lea eax, [ebp - 0x1010]
push 0x1021e944
push eax
call fcn.10035f20
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1058]
call fcn.10020960
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100523fe
lea eax, [ebp - 0x1010]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100523fe
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x1064]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10052302
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x1028]
push eax
call fcn.100500f0
add esp, 4
mov dword [ebp - 4], 7
mov ebx, 1
mov dword [ebp - 0x1060], ebx
cmp dword [eax + 0x10], 0
jne 0x1005237e
lea eax, [ebp - 0x1040]
push eax
call fcn.1004fff0
add esp, 4
mov dword [ebp - 4], 8
mov ebx, 3
mov dword [ebp - 0x1060], ebx
cmp dword [eax + 0x10], 0
jne 0x1005237e
lea eax, [ebp - 0x1058]
push eax
call fcn.1004fde0
add esp, 4
mov dword [ebp - 4], 9
mov ebx, 7
mov dword [ebp - 0x1060], ebx
cmp dword [eax + 0x10], 0
mov byte [ebp - 0x1059], 0
je 0x10052385
mov byte [ebp - 0x1059], 1
mov dword [ebp - 4], 8
test bl, 4
je 0x100523a5
and ebx, 0xfffffffb
lea ecx, [ebp - 0x1058]
mov dword [ebp - 0x1060], ebx
call fcn.100208e0
mov dword [ebp - 4], 7
test bl, 2
je 0x100523c5
and ebx, 0xfffffffd
lea ecx, [ebp - 0x1040]
mov dword [ebp - 0x1060], ebx
call fcn.100208e0
mov dword [ebp - 4], 0xffffffff
test bl, 1
je 0x100523e5
and ebx, 0xfffffffe
lea ecx, [ebp - 0x1028]
mov dword [ebp - 0x1060], ebx
call fcn.100208e0
cmp byte [ebp - 0x1059], 0
je 0x10052423
call fcn.1007b010
test al, al
jne 0x10052423
mov eax, 1
jmp 0x10052425
mov dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x1064]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10052423
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1017034a
mov esp, ebp
pop ebp
ret