Function at 0x1000629b
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x1002247e
call fcn.100174bc
sub esp, 0x6c8
and byte [ebp - 0xe4], 0
push ebx
push esi
push edi
mov ebx, ecx
push 0x18
pop ecx
xor eax, eax
lea edi, [ebp - 0xe3]
and byte [ebp - 0x6d4], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf9
xor eax, eax
lea edi, [ebp - 0x6d3]
and byte [ebp - 0x1e8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x1e7]
rep stosd dword es:[edi], eax
and byte [ebp - 0x2ec], 0
push 0x40
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x2eb]
push 0x74
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x14], ebx
stosb byte es:[edi], al
call fcn.100170d6
pop ecx
mov dword [ebp - 0x18], eax
xor esi, esi
cmp eax, esi
mov dword [ebp - 4], esi
je 0x1000632e
mov ecx, eax
call fcn.10006816
mov esi, eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0xe4]
push str.BUTTONSUP
push eax
call edi
lea ecx, [ebx + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x1e8]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x104
push eax
lea eax, [ebp - 0xe4]
push 0x1002be5c
push eax
push dword [ebp + 8]
call ebx
lea eax, [ebp - 0x1e8]
lea ecx, [esi + 4]
push eax
call fcn.1000987e
lea eax, [ebp - 0xe4]
push str.BUTTONSDOWN
push eax
call edi
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x2ec]
push 0x104
push eax
lea eax, [ebp - 0xe4]
push 0x1002be5c
push eax
push dword [ebp + 8]
call ebx
lea eax, [ebp - 0x2ec]
lea ecx, [esi + 0x2c]
push eax
call fcn.1000987e
or dword [esi + 0x58], 0xffffffff
or dword [esi + 0x54], 0xffffffff
lea eax, [ebp - 0xe4]
push str.BUTTONSOPT
push eax
call edi
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x6d4]
push 0x3e8
push eax
lea eax, [ebp - 0xe4]
push 0x1002be5c
push eax
push dword [ebp + 8]
call ebx
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 2
push eax
lea eax, [ebp - 0xd]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 1
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.10008759
mov ecx, dword [ebp - 0x14]
call fcn.100075e2
mov eax, dword [ebp - 0x24]
push str.BUTTONSTRNSPRNTCLR
mov dword [esi + 0x68], eax
lea eax, [ebp - 0xe4]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x6d4]
push 0x3e8
push eax
lea eax, [ebp - 0xe4]
push 0x1002be5c
push eax
push dword [ebp + 8]
call ebx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x808080
push eax
lea eax, [ebp - 0xd]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 1
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.10008759
mov ecx, dword [ebp - 0x14]
call fcn.10007497
mov eax, dword [ebp - 0x2c]
push str.BUTTONSTXTCLR
mov dword [esi + 0x5c], eax
lea eax, [ebp - 0xe4]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x6d4]
push 0x3e8
push eax
lea eax, [ebp - 0xe4]
push 0x1002be5c
push eax
push dword [ebp + 8]
call ebx
push 8
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xd]
sub esp, 0x28
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 1
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.10008759
mov ecx, dword [ebp - 0x14]
call fcn.10007497
mov eax, dword [ebp - 0x30]
push str.BUTTONSDISTXTCLR
mov dword [esi + 0x60], eax
lea eax, [ebp - 0xe4]
push eax
call edi
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 8]
call fcn.100027da
push eax
lea eax, [ebp - 0x6d4]
push 0x3e8
push eax
lea eax, [ebp - 0xe4]
push 0x1002be5c
push eax
push dword [ebp + 8]
call ebx
push 0x11
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp + 0xb]
sub esp, 0x28
mov ecx, esp
mov dword [ebp + 8], esp
push 1
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.10008759
mov edi, dword [ebp - 0x14]
mov ecx, edi
call fcn.10007497
mov eax, dword [ebp - 0x28]
push dword [esi + 0x68]
lea ebx, [esi + 0x68]
mov dword [esi + 0x64], eax
lea eax, [ebp - 0x6d4]
push 0x10028240
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp + 0xb]
lea ecx, [ebp - 0x80]
push 1
push eax
lea eax, [ebp - 0x1e8]
push eax
call fcn.10008759
push 1
lea ecx, [ebp - 0x58]
pop eax
mov dword [ebp - 4], eax
push eax
lea eax, [ebp - 0xd]
push eax
lea eax, [ebp - 0x6d4]
push eax
call fcn.10008759
push dword [0x100243c8]
lea eax, [ebp - 0x58]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x54]
and eax, ecx
push 0
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.1000c88d
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.10004832
lea eax, [ebp - 0x80]
lea ecx, [edi + 0x40]
push eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x14], ecx
call fcn.10009962
mov eax, dword [edi + 0x44]
mov ecx, dword [ebp - 0x20]
cmp ecx, eax
jne 0x100066a0
push 0xc
call fcn.100170d6
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
mov byte [ebp - 4], 3
je 0x10006635
mov ecx, eax
call fcn.10006205
jmp 0x10006637
xor eax, eax
mov dword [esi + 0x6c], eax
lea eax, [ebp - 0xd]
push 1
push eax
lea eax, [ebp - 0x1e8]
lea ecx, [ebp - 0x58]
push eax
mov byte [ebp - 4], 1
call fcn.10002642
lea eax, [ebp - 0x58]
lea ecx, [edi + 0x30]
push eax
mov byte [ebp - 4], 4
call fcn.10008c73
mov eax, dword [eax]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
call fcn.1000316f
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x6c]
push dword [eax + 4]
push dword [eax]
lea eax, [esi + 4]
push eax
lea eax, [esi + 0x5c]
push ebx
push eax
call fcn.1000566d
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x80]
push eax
call fcn.10008d27
mov ecx, dword [esi + 0x6c]
mov dword [eax], ecx
jmp 0x100066a6
mov eax, dword [ecx + 0x34]
mov dword [esi + 0x6c], eax
push dword [ebx]
lea eax, [ebp - 0x6d4]
push 0x10028240
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0xd]
lea ecx, [ebp - 0x58]
push 1
push eax
lea eax, [ebp - 0x2ec]
push eax
call fcn.10008759
push dword [0x100243c8]
lea eax, [ebp - 0x58]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x54]
and eax, ecx
push 0
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 5
call fcn.10009e5a
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.10004832
lea eax, [ebp - 0xd]
push 1
push eax
lea eax, [ebp - 0x6d4]
push eax
lea ecx, [ebp - 0x58]
call fcn.10008759
push dword [0x100243c8]
lea eax, [ebp - 0x58]
neg eax
sbb eax, eax
lea ecx, [ebp - 0x54]
and eax, ecx
push 0
push eax
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 6
call fcn.1000c88d
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.10004832
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10009962
mov eax, dword [ebp - 0x18]
cmp eax, dword [edi + 0x44]
mov dword [ebp - 0x20], eax
jne 0x100067e1
push 0xc
call fcn.100170d6
pop ecx
mov dword [ebp - 0x1c], eax
test eax, eax
mov byte [ebp - 4], 7
je 0x1000677c
mov ecx, eax
call fcn.10006205
jmp 0x1000677e
xor eax, eax
mov dword [esi + 0x70], eax
lea eax, [ebp - 0xd]
push 1
push eax
lea eax, [ebp - 0x2ec]
lea ecx, [ebp - 0x58]
push eax
mov byte [ebp - 4], 1
call fcn.10002642
lea eax, [ebp - 0x58]
lea ecx, [edi + 0x30]
push eax
mov byte [ebp - 4], 8
call fcn.10008c73
mov edi, dword [eax]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.1000316f
push dword [edi + 4]
mov ecx, dword [esi + 0x70]
lea eax, [esi + 0x2c]
push dword [edi]
push eax
lea eax, [esi + 0x5c]
push ebx
push eax
call fcn.1000566d
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x80]
push eax
call fcn.10008d27
mov ecx, dword [esi + 0x70]
mov dword [eax], ecx
jmp 0x100067e7
mov eax, dword [eax + 0x34]
mov dword [esi + 0x70], eax
mov ecx, dword [ebp + 0xc]
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x18]
push eax
call fcn.10008b63
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
mov dword [eax], esi
call fcn.10004832
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8