Function at 0x42709a
Capabilities:
Check if file exists

Disassembly:
push 0x148
mov eax, 0x5053cb
call fcn.0044d727
mov edi, ecx
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x58]
push ebx
push eax
call fcn.00423a44
and dword [ebp - 4], 0
lea eax, [ebp - 0x58]
cmp dword [ebp - 0x44], 8
cmovae eax, dword [ebp - 0x58]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00422e5c
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00423d6f
add esp, 0x18
mov esi, dword [edi]
mov byte [ebp - 4], 2
jmp 0x427134
cmp dword [esi + 0x14], 0x10
jb 0x427106
mov eax, dword [esi]
jmp 0x427108
mov eax, esi
push eax
lea ecx, [ebp - 0x40]
call fcn.0041f7ad
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.0042664e
neg eax
lea ecx, [ebp - 0x40]
push 0
sbb al, al
push 1
add al, 1
jne 0x42716b
call fcn.0041a7a0
add esi, 0x18
cmp esi, dword [edi + 4]
jne 0x4270fc
xor ebx, ebx
mov esi, ebx
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.0041a7a0
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.0041a530
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.0041a530
mov eax, esi
call fcn.0044d6e2
ret 0xc
call fcn.0041a7a0
lea esi, [edi + 0x10]
cmp esi, ebx
je 0x427183
push 0xffffffffffffffff
push 0
push ebx
mov ecx, esi
call fcn.0041a860
mov eax, dword [ebp - 0x90]
lea ecx, [edi + 0x28]
cmp ecx, eax
je 0x42719a
push 0xffffffffffffffff
push 0
push eax
call fcn.0041a860
push esi
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00426e46
cmp byte [ebp + 0x10], 0
mov byte [ebp - 4], 3
je 0x4271d1
push esi
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00426f59
push eax
lea ecx, [ebp - 0x28]
call fcn.0041faa4
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.0041a530
mov esi, dword [ebp - 0x90]
cmp dword [esi + 0x10], 0
jbe 0x427361
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x427236
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.00423a44
sub esp, 0x10
mov byte [ebp - 4], 4
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041a100
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00426b9a
lea ecx, [ebp - 0x40]
test al, al
je 0x427355
push 0
push 1
mov byte [ebp - 4], 3
call fcn.0041a530
push esi
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041a100
mov ecx, edi
call fcn.00426a80
test al, al
jne 0x4272ad
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.00423a44
sub esp, 0x10
mov byte [ebp - 4], 5
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041a100
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00426b9a
test al, al
je 0x427352
push esi
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041a100
mov ecx, edi
call fcn.00426a80
test al, al
je 0x427352
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.0041a530
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x427361
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 1
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x154]
push 0x40
push 0x25
push eax
call fcn.0042667e
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x154]
call fcn.004278a8
mov esi, dword [eax + 8]
add esi, dword [eax]
lea eax, [esi + 0xa]
push eax
call fcn.0044d7cd
lea ecx, [esi + 1]
mov dword [edi + 0x54], eax
push ecx
xor ebx, ebx
push ebx
push eax
call fcn.0042c0b0
add esp, 0x10
lea ecx, [ebp - 0x154]
push ebx
push ebx
push ebx
call fcn.0042776d
push ebx
push esi
push dword [edi + 0x54]
lea ecx, [ebp - 0x154]
call fcn.0042762a
lea ecx, [ebp - 0x154]
call fcn.004275f8
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 3
call fcn.00426948
jmp 0x427377
lea ecx, [ebp - 0x40]
xor ebx, ebx
push ebx
push 1
call fcn.0041a530
jmp 0x42737b
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.0041a1e0
mov ecx, edi
call fcn.00426b02
xor ebx, ebx
mov esi, eax
test esi, esi
jne 0x42737f
mov esi, ebx
jmp 0x4273ed
lea ecx, [ebp - 0x89]
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call fcn.0041f6bb
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x9c]
push eax
push esi
push dword [edi + 0x54]
lea ecx, [ebp - 0x89]
call fcn.00428278
cmp dword [ebp - 0x9c], 0
je 0x4273e0
cmp dword [ebp - 0x98], 0
je 0x4273e0
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
call fcn.00427feb
pop ecx
pop ecx
mov esi, eax
jmp 0x4273e2
mov esi, ebx
lea ecx, [ebp - 0x89]
call fcn.004528c0
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.0041a530
jmp 0x42713d