Function at 0x464660
Capabilities:
Check if file exists
Get file attributes
Read .ini file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x55930c]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0xf8], ecx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x98]
call fcn.0043ca80
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.0043ca80
lea edx, [ebp + 0x10]
push edx
lea ecx, [ebp - 0x94]
call fcn.0043ca80
lea ecx, [ebp - 0x24]
call fcn.0043ca60
push str.SafeNewCenter
lea ecx, [ebp - 0xb0]
call fcn.00475470
lea ecx, [ebp - 0xa4]
call fcn.0043ca60
lea ecx, [ebp + 8]
call fcn.00468950
lea ecx, [ebp - 0xb4]
call fcn.00468950
lea ecx, [ebp - 0x94]
call fcn.00468950
push 0x52ac6c
lea ecx, [ebp - 0xb4]
call fcn.0043cbd0
test eax, eax
jne 0x464710
push str.SafeNewCenter
lea ecx, [ebp - 0xb0]
call fcn.004557c0
jmp 0x4647aa
push 0x52ac78
lea ecx, [ebp - 0xb4]
call fcn.0043cbd0
test eax, eax
jne 0x464736
push str.SDNewCenter
lea ecx, [ebp - 0xb0]
call fcn.004557c0
jmp 0x4647aa
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xb8]
jmp 0x464e07
lea ecx, [ebp - 0xa0]
call fcn.0043ca60
xor eax, eax
mov word [ebp - 0x90], ax
push 0x62
push 0
lea ecx, [ebp - 0x8e]
push ecx
call fcn.004ed5e0
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.0043ca60
lea ecx, [ebp - 0x9c]
call fcn.0043ca60
lea ecx, [ebp - 0x1c]
call fcn.0043ca60
lea ecx, [ebp - 0xac]
call fcn.0043ca60
push 0x52ac80
lea ecx, [ebp + 0x14]
call fcn.0043cbd0
test eax, eax
jne 0x464854
push 0x52ac90
lea ecx, [ebp - 0xac]
call fcn.0043cb20
push ecx
mov ecx, esp
push 0x52acac
call fcn.0043caa0
push ecx
mov ecx, esp
lea edx, [ebp - 0xac]
push edx
call fcn.0043ca80
push ecx
mov ecx, esp
lea eax, [ebp + 0xc]
push eax
call fcn.0043ca80
lea ecx, [ebp - 0xa0]
push ecx
call fcn.0046f030
add esp, 0x10
jmp 0x464956
push 0x52acc0
lea ecx, [ebp + 0x14]
call fcn.0043cbd0
test eax, eax
jne 0x4648b1
push 0x52accc
lea ecx, [ebp - 0xac]
call fcn.0043cb20
push ecx
mov ecx, esp
push str..dat.cfg
call fcn.0043caa0
push ecx
mov ecx, esp
lea edx, [ebp - 0xac]
push edx
call fcn.0043ca80
push ecx
mov ecx, esp
lea eax, [ebp + 0xc]
push eax
call fcn.0043ca80
lea ecx, [ebp - 0xa0]
push ecx
call fcn.0046f030
add esp, 0x10
jmp 0x464956
mov dword [ebp - 0xd4], 0
lea ecx, [ebp - 0xac]
call fcn.0043cae0
lea ecx, [ebp - 0x1c]
call fcn.0043cae0
lea ecx, [ebp - 0x9c]
call fcn.0043cae0
lea ecx, [ebp - 4]
call fcn.0043cae0
lea ecx, [ebp - 0xa0]
call fcn.0043cae0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xd4]
jmp 0x464e07
lea ecx, [ebp - 0xa0]
call fcn.0043cc50
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x464a15
mov dword [ebp - 0xd8], 0
lea ecx, [ebp - 0xac]
call fcn.0043cae0
lea ecx, [ebp - 0x1c]
call fcn.0043cae0
lea ecx, [ebp - 0x9c]
call fcn.0043cae0
lea ecx, [ebp - 4]
call fcn.0043cae0
lea ecx, [ebp - 0xa0]
call fcn.0043cae0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xd8]
jmp 0x464e07
lea ecx, [ebp - 0xa0]
call fcn.0043cc50
push eax
push 0x32
push 0x32
lea ecx, [ebp - 4]
call fcn.0043cc60
push eax
push 0x52acfc
push str.filemd5
push str.main
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0xffffffffffffffff
lea ecx, [ebp - 4]
call fcn.00475690
lea ecx, [ebp - 4]
call fcn.0043cc80
test eax, eax
jg 0x464b02
mov dword [ebp - 0xdc], 0
lea ecx, [ebp - 0xac]
call fcn.0043cae0
lea ecx, [ebp - 0x1c]
call fcn.0043cae0
lea ecx, [ebp - 0x9c]
call fcn.0043cae0
lea ecx, [ebp - 4]
call fcn.0043cae0
lea ecx, [ebp - 0xa0]
call fcn.0043cae0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xdc]
jmp 0x464e07
push ecx
mov ecx, esp
push 0x52ad1c
call fcn.0043caa0
push ecx
mov ecx, esp
lea edx, [ebp - 0xac]
push edx
call fcn.0043ca80
push ecx
mov ecx, esp
lea eax, [ebp + 0xc]
push eax
call fcn.0043ca80
lea ecx, [ebp - 0x9c]
push ecx
call fcn.0046f030
add esp, 0x10
lea ecx, [ebp - 0x9c]
call fcn.0043cc50
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x464bf8
mov dword [ebp - 0xec], 0
lea ecx, [ebp - 0xac]
call fcn.0043cae0
lea ecx, [ebp - 0x1c]
call fcn.0043cae0
lea ecx, [ebp - 0x9c]
call fcn.0043cae0
lea ecx, [ebp - 4]
call fcn.0043cae0
lea ecx, [ebp - 0xa0]
call fcn.0043cae0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xec]
jmp 0x464e07
lea ecx, [ebp - 0x9c]
call fcn.0043cc50
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
and edx, 1
je 0x464c34
mov eax, dword [ebp - 0x20]
and eax, 0xfffffffe
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x9c]
call fcn.0043cc50
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov byte [ebp - 0x18], 0
xor edx, edx
mov dword [ebp - 0x17], edx
mov dword [ebp - 0x13], edx
mov dword [ebp - 0xf], edx
mov word [ebp - 0xb], dx
mov byte [ebp - 9], dl
push 0x10
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.004ed5e0
add esp, 0xc
lea ecx, [ebp - 0x18]
push ecx
push 0
lea ecx, [ebp - 0x9c]
call fcn.0043cc50
push eax
call fcn.0046fde0
add esp, 0xc
push 0x52ad28
push 0x10
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0xa8]
push eax
call fcn.0046f3d0
add esp, 0x10
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0xa8]
push edx
call fcn.004755f0
add esp, 8
movzx eax, al
test eax, eax
je 0x464d5c
mov dword [ebp - 0xf0], 0
lea ecx, [ebp - 0xa8]
call fcn.0043cae0
lea ecx, [ebp - 0xac]
call fcn.0043cae0
lea ecx, [ebp - 0x1c]
call fcn.0043cae0
lea ecx, [ebp - 0x9c]
call fcn.0043cae0
lea ecx, [ebp - 4]
call fcn.0043cae0
lea ecx, [ebp - 0xa0]
call fcn.0043cae0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xf0]
jmp 0x464e07
mov dword [ebp - 0xf4], 1
lea ecx, [ebp - 0xa8]
call fcn.0043cae0
lea ecx, [ebp - 0xac]
call fcn.0043cae0
lea ecx, [ebp - 0x1c]
call fcn.0043cae0
lea ecx, [ebp - 0x9c]
call fcn.0043cae0
lea ecx, [ebp - 4]
call fcn.0043cae0
lea ecx, [ebp - 0xa0]
call fcn.0043cae0
lea ecx, [ebp - 0xa4]
call fcn.0043cae0
lea ecx, [ebp - 0xb0]
call fcn.0043cae0
lea ecx, [ebp - 0x24]
call fcn.0043cae0
lea ecx, [ebp - 0x94]
call fcn.0043cae0
lea ecx, [ebp - 0xb4]
call fcn.0043cae0
lea ecx, [ebp - 0x98]
call fcn.0043cae0
lea ecx, [ebp + 8]
call fcn.0043cae0
lea ecx, [ebp + 0xc]
call fcn.0043cae0
lea ecx, [ebp + 0x10]
call fcn.0043cae0
lea ecx, [ebp + 0x14]
call fcn.0043cae0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004e9752
mov esp, ebp
pop ebp
ret 0x10