Function at 0x4580cc
Capabilities:
Check if file exists

Disassembly:
push 0x100
mov eax, 0x5befc0
call fcn.00598fca
mov eax, dword [ebp + 8]
mov esi, ecx
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf0], esi
test esi, esi
je 0x4583aa
add esi, 0x1048
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4583aa
and dword [ebp - 4], 0
lea eax, [ebp - 0xd8]
push eax
call fcn.00548b11
lea eax, [ebp - 0x48]
push eax
xor ebx, ebx
mov byte [ebp - 4], 1
call fcn.0054af1d
mov edx, esi
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 2
call fcn.00426b05
lea ecx, [ebp - 0x48]
push ecx
push eax
lea ebx, [ebp - 0xd8]
mov byte [ebp - 4], 3
call fcn.00548b5a
xor edi, edi
push edi
push 1
lea ecx, [ebp - 0x10c]
mov bl, al
mov byte [ebp - 4], 2
call fcn.00407567
test bl, bl
je 0x458382
cmp byte [ebp - 0x40], 0
je 0x458382
lea eax, [ebp - 0x48]
call fcn.0054bd37
test al, al
je 0x458382
mov edx, str.items
lea ecx, [ebp - 0x48]
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
je 0x4582fd
call fcn.0054bd25
test al, al
je 0x4582fd
mov eax, esi
call fcn.0054b6cc
test eax, eax
je 0x4582fd
push edi
mov ecx, esi
call fcn.0054b71c
mov ebx, eax
cmp byte [ebx + 8], 0
je 0x4582fd
call fcn.0054bd37
test al, al
je 0x4582fd
mov edx, 0x5defbc
mov ecx, ebx
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x4582fd
mov eax, dword [eax]
cmp eax, edi
je 0x4582fd
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xdc]
cmp dword [eax - 0xc], edi
jne 0x458222
mov byte [ebp - 4], 2
jmp 0x4582f5
mov eax, dword [0x63696c]
mov ecx, 0x63696c
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xec], esi
mov byte [ebp - 4], 5
cmp dword [ebp - 0xdc], edi
je 0x45825b
mov esi, dword [ebp - 0xdc]
lea edi, [ebp - 0xec]
call fcn.0045743d
mov esi, dword [ebp - 0xec]
mov edx, 0x5e9964
mov ecx, ebx
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x4582e3
mov eax, dword [eax]
test eax, eax
je 0x4582e3
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0xe0]
cmp dword [eax - 0xc], 0
je 0x4582db
mov edx, 0x5e99e8
mov ecx, ebx
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x4582d5
mov eax, dword [eax]
test eax, eax
je 0x4582d5
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xe4]
cmp dword [eax - 0xc], 0
jne 0x4583b2
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0xe0]
add eax, 0xfffffff0
call fcn.00407b6b
lea eax, [esi - 0x10]
call fcn.00407b6b
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xdc]
add eax, 0xfffffff0
call fcn.00407b6b
mov edx, str.adtxt
lea ecx, [ebp - 0x48]
call fcn.0054b949
mov ecx, eax
cmp byte [ecx + 8], 0
je 0x458327
call fcn.0054bd25
test al, al
je 0x458327
push ecx
push dword [ebp - 0xe8]
call fcn.00458415
cmp dword [0x6b44b8], 0
je 0x458382
mov edx, 0x5e9948
lea ecx, [ebp - 0x48]
call fcn.0054b949
mov edx, eax
cmp byte [edx + 8], 0
je 0x458359
call fcn.0054bd25
test al, al
je 0x458359
mov ecx, dword [ebp - 0xe8]
call fcn.00458567
mov edx, 0x5e9950
lea ecx, [ebp - 0x48]
call fcn.0054b949
mov ecx, eax
cmp byte [ecx + 8], 0
je 0x458382
call fcn.0054bd25
test al, al
je 0x458382
mov edx, dword [ebp - 0xe8]
call fcn.004587bb
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.0054b1a0
lea eax, [ebp - 0xd8]
call fcn.0040b0d5
mov ecx, dword [ebp - 0xf0]
add ecx, 0x1048
call fcn.0047611f
call fcn.00599026
ret 4
mov edx, 0x5e9b14
mov ecx, ebx
call fcn.0054b949
cmp byte [eax + 8], 1
je 0x4583cf
mov eax, dword [ebp - 0xe4]
jmp 0x4582cd
mov ecx, eax
call fcn.0054b340
mov edx, str.life
mov ecx, ebx
mov edi, eax
call fcn.0054b949
cmp byte [eax + 8], 1
jne 0x4583c4
mov ecx, eax
call fcn.0054b340
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
je 0x4583c4
push 1
push 3
push eax
push edi
push dword [ebp - 0xe0]
push esi
call fcn.00459a44
jmp 0x4583c4