Function at 0x456c0c
Capabilities:
Check if file exists

Disassembly:
push 0x2a8
mov eax, 0x5c06fd
call fcn.00598fca
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x23c], ebx
cmp dword [esi + 0xc], ebx
je 0x456ff1
cmp dword [ebp + 8], ebx
jl 0x456ff1
cmp dword [ebp + 8], 8
jae 0x456ff1
push dword [ebp + 8]
mov dword [ebp - 4], ebx
xor eax, eax
mov byte [ebp - 0x2c], bl
lea edi, [ebp - 0x2b]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.id_d
stosb byte es:[edi], al
lea eax, [ebp - 0x2c]
push 0x14
push eax
call fcn.005927ef
lea ecx, [esi + 0x18]
add esp, 0x10
mov edx, str.items
mov dword [ebp - 0x244], ecx
call fcn.0054b949
lea edx, [ebp - 0x2c]
mov ecx, eax
call fcn.0054b949
mov esi, eax
mov dword [ebp - 0x238], esi
cmp byte [esi + 8], bl
je 0x456ca2
call fcn.0054bd37
test al, al
jne 0x456ccc
lea eax, [ebp - 0x284]
push eax
push 7
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 1
call fcn.0054b224
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0
call fcn.0054b1a0
xor ebx, ebx
mov eax, dword [0x63696c]
mov ecx, 0x63696c
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x240], eax
mov edx, 0x5defbc
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0054b949
mov edi, eax
mov al, byte [edi + 8]
mov dword [ebp - 0x248], edi
test al, al
je 0x456dc3
cmp al, 4
jne 0x456dc3
cmp dword [edi], ebx
je 0x456dc3
mov ecx, dword [ebp - 0x238]
mov edx, str.dellist
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
je 0x456d36
call fcn.0054bd25
test al, al
jne 0x456d5e
lea eax, [ebp - 0x284]
push eax
push 6
pop ebx
call fcn.0054af1d
push eax
mov byte [ebp - 4], 3
call fcn.0054b224
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 2
call fcn.0054b1a0
push dword [edi]
lea eax, [ebp - 0x284]
push eax
call fcn.0054afd5
lea eax, [ebp - 0x284]
push eax
push esi
mov byte [ebp - 4], 4
call fcn.0054bb5f
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 2
call fcn.0054b1a0
push dword [edi]
lea eax, [ebp - 0x24c]
push eax
call fcn.0047f54f
pop ecx
pop ecx
lea edi, [ebp - 0x240]
mov byte [ebp - 4], 5
call fcn.0040a3cc
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x24c]
add eax, 0xfffffff0
call fcn.00407b6b
mov edi, dword [ebp - 0x248]
mov ebx, 0x63d1b8
push ebx
mov esi, edi
call fcn.0054b224
mov ecx, dword [ebp - 0x238]
mov edx, 0x5e9964
call fcn.0054b949
push ebx
mov esi, eax
call fcn.0054b224
mov ecx, dword [ebp - 0x238]
mov edx, str.preset
call fcn.0054b949
xor ebx, ebx
push ebx
lea edi, [ebp - 0x284]
mov esi, eax
call fcn.0054af9b
push eax
mov byte [ebp - 4], 6
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
mov ecx, dword [ebp - 0x238]
mov edx, 0x5e9974
call fcn.0054b949
push ebx
lea edi, [ebp - 0x284]
mov esi, eax
call fcn.0054af9b
push eax
mov byte [ebp - 4], 7
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
mov ecx, dword [ebp - 0x238]
mov edx, str.adsid
call fcn.0054b949
push ebx
lea edi, [ebp - 0x284]
mov esi, eax
call fcn.0054af9b
push eax
mov byte [ebp - 4], 8
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
mov ecx, dword [ebp - 0x238]
mov edx, str.adsstart
call fcn.0054b949
push ebx
lea edi, [ebp - 0x284]
mov esi, eax
call fcn.0054af9b
push eax
mov byte [ebp - 4], 9
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
mov ecx, dword [ebp - 0x238]
mov edx, str.adsend
call fcn.0054b949
push ebx
lea edi, [ebp - 0x284]
mov esi, eax
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0xa
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
mov ecx, dword [ebp - 0x238]
mov edx, str.define
call fcn.0054b949
push 0xffffffffffffffff
lea edi, [ebp - 0x284]
mov esi, eax
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0xb
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
xor eax, eax
push 0x206
mov word [ebp - 0x234], ax
lea eax, [ebp - 0x232]
push ebx
push eax
call fcn.00596530
add esp, 0xc
push 0x103
lea eax, [ebp - 0x234]
push eax
push dword [ebp + 8]
call fcn.00457587
cmp eax, ebx
je 0x456f6f
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x456f6f
lea ecx, [ebp - 0x234]
call fcn.0047611f
mov ecx, dword [ebp - 0x244]
mov edx, str.main
call fcn.0054b949
mov edx, 0x5e9904
mov ecx, eax
call fcn.0054b949
mov esi, eax
mov ecx, eax
call fcn.0054b340
inc eax
push eax
lea edi, [ebp - 0x2b4]
call fcn.0054af9b
push eax
mov byte [ebp - 4], 0xc
call fcn.0054b224
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0054b1a0
mov esi, dword [ebp - 0x250]
xor eax, eax
inc eax
mov dword [esi + 0x10], eax
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x240]
add eax, 0xfffffff0
call fcn.00407b6b
or dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.004578f3
mov eax, dword [ebp - 0x23c]
jmp 0x456ff3
xor eax, eax
call fcn.00599026
ret 4