Function at 0x4588d0
Capabilities:
Check if file exists
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xc414
call fcn.0046f160
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x8414], ax
lea eax, [ebp - 0x8412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x9414], ax
lea eax, [ebp - 0x9412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x320c], ax
lea eax, [ebp - 0x320a]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.0046f7e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x3414], ax
lea eax, [ebp - 0x3412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0xc414], ax
lea eax, [ebp - 0xc412]
push eax
call fcn.0046f7e0
add esp, 0x48
xor eax, eax
mov word [ebp - 0xa414], ax
push 0xffe
push eax
lea eax, [ebp - 0xa412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x4414], ax
lea eax, [ebp - 0x4412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x5414], ax
lea eax, [ebp - 0x5412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x120c], ax
lea eax, [ebp - 0x120a]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x220c], ax
lea eax, [ebp - 0x220a]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0xb414], ax
lea eax, [ebp - 0xb412]
push eax
call fcn.0046f7e0
add esp, 0x48
xor eax, eax
mov word [ebp - 0x7414], ax
push 0xffe
push eax
lea eax, [ebp - 0x7412]
push eax
call fcn.0046f7e0
xor eax, eax
push 0xffe
push eax
mov word [ebp - 0x6414], ax
lea eax, [ebp - 0x6412]
push eax
call fcn.0046f7e0
push 0x2c
push 0x800
lea eax, [ebp - 0x9414]
push eax
push 0x800
lea eax, [ebp - 0x8414]
push eax
push esi
call fcn.0043d9c0
add esp, 0x30
test eax, eax
je 0x458c31
lea eax, [ebp - 0x8414]
push str._SETUPVAR_READ_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458d83
push 0x2c
push 0x800
lea eax, [ebp - 0x4414]
push eax
push 0x800
lea eax, [ebp - 0x5414]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x5414]
push 0x800
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x4414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
lea eax, [ebp - 0x320c]
push 0x800
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
lea eax, [ebp - 0x4414]
push 0x4932fc
push eax
call fcn.0047064b
add esp, 0x20
test eax, eax
jne 0x458bcd
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458c03
lea eax, [ebp - 0x120c]
push eax
push 0x4b50c0
call fcn.0046e970
add esp, 8
test eax, eax
jne 0x458c31
lea eax, [ebp - 0x120c]
jmp 0x458c21
lea eax, [ebp - 0x4414]
push 0x493308
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458c72
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458bad
lea eax, [ebp - 0x220c]
push eax
push 0x4b50c0
call fcn.0046e970
add esp, 8
test eax, eax
jne 0x458c31
lea eax, [ebp - 0x220c]
push eax
push 0x64
push 0x4b50c0
call fcn.0046e904
add esp, 0xc
lea eax, [ebp - 0x8414]
push str._INIT_
push eax
call fcn.0047064b
add esp, 8
pop esi
test eax, eax
jne 0x458c50
mov word [0x4b50c0], ax
push 0x4b50c0
push str.ScriptIF____Condition_s
call fcn.00469390
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
xor eax, eax
call fcn.0046ecfa
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x4414]
push 0x493300
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458cad
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jns 0x458c03
jmp 0x458bad
lea eax, [ebp - 0x4414]
push 0x493304
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458ce8
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jle 0x458c03
jmp 0x458bad
lea eax, [ebp - 0x4414]
push 0x497804
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458d23
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0046e970
add esp, 8
test eax, eax
je 0x458c03
jmp 0x458bad
lea eax, [ebp - 0x4414]
push 0x497808
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458c31
lea ecx, [ebp - 0x320c]
lea edx, [ecx + 2]
jmp 0x458d50
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x458d50
sub ecx, edx
lea eax, [ebp - 0x320c]
sar ecx, 1
push ecx
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.00470222
add esp, 0xc
test eax, eax
je 0x458c03
jmp 0x458bad
lea eax, [ebp - 0x8414]
push str._INIFILE_READ_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458ffb
push 0x2c
push 0x800
lea eax, [ebp - 0xc414]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0xa414]
push eax
lea eax, [ebp - 0xc414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x4414]
push eax
lea eax, [ebp - 0xa414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x4414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x320c]
push 0x800
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
lea eax, [ebp - 0x20c]
push eax
push 0x800
lea eax, [ebp - 0x5414]
push eax
push 0x48c8a4
lea eax, [ebp - 0xa414]
push eax
lea eax, [ebp - 0xc414]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x458f0a
push 0x48c8a4
lea eax, [ebp - 0x5414]
push 0x800
push eax
call fcn.0046fe12
add esp, 0xc
lea eax, [ebp - 0x4414]
push 0x4932fc
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458b93
lea eax, [ebp - 0x4414]
push 0x493308
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458be9
lea eax, [ebp - 0x4414]
push 0x493300
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458c8a
lea eax, [ebp - 0x4414]
push 0x493304
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458cc5
lea eax, [ebp - 0x4414]
push 0x497804
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458faa
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0046e970
jmp 0x458bfc
lea eax, [ebp - 0x4414]
push 0x497808
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458c31
lea ecx, [ebp - 0x320c]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x458fd0
sub ecx, edx
lea eax, [ebp - 0x320c]
sar ecx, 1
push ecx
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.00470222
add esp, 0xc
jmp 0x458bff
lea eax, [ebp - 0x8414]
push str._REGKEY_READ_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x459270
push 0x2c
push 0x800
lea eax, [ebp - 0x7414]
push eax
push 0x800
lea eax, [ebp - 0xb414]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0xb414]
push 1
push eax
call fcn.00430b00
mov esi, eax
lea eax, [ebp - 0x7414]
push 0x800
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x6414]
push eax
lea eax, [ebp - 0x7414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x28
test eax, eax
je 0x458c31
lea eax, [ebp - 0x6414]
push 0x800
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x4414]
push eax
lea eax, [ebp - 0x6414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x4414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x320c]
push 0x800
push eax
call fcn.0045fb60
push 0x800
lea eax, [ebp - 0x5414]
push eax
lea eax, [ebp - 0x6414]
push eax
lea eax, [ebp - 0x7414]
push eax
push esi
call fcn.00430ca0
add esp, 0x1c
test eax, eax
jne 0x45914c
push 0x48c8a4
lea eax, [ebp - 0x5414]
push 0x800
push eax
call fcn.0046fe12
add esp, 0xc
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
lea eax, [ebp - 0x4414]
push 0x4932fc
push eax
call fcn.0047064b
add esp, 0x20
test eax, eax
je 0x458b93
lea eax, [ebp - 0x4414]
push 0x493308
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458be9
lea eax, [ebp - 0x4414]
push 0x493300
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458c8a
lea eax, [ebp - 0x4414]
push 0x493304
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x458cc5
lea eax, [ebp - 0x4414]
push 0x497804
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x459237
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x5414]
push eax
call fcn.0046e970
jmp 0x458bfc
lea eax, [ebp - 0x4414]
push 0x497808
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458c31
lea ecx, [ebp - 0x320c]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x459260
jmp 0x458fdb
lea eax, [ebp - 0x8414]
push str._REGKEY_EXIST_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x459401
push 0x2c
push 0x800
lea eax, [ebp - 0x7414]
push eax
push 0x800
lea eax, [ebp - 0xb414]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0xb414]
push 1
push eax
call fcn.00430b00
push 0x2c
mov esi, eax
lea eax, [ebp - 0x6414]
push 0x800
push eax
lea eax, [ebp - 0x7414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x6414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x320c]
push 0x800
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
lea eax, [ebp - 0x320c]
cmp word [ebp - 0x6414], 0
push str._TRUE_
push eax
jne 0x4593c0
call fcn.0047064b
add esp, 8
test eax, eax
lea eax, [ebp - 0x7414]
push eax
push esi
jne 0x4593b6
call fcn.00430f10
jmp 0x458bfc
call fcn.00430f10
jmp 0x458ba6
call fcn.0047064b
add esp, 8
test eax, eax
lea eax, [ebp - 0x5414]
push 0x800
push eax
lea eax, [ebp - 0x6414]
push eax
lea eax, [ebp - 0x7414]
push eax
push esi
jne 0x4593f4
call fcn.00430ca0
add esp, 0x14
jmp 0x458bff
call fcn.00430ca0
add esp, 0x14
jmp 0x458ba9
lea eax, [ebp - 0x8414]
push str._FILEKEY_EXIST_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x4596ba
lea eax, [ebp - 0x8414]
push str._DIRKEY_EXIST_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
je 0x4596ba
lea eax, [ebp - 0x8414]
push str._FILE_EXIST_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x45950f
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
lea eax, [ebp - 0x320c]
push str._TRUE_
push eax
call fcn.0047064b
add esp, 0x20
neg eax
sbb esi, esi
lea eax, [ebp - 0x20c]
inc esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, esi
jmp 0x458bab
lea eax, [ebp - 0x8414]
push str._DIR_EXIST_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x4595e5
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
push 0x104
lea eax, [ebp - 0x3414]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x3414]
push 0x104
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
lea eax, [ebp - 0x320c]
push str._TRUE_
push eax
call fcn.0047064b
add esp, 0x20
neg eax
sbb esi, esi
lea eax, [ebp - 0x3414]
inc esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, esi
jmp 0x458bab
lea eax, [ebp - 0x8414]
push str._MODULE_EXIST_
push eax
call fcn.0047064b
add esp, 8
test eax, eax
jne 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0045fb60
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x220c]
push eax
lea eax, [ebp - 0x120c]
push 0x800
push eax
push eax
call fcn.0043d9c0
lea eax, [ebp - 0x320c]
push str._TRUE_
push eax
call fcn.0047064b
add esp, 0x20
neg eax
sbb esi, esi
lea eax, [ebp - 0x20c]
inc esi
push eax
call fcn.004550d0
cmp eax, esi
jmp 0x458bab
push 0x2c
push 0x800
lea eax, [ebp - 0x7414]
push eax
push 0x800
lea eax, [ebp - 0xb414]
push eax
lea eax, [ebp - 0x9414]
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
push dword [0x4af520]
lea eax, [ebp - 0xb414]
push eax
call fcn.00430b00
push 0x2c
mov esi, eax
lea eax, [ebp - 0x6414]
push 0x800
push eax
lea eax, [ebp - 0x7414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x20
test eax, eax
je 0x458c31
push 0x2c
push 0x800
lea eax, [ebp - 0x320c]
push eax
lea eax, [ebp - 0x6414]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
test eax, eax
je 0x458c31
lea eax, [ebp - 0x320c]
push 0x800
push eax
call fcn.0045fb60
push 0x104
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x6414]
push eax
lea eax, [ebp - 0x7414]
push eax
push esi
call fcn.00430ca0
add esp, 0x1c
test eax, eax
jne 0x4597a6
push 0x48c8a4
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0046fe12
add esp, 0xc
push 0x2c
push 0x800
lea eax, [ebp - 0x120c]
push eax
lea eax, [ebp - 0x320c]
push 0x800
push eax
push eax
call fcn.0043d9c0
add esp, 0x18
jmp 0x4594ba