Function at 0x491580
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a9fc6
mov eax, dword fs:[0]
push eax
sub esp, 0x75c
mov eax, dword [0x4d5e88]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x760], ecx
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push 0x63
mov dword [ebp - 0x768], eax
lea eax, [ebp - 0x73]
push 0
push eax
mov byte [ebp - 0x74], 0
call fcn.00458f10
push 0x3e7
lea eax, [ebp - 0x663]
push 0
push eax
mov byte [ebp - 0x664], 0
call fcn.00458f10
push 0x103
lea eax, [ebp - 0x27b]
push 0
push eax
mov byte [ebp - 0x27c], 0
call fcn.00458f10
push 0x103
lea eax, [ebp - 0x177]
push 0
push eax
mov byte [ebp - 0x178], 0
call fcn.00458f10
push 0x84
call fcn.004590c6
add esp, 0x34
test eax, eax
je 0x49163b
mov ecx, eax
call fcn.00484fa0
mov edi, eax
jmp 0x49163d
xor edi, edi
push str.BUTTONSUP
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
lea eax, [ebp - 0x755]
mov ebx, 0x4c0d0c
test esi, esi
cmovne ebx, esi
push eax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4c0ee0
mov dword [ebp - 0x66c], 0x4c13e4
call fcn.00403fb0
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 4], 0
lea ecx, [ecx + 8]
call fcn.0048f280
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x678]
lea esi, [ecx*2 + 2]
mov ecx, dword [ebp - 0x674]
cmp esi, ecx
jae 0x4916bb
test eax, eax
jne 0x4916e3
push eax
call fcn.004593fa
shr esi, 6
inc esi
shl esi, 6
push esi
mov dword [ebp - 0x674], esi
call fcn.00458527
mov ecx, dword [ebp - 0x674]
add esp, 8
mov dword [ebp - 0x678], eax
push 3
push ecx
push eax
lea ecx, [ebp - 0x694]
call fcn.0048c890
push dword [ebp - 0x75c]
lea eax, [ebp - 0x27c]
push 0x104
push eax
push 0x4c0b60
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x678]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401ac0
push 0
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4ac9c4
mov dword [ebp - 0x66c], 0x4ac9cc
call fcn.00415c07
lea ecx, [edi + 8]
lea eax, [ebp - 0x690]
mov dword [ebp - 4], 1
cmp ecx, eax
je 0x491778
push 0xffffffffffffffff
push 0
push eax
call fcn.00407b10
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401b80
push str.BUTTONSDOWN
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
lea eax, [ebp - 0x755]
push eax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4c0ee0
mov dword [ebp - 0x66c], 0x4c13e4
call fcn.00403fb0
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 4], 2
lea ecx, [ecx + 8]
call fcn.0048f280
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x678]
lea esi, [ecx*2 + 2]
mov ecx, dword [ebp - 0x674]
cmp esi, ecx
jae 0x4917fe
test eax, eax
jne 0x491826
push eax
call fcn.004593fa
shr esi, 6
inc esi
shl esi, 6
push esi
mov dword [ebp - 0x674], esi
call fcn.00458527
mov ecx, dword [ebp - 0x674]
add esp, 8
mov dword [ebp - 0x678], eax
push 3
push ecx
push eax
lea ecx, [ebp - 0x694]
call fcn.0048c890
push dword [ebp - 0x75c]
lea eax, [ebp - 0x178]
push 0x104
push eax
push 0x4c0b60
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x678]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401ac0
push 0
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4ac9c4
mov dword [ebp - 0x66c], 0x4ac9cc
call fcn.00415c07
lea ecx, [edi + 0x38]
lea eax, [ebp - 0x690]
mov dword [ebp - 4], 3
cmp ecx, eax
je 0x4918bb
push 0xffffffffffffffff
push 0
push eax
call fcn.00407b10
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401b80
push str.BUTTONSOPT
lea eax, [ebp - 0x74]
push eax
mov dword [edi + 0x68], 0xffffffff
mov dword [edi + 0x64], 0xffffffff
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
lea eax, [ebp - 0x755]
push eax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4c0ee0
mov dword [ebp - 0x66c], 0x4c13e4
call fcn.00403fb0
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 4], 4
lea ecx, [ecx + 8]
call fcn.0048f280
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x678]
lea esi, [ecx*2 + 2]
mov ecx, dword [ebp - 0x674]
cmp esi, ecx
jae 0x49194f
test eax, eax
jne 0x491977
push eax
call fcn.004593fa
shr esi, 6
inc esi
shl esi, 6
push esi
mov dword [ebp - 0x674], esi
call fcn.00458527
mov ecx, dword [ebp - 0x674]
add esp, 8
mov dword [ebp - 0x678], eax
push 3
push ecx
push eax
lea ecx, [ebp - 0x694]
call fcn.0048c890
push dword [ebp - 0x75c]
lea eax, [ebp - 0x664]
push 0x3e8
push eax
push 0x4c0b60
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x678]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401ac0
lea eax, [ebp - 0x75c]
push eax
sub esp, 0x30
mov ecx, esp
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x664]
push eax
mov dword [ebp - 0x75c], 2
call fcn.004848c0
mov esi, dword [ebp - 0x760]
mov ecx, esi
call fcn.0048e840
mov eax, dword [ebp - 0x75c]
mov dword [edi + 0x78], eax
push str.BUTTONSTRNSPRNTCLR
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
lea eax, [ebp - 0x755]
push eax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4c0ee0
mov dword [ebp - 0x66c], 0x4c13e4
call fcn.00403fb0
lea ecx, [esi + 8]
mov dword [ebp - 4], 5
call fcn.0048f280
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x678]
lea esi, [ecx*2 + 2]
mov ecx, dword [ebp - 0x674]
cmp esi, ecx
jae 0x491a6e
test eax, eax
jne 0x491a96
push eax
call fcn.004593fa
shr esi, 6
inc esi
shl esi, 6
push esi
mov dword [ebp - 0x674], esi
call fcn.00458527
mov ecx, dword [ebp - 0x674]
add esp, 8
mov dword [ebp - 0x678], eax
push 3
push ecx
push eax
lea ecx, [ebp - 0x694]
call fcn.0048c890
push dword [ebp - 0x75c]
lea eax, [ebp - 0x664]
push 0x3e8
push eax
push 0x4c0b60
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x678]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401ac0
lea eax, [ebp - 0x75c]
push eax
sub esp, 0x30
mov ecx, esp
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x664]
push eax
mov dword [ebp - 0x75c], 0x808080
call fcn.004848c0
mov esi, dword [ebp - 0x760]
mov ecx, esi
call fcn.0048e6d0
mov eax, dword [ebp - 0x75c]
mov dword [edi + 0x6c], eax
push str.BUTTONSTXTCLR
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
lea eax, [ebp - 0x755]
push eax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4c0ee0
mov dword [ebp - 0x66c], 0x4c13e4
call fcn.00403fb0
lea ecx, [esi + 8]
mov dword [ebp - 4], 6
call fcn.0048f280
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x678]
lea esi, [ecx*2 + 2]
mov ecx, dword [ebp - 0x674]
cmp esi, ecx
jae 0x491b8d
test eax, eax
jne 0x491bb5
push eax
call fcn.004593fa
shr esi, 6
inc esi
shl esi, 6
push esi
mov dword [ebp - 0x674], esi
call fcn.00458527
mov ecx, dword [ebp - 0x674]
add esp, 8
mov dword [ebp - 0x678], eax
push 3
push ecx
push eax
lea ecx, [ebp - 0x694]
call fcn.0048c890
push dword [ebp - 0x75c]
lea eax, [ebp - 0x664]
push 0x3e8
push eax
push 0x4c0b60
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x678]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401ac0
push 8
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x75c], eax
lea eax, [ebp - 0x75c]
push eax
sub esp, 0x30
mov ecx, esp
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x664]
push eax
call fcn.004848c0
mov ecx, dword [ebp - 0x760]
call fcn.0048e6d0
mov eax, dword [ebp - 0x75c]
mov dword [edi + 0x70], eax
push str.BUTTONSDISTXTCLR
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
lea eax, [ebp - 0x755]
push eax
push ebx
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], 0x4c0ee0
mov dword [ebp - 0x66c], 0x4c13e4
call fcn.00403fb0
mov ebx, dword [ebp - 0x760]
mov dword [ebp - 4], 7
lea ecx, [ebx + 8]
call fcn.0048f280
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x678]
lea esi, [ecx*2 + 2]
mov ecx, dword [ebp - 0x674]
cmp esi, ecx
jae 0x491cb4
test eax, eax
jne 0x491cdc
push eax
call fcn.004593fa
shr esi, 6
inc esi
shl esi, 6
push esi
mov dword [ebp - 0x674], esi
call fcn.00458527
mov ecx, dword [ebp - 0x674]
add esp, 8
mov dword [ebp - 0x678], eax
push 3
push ecx
push eax
lea ecx, [ebp - 0x694]
call fcn.0048c890
push dword [ebp - 0x75c]
lea eax, [ebp - 0x664]
push 0x3e8
push eax
push 0x4c0b60
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x678]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x694]
mov dword [ebp - 4], 0xffffffff
call fcn.00401ac0
push 0x11
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x75c], eax
lea eax, [ebp - 0x75c]
push eax
sub esp, 0x30
mov ecx, esp
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x664]
push eax
call fcn.004848c0
mov ecx, ebx
call fcn.0048e6d0
push dword [edi + 0x78]
mov eax, dword [ebp - 0x75c]
mov dword [edi + 0x74], eax
lea eax, [ebp - 0x664]
push 0x4bac48
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x755]
push 1
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x6c4]
call fcn.004848c0
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x664]
push eax
lea ecx, [ebp - 0x754]
mov dword [ebp - 4], 8
call fcn.004848c0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x750]
push eax
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 9
call fcn.00407f60
lea ecx, [ebp - 0x754]
mov byte [ebp - 4], 8
call fcn.00401ac0
lea eax, [ebp - 0x6c4]
push eax
lea eax, [ebp - 0x75c]
lea esi, [ebx + 0x40]
push eax
mov ecx, esi
call fcn.0048e4f0
mov eax, dword [ebp - 0x75c]
cmp eax, dword [esi]
jne 0x491ea1
push 0xc
call fcn.004590c6
add esp, 4
mov dword [ebp - 0x764], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x491e28
mov ecx, eax
call fcn.00484d20
jmp 0x491e2a
xor eax, eax
mov dword [edi + 0x7c], eax
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 8
call fcn.00415c07
lea eax, [ebp - 0x694]
push eax
lea ecx, [ebx + 0x38]
mov byte [ebp - 4], 0xb
call fcn.00486850
mov esi, dword [eax]
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 8
call fcn.00401b80
push dword [esi + 4]
mov ecx, dword [edi + 0x7c]
push dword [esi]
lea eax, [edi + 4]
push eax
lea eax, [edi + 0x78]
push eax
lea eax, [edi + 0x6c]
push eax
call fcn.0048f360
lea eax, [ebp - 0x6c4]
lea esi, [ebx + 0x40]
push eax
mov ecx, esi
call fcn.00486690
mov ecx, dword [edi + 0x7c]
mov dword [eax], ecx
jmp 0x491ea7
mov eax, dword [eax + 0x40]
mov dword [edi + 0x7c], eax
push dword [edi + 0x78]
lea eax, [ebp - 0x664]
push 0x4bac48
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x755]
push 1
push eax
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x724]
call fcn.004848c0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x720]
push eax
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0xc
call fcn.00406630
lea ecx, [ebp - 0x724]
mov byte [ebp - 4], 8
call fcn.00401ac0
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x664]
push eax
lea ecx, [ebp - 0x6f4]
call fcn.004848c0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x6f0]
push eax
lea ecx, [ebp - 0x6c0]
mov byte [ebp - 4], 0xd
call fcn.00407f60
lea ecx, [ebp - 0x6f4]
mov byte [ebp - 4], 8
call fcn.00401ac0
lea eax, [ebp - 0x6c4]
push eax
lea eax, [ebp - 0x764]
push eax
mov ecx, esi
call fcn.0048e4f0
mov eax, dword [eax]
cmp eax, dword [esi]
jne 0x492007
push 0xc
call fcn.004590c6
add esp, 4
mov dword [ebp - 0x764], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x491f87
mov ecx, eax
call fcn.00484d20
jmp 0x491f89
xor eax, eax
mov dword [edi + 0x80], eax
push 1
lea eax, [ebp - 0x755]
push eax
lea eax, [ebp - 0x178]
push eax
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 8
call fcn.00415c07
lea eax, [ebp - 0x694]
push eax
lea ecx, [ebx + 0x38]
mov byte [ebp - 4], 0xf
call fcn.00486850
mov esi, dword [eax]
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 8
call fcn.00401b80
push dword [esi + 4]
mov ecx, dword [edi + 0x80]
push dword [esi]
lea eax, [edi + 0x34]
push eax
lea eax, [edi + 0x78]
push eax
lea eax, [edi + 0x6c]
push eax
call fcn.0048f360
lea eax, [ebp - 0x6c4]
push eax
lea ecx, [ebx + 0x40]
call fcn.00486690
mov ecx, dword [edi + 0x80]
mov dword [eax], ecx
jmp 0x492010
mov eax, dword [eax + 0x40]
mov dword [edi + 0x80], eax
mov ecx, dword [ebp - 0x768]
lea eax, [ebp - 0x75c]
push eax
mov dword [ebp - 0x75c], 0
call fcn.00486330
lea ecx, [ebp - 0x6c4]
mov dword [eax], edi
call fcn.00401ac0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00458e9f
mov esp, ebp
pop ebp
ret 8