Function at 0x10052ad0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa44
mov eax, dword [0x1007b00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0xa3c]
push esi
push edi
mov edi, dword [ebp + 0xc]
push 0x414
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 1
push 0x208
lea edx, [ebp - 0xa3c]
mov ecx, ebx
call fcn.10055ef0
add esp, 0x14
test eax, eax
je 0x10052b59
cmp word [ebp - 0xa3c], 0
jne 0x10052b28
xor ecx, ecx
jmp 0x10052b40
lea ecx, [ebp - 0xa3c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10052b31
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0xa3c]
mov ecx, edi
push eax
call fcn.10002e00
mov esi, 1
jmp 0x10052f2e
mov esi, ebx
lea ecx, [esi + 2]
nop
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x10052b60
sub esi, ecx
sar esi, 1
cmp esi, 0x104
jb 0x10052c1e
mov ecx, 0x208
mov eax, esi
cmp esi, ecx
mov edx, 2
push 0x1007da74
cmovb eax, ecx
xor ecx, ecx
mov dword [ebp - 0xa40], eax
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1005be25
mov ecx, eax
add esp, 8
mov dword [ebp - 0xa44], ecx
test ecx, ecx
jne 0x10052bbf
xor esi, esi
jmp 0x10052f2e
mov eax, dword [ebp - 0xa40]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
push dword [ebp - 0xa40]
mov edx, esi
mov ecx, ebx
push dword [ebp - 0xa44]
push 0
push 0
call fcn.1004f1f0
mov esi, eax
add esp, 0x1c
mov ecx, edi
test esi, esi
je 0x10052c01
push dword [ebp - 0xa44]
jmp 0x10052c06
push 0x10067498
call fcn.1000c1b0
push dword [ebp - 0xa44]
call fcn.1005be17
add esp, 4
jmp 0x10052f2e
push 0x20a
lea eax, [ebp - 0x628]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x20a
lea eax, [ebp - 0x41c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x20a
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x24
push edi
push ebx
call fcn.100530f0
mov esi, eax
test esi, esi
jne 0x10052f2e
push ebx
call fcn.10053500
mov esi, eax
test esi, esi
jne 0x10052f26
push 0x20a
push eax
lea eax, [ebp - 0x628]
push eax
call sub.VCRUNTIME140.dll_memset
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x628]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
mov eax, 0x22
add esp, 0x1c
cmp ax, word [ebp - 0x628]
jne 0x10052cc0
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
test esi, esi
je 0x10052cdf
lea eax, [ebp - 0x628]
push eax
jmp 0x10052f27
push 0x20a
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
lea eax, [ebp - 0x210]
push 0xffffffffffffffff
push ebx
push 0x104
push eax
call esi
mov ecx, 0x40
mov dword [ebp - 0xa40], 0
add esp, 0x1c
lea eax, [ebp - 0x210]
cmp cx, word [ebp - 0x210]
jne 0x10052d3c
mov dword [ebp - 0xa40], 1
add eax, 2
cmp cx, word [eax]
je 0x10052d34
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x210]
push 0x104
push eax
call esi
add esp, 0x10
cmp dword [ebp - 0xa40], 0
je 0x10052daf
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
lea eax, [ebp - 0x210]
push eax
test esi, esi
jne 0x10052f27
call dword [sym.imp.SHLWAPI.dll_PathParseIconLocationW]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
test esi, esi
je 0x10052da9
lea eax, [ebp - 0x210]
push eax
jmp 0x10052f27
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
push 0x20a
lea eax, [ebp - 0x41c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x41c]
push 0x104
push eax
call esi
add esp, 0x1c
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathParseIconLocationW]
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
lea eax, [ebp - 0x41c]
push eax
test esi, esi
jne 0x10052f27
call dword [sym.imp.SHLWAPI.dll_PathRemoveArgsW]
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathUnquoteSpacesW]
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
test esi, esi
je 0x10052e40
lea eax, [ebp - 0x41c]
push eax
jmp 0x10052f27
push edi
push ebx
call fcn.10053150
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x628]
push eax
call fcn.10053150
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x41c]
push eax
call fcn.10053150
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x210]
push eax
call fcn.10053150
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
push ebx
call fcn.10053240
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x628]
push eax
call fcn.10053240
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x41c]
push eax
call fcn.10053240
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x210]
push eax
call fcn.10053240
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
push ebx
call fcn.10053400
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x628]
push eax
call fcn.10053400
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x41c]
push eax
call fcn.10053400
mov esi, eax
test esi, esi
jne 0x10052f2e
push edi
lea eax, [ebp - 0x210]
push eax
call fcn.10053400
mov esi, eax
test esi, esi
jne 0x10052f2e
push ebx
mov ecx, edi
call fcn.1000c1b0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1005b6db
mov esp, ebp
pop ebp
ret 8