Function at 0x427288
Capabilities:
Check if file exists

Disassembly:
push 0x148
mov eax, 0x47f06b
call fcn.0044faea
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.0041a194
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.004199cd
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0041a511
add esp, 0x18
mov esi, dword [edi]
mov byte [ebp - 4], 2
jmp 0x427322
cmp dword [esi + 0x14], 0x10
jb 0x4272f4
mov eax, dword [esi]
jmp 0x4272f6
mov eax, esi
push eax
lea ecx, [ebp - 0x40]
call fcn.0040abb0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.004279ae
neg eax
lea ecx, [ebp - 0x40]
push 0
sbb al, al
push 1
add al, 1
jne 0x427359
call fcn.0041425b
add esi, 0x18
cmp esi, dword [edi + 4]
jne 0x4272ea
xor ebx, ebx
mov esi, ebx
push ebx
push 1
lea ecx, [ebp - 0x70]
call fcn.0041425b
push ebx
push 1
lea ecx, [ebp - 0x88]
call fcn.00405490
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.00405490
mov eax, esi
call fcn.0044faa5
ret 0xc
call fcn.0041425b
lea esi, [edi + 0x10]
cmp esi, ebx
je 0x427371
push 0xffffffffffffffff
push 0
push ebx
mov ecx, esi
call fcn.00403ff0
mov eax, dword [ebp - 0x90]
lea ecx, [edi + 0x28]
cmp ecx, eax
je 0x427388
push 0xffffffffffffffff
push 0
push eax
call fcn.00403ff0
push esi
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00426fcc
cmp byte [ebp + 0x10], 0
mov byte [ebp - 4], 3
je 0x4273bf
push esi
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.004270c3
push eax
lea ecx, [ebp - 0x28]
call fcn.0040ac90
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.00405490
mov esi, dword [ebp - 0x90]
cmp dword [esi + 0x10], 0
jbe 0x42754f
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 0x427424
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.0041a194
sub esp, 0x10
mov byte [ebp - 4], 4
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041984f
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00426e74
lea ecx, [ebp - 0x40]
test al, al
je 0x427543
push 0
push 1
mov byte [ebp - 4], 3
call fcn.00405490
push esi
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041984f
mov ecx, edi
call fcn.00426ce7
test al, al
jne 0x42749b
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.0041a194
sub esp, 0x10
mov byte [ebp - 4], 5
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041984f
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
call fcn.00426e74
test al, al
je 0x427540
push esi
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0041984f
mov ecx, edi
call fcn.00426ce7
test al, al
je 0x427540
push 0
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.00405490
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 0x42754f
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.00426873
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x154]
call fcn.00427fbb
mov esi, dword [eax + 8]
add esi, dword [eax]
lea eax, [esi + 0xa]
push eax
call fcn.0040ea8c
lea ecx, [esi + 1]
mov dword [edi + 0x4c], eax
push ecx
xor ebx, ebx
push ebx
push eax
call fcn.0042a980
add esp, 0x10
lea ecx, [ebp - 0x154]
push ebx
push ebx
push ebx
call fcn.00427cec
push ebx
push esi
push dword [edi + 0x4c]
lea ecx, [ebp - 0x154]
call fcn.0041c171
lea ecx, [ebp - 0x154]
call fcn.0041bff2
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 3
call fcn.00426b6a
jmp 0x427565
lea ecx, [ebp - 0x40]
xor ebx, ebx
push ebx
push 1
call fcn.00405490
jmp 0x427569
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.004138bb
mov ecx, edi
call fcn.00426d69
xor ebx, ebx
mov esi, eax
test esi, esi
jne 0x42756d
mov esi, ebx
jmp 0x4275db
lea ecx, [ebp - 0x89]
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
call fcn.004114d0
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x9c]
push eax
push esi
push dword [edi + 0x4c]
lea ecx, [ebp - 0x89]
call fcn.00428bdb
cmp dword [ebp - 0x9c], 0
je 0x4275ce
cmp dword [ebp - 0x98], 0
je 0x4275ce
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
call fcn.0042894e
pop ecx
pop ecx
mov esi, eax
jmp 0x4275d0
mov esi, ebx
lea ecx, [ebp - 0x89]
call fcn.00421e70
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.00405490
jmp 0x42732b