Function at 0x454976
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c8
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x454de5
mov byte [ebp - 0x19], 0
mov dword [ebp - 0x4c], 0xfffffffd
mov dword [ebp - 0x60], 0xf6f97812
mov dword [ebp - 0xe8], 0xea21
mov dword [ebp - 0x3c], 0x3f5cfeb4
mov dword [ebp - 0x40], 0
jmp 0x4549be
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 2
jge 0x4549d4
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x140], 0
jmp 0x4549b7
mov dword [ebp - 0x4c], 0xfffffffe
cmp dword [ebp - 0x4c], 0x91ba
jle 0x4549f0
mov dword [ebp - 0x130], 1
jmp 0x4549f7
and dword [ebp - 0x130], 0
cmp dword [ebp - 0x130], 1
jne 0x454a09
mov dword [ebp - 0x70], 1
jmp 0x454a0d
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x70], eax
jl 0x454a21
mov dword [ebp - 0x12c], 1
jmp 0x454a28
and dword [ebp - 0x12c], 0
cmp dword [ebp - 0x12c], 0xf2f34e40
ja 0x454a3d
mov dword [ebp - 0x78], 1
jmp 0x454a41
and dword [ebp - 0x78], 0
imul eax, dword [ebp - 0x78], 9
imul eax, eax, 0xfffa
test eax, eax
je 0x454b18
mov dword [ebp - 0x88], 0xfffffffb
cmp dword [ebp - 0xe8], 0
jne 0x454a76
push 4
pop eax
test eax, eax
jne 0x454a76
and dword [ebp - 0x114], 0
jmp 0x454a80
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0x114], eax
je 0x454a97
mov dword [ebp - 0x80], 1
jmp 0x454a9b
and dword [ebp - 0x80], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x140]
cmp eax, dword [ebp - 0x80]
jl 0x454abd
push 7
pop eax
test eax, eax
jne 0x454abd
and dword [ebp - 0xe4], 0
jmp 0x454ac7
mov dword [ebp - 0xe4], 1
mov eax, dword [ebp - 0xe4]
inc eax
cmp eax, dword [ebp - 0x88]
je 0x454ae2
mov dword [ebp - 0x90], 1
jmp 0x454ae9
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0xe8]
cmp dword [ebp - 0x90], eax
je 0x454b03
mov dword [ebp - 0xf0], 1
jmp 0x454b0a
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x3c], eax
jmp 0x454dc9
mov dword [ebp - 4], 0x3ede
mov dword [ebp - 8], 0x4d3380d4
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 4]
cmp eax, 0x85c68ab8
ja 0x454b3f
mov dword [ebp - 0x98], 1
jmp 0x454b46
and dword [ebp - 0x98], 0
cmp dword [ebp - 0x98], 0xffffffff
jbe 0x454b5b
mov dword [ebp - 0xf8], 1
jmp 0x454b62
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0xf8], eax
jle 0x454b79
mov dword [ebp - 0x150], 1
jmp 0x454b80
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x454bad
cmp dword [ebp - 4], 0
jne 0x454bad
and dword [ebp - 0x168], 0
jmp 0x454bb7
mov dword [ebp - 0x168], 1
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c8], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x140], 0
je 0x454d7b
mov dword [ebp - 0x44], 0
jmp 0x454be4
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 4
jge 0x454bfa
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x17c], 0xfffffff6
jmp 0x454bdd
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x17c], 0
jne 0x454c80
push 2
pop eax
test eax, eax
je 0x454c3f
push 4
pop eax
imul eax, eax, 3
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x140]
cmp dword [ebp + eax - 0x17c], ecx
jle 0x454c33
cmp dword [ebp - 8], 0
je 0x454c3f
mov dword [ebp - 0xa0], 1
jmp 0x454c46
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x454c67
cmp dword [ebp - 0x60], 0
je 0x454c67
mov dword [ebp - 0x100], 1
jmp 0x454c6e
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
dec eax
jne 0x454c80
and dword [ebp - 0xa8], 0
jmp 0x454c8a
mov dword [ebp - 0xa8], 1
cmp dword [ebp - 0xa8], 9
jae 0x454c9f
mov dword [ebp - 0x108], 1
jmp 0x454ca6
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
sub eax, 0xc87c
je 0x454cc1
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x17c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x140]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1b4], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x17c]
mov dword [ebp - 0x180], eax
mov eax, 0x777
test eax, eax
jne 0x454cff
cmp dword [ebp - 8], 0
je 0x454d11
cmp dword [ebp - 8], 0
je 0x454d11
mov dword [ebp - 0xb0], 1
jmp 0x454d18
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xb0]
neg eax
cmp eax, dword [ebp - 8]
je 0x454d31
mov dword [ebp - 0x110], 1
jmp 0x454d38
and dword [ebp - 0x110], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x110]
sub ecx, dword [ebp + eax - 0x17c]
jne 0x454d66
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x140], 0
jne 0x454d66
and dword [ebp - 0xb8], 0
jmp 0x454d70
mov dword [ebp - 0xb8], 1
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 8], eax
jmp 0x454dc9
mov dword [ebp - 0x118], 0x266a
mov dword [ebp - 8], 0
jmp 0x454d95
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xa
jge 0x454da8
cmp dword [ebp - 0x118], 0
je 0x454da6
jmp 0x454da8
jmp 0x454d8e
mov dword [ebp - 4], 0
jmp 0x454db8
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x23
jle 0x454dc9
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x60], eax
jmp 0x454db1
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x454de0
push 0
push 0x3e4
push 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
jmp 0x4554f8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x164], eax
push 4
lea ecx, [ebp - 0x1c0]
call fcn.00413c51
mov dword [ebp - 0x34], 0
jmp 0x454e0b
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 4
jge 0x454e27
push dword [ebp - 0x34]
lea ecx, [ebp - 0x1c0]
call fcn.00413d3f
mov dword [eax], 4
jmp 0x454e04
mov byte [ebp - 0x1a], 0
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x454e48
push 0
push 0x1a3e
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov byte [ebp - 0x18], 0
movzx eax, byte [ebp - 0x18]
test eax, eax
je 0x454e5f
push 0x681
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
lea ecx, [ebp - 0x1c0]
call fcn.00413d23
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x50], 6
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x38], 0
jmp 0x454ea6
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jge 0x454eb9
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x28], 0xe836ea0e
jmp 0x454e9f
cmp dword [ebp - 0x2c], 1
jle 0x454ecb
mov dword [ebp - 0xc0], 1
jmp 0x454ed2
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xc0], eax
jg 0x454eee
xor eax, eax
inc eax
je 0x454eee
mov dword [ebp - 0x120], 1
jmp 0x454ef5
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x120], eax
je 0x454f0f
cmp dword [ebp - 0x10], 0
jne 0x454f0f
and dword [ebp - 0xc8], 0
jmp 0x454f19
mov dword [ebp - 0xc8], 1
mov eax, dword [ebp - 0xc8]
sub eax, 0x4087a912
neg eax
cmp eax, 0xfffffff7
jbe 0x454f37
mov dword [ebp - 0x128], 1
jmp 0x454f3e
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x50], eax
je 0x454f5e
cmp dword [ebp - 0x10], 0
jne 0x454f5e
and dword [ebp - 0xd0], 0
jmp 0x454f68
mov dword [ebp - 0xd0], 1
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xd0], eax
je 0x454f7c
mov dword [ebp - 0x68], 1
jmp 0x454f80
and dword [ebp - 0x68], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x68], eax
jne 0x454f94
mov dword [ebp - 0xd8], 1
jmp 0x454f9b
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x20], eax
jl 0x454fca
mov dword [ebp - 0x138], 1
jmp 0x454fd1
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x138], eax
jg 0x454fe8
mov dword [ebp - 0xe0], 1
jmp 0x454fef
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0xe0], eax
je 0x4551a3
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x15c], 2
mov dword [ebp - 0xfc], 1
mov dword [ebp - 0x14], 0
jmp 0x455029
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x45519e
mov dword [ebp - 0x14c], 0xe785e8a7
mov dword [ebp - 0xf4], 0xf4a3ca5a
mov dword [ebp - 0x10], 0
jmp 0x455057
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jg 0x455083
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x28]
mov dword [ebp + ecx*4 - 0x28], eax
mov byte [ebp - 0x16], 0
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x455081
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
jmp 0x455050
cmp dword [ebp - 0x58], 2
je 0x4550ff
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x28]
cmp dword [ebp - 0x14c], eax
jg 0x4550a4
mov dword [ebp - 0x144], 1
jmp 0x4550ab
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x144], eax
jge 0x4550c2
mov dword [ebp - 0xec], 1
jmp 0x4550c9
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x14c]
cmp dword [ebp - 0xec], eax
jg 0x4550e3
mov dword [ebp - 0x11c], 1
jmp 0x4550ea
and dword [ebp - 0x11c], 0
cmp dword [ebp - 0x11c], 2
jne 0x4550ff
mov dword [ebp - 0x16c], 1
jmp 0x455106
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x14]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x28]
cmp dword [ebp + eax*4 - 0x28], ecx
jle 0x45515e
cmp dword [ebp - 0xf4], 0
jne 0x45515e
and dword [ebp - 0x134], 0
jmp 0x455168
mov dword [ebp - 0x134], 1
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jne 0x455189
mov dword [ebp - 0x124], 1
jmp 0x455190
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x20], eax
jmp 0x455022
jmp 0x4552a1
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x5c], 0x3ae864ea
mov dword [ebp - 0x30], 0
jmp 0x4551c1
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x4551d7
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x1b0], 0x2fb88b70
jmp 0x4551ba
mov eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x54]
je 0x455270
mov eax, dword [ebp - 0x10]
shl eax, 1
cmp eax, 1
jne 0x4551f9
mov dword [ebp - 0x104], 1
jmp 0x455200
and dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 0xffffffff
jl 0x455215
mov dword [ebp - 0x148], 1
jmp 0x45521c
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x148], eax
jge 0x455233
mov dword [ebp - 0x10c], 1
jmp 0x45523a
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x702
jl 0x455258
cmp dword [ebp - 0x5c], 0
jne 0x455258
and dword [ebp - 0x6c], 0
jmp 0x45525f
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x6c], eax
jg 0x455270
mov dword [ebp - 0x74], 1
jmp 0x455274
and dword [ebp - 0x74], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x74]
mov dword [ebp + eax - 0x1b0], ecx
mov byte [ebp - 0x17], 0
movzx eax, byte [ebp - 0x17]
test eax, eax
je 0x4552a1
push 0
push 0
push 0x17d5
push 0
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0xc], 0xfffffffd
mov dword [ebp - 0x84], 6
mov dword [ebp - 0xc4], 0x75761ac7
mov dword [ebp - 0x158], 0x6e523240
mov dword [ebp - 0x48], 0
jmp 0x4552eb
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 1
jge 0x4552fe
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x64], 0xfffffffc
jmp 0x4552e4
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jg 0x455312
mov dword [ebp - 0xcc], 1
jmp 0x455319
and dword [ebp - 0xcc], 0
cmp dword [ebp - 0xc], 0
je 0x455330
xor eax, eax
inc eax
je 0x455330
mov dword [ebp - 0x8c], 1
jmp 0x455337
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jge 0x455348
mov dword [ebp - 0x7c], 1
jmp 0x45534c
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x84], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0x64], ecx
xor eax, eax
neg eax
neg eax
jne 0x455383
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x64], 0
jne 0x455383
and dword [ebp - 0x94], 0
jmp 0x45538d
mov dword [ebp - 0x94], 1
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x94]
jne 0x4553a7
mov dword [ebp - 0x9c], 1
jmp 0x4553ae
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x9c], eax
je 0x4553c5
mov dword [ebp - 0xa4], 1
jmp 0x4553cc
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xa4], eax
jge 0x4553e3
mov dword [ebp - 0xac], 1
jmp 0x4553ea
and dword [ebp - 0xac], 0
imul eax, dword [ebp - 0xac], 0x5257
neg eax
cmp eax, 0x81de
jne 0x455409
mov dword [ebp - 0xb4], 1
jmp 0x455410
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xb4], eax
jl 0x455427
mov dword [ebp - 0xbc], 1
jmp 0x45542e
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x19c], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + eax - 0x64], ecx
jg 0x455461
mov dword [ebp - 0xd4], 1
jmp 0x455468
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0xc]
imul eax, dword [ebp - 0xc]
cmp eax, 0xd77dfcc8
ja 0x45548e
mov dword [ebp - 0xdc], 1
jmp 0x455495
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x158], eax
mov byte [ebp - 0x15], 0
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x4554c2
push 0
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
jmp 0x4554d8
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax], 1
jge 0x4554f8
mov eax, dword [ebp - 0x24]
push dword [eax]
mov ecx, dword [ebp - 0x160]
call fcn.00413d3f
mov dword [eax], 0xfffffff8
jmp 0x4554cd
mov esp, ebp
pop ebp
ret