Function at 0x40a4fb
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe18
push edi
push 0x44f2ed
push 0
push 0x229
push dword [0x4538c0]
call sub.user32.dll_SendMessageA
mov dword [ebp - 4], 1
mov dword [ebp - 0x1e0], 0
push dword [ebp + 0xc]
push 0
push 0x44fc87
push dword [ebp + 8]
call sub.kernel32.dll_GetPrivateProfileIntA
mov dword [ebp - 0x1e8], eax
or eax, eax
jne 0x40a56a
mov dword [ebp - 0x148], 0x303031
push dword [ebp + 0xc]
lea eax, [ebp - 0x148]
push eax
push 0x44fc87
push dword [ebp + 8]
call sub.kernel32.dll_WritePrivateProfileStringA
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0x1c]
jg 0x40a888
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 4]
call fcn.004011b7
push dword [ebp + 0xc]
push 0x144
lea eax, [ebp - 0x148]
push eax
push 0x44ef8c
lea eax, [ebp - 0x148]
push eax
push dword [ebp + 8]
call sub.kernel32.dll_GetPrivateProfileStringA
or eax, eax
je 0x40a888
mov eax, dword [ebp + 0x10]
cmp dword [0x44f2ed], 0
je 0x40a5bd
inc eax
push eax
push dword [0x4538b4]
call sub.user32.dll_GetSubMenu
mov dword [ebp - 0x1dc], eax
mov al, byte [ebp - 0x148]
cmp al, 0x2d
jne 0x40a5f2
push 0
push 0
push 0x800
push dword [ebp - 0x1dc]
call sub.user32.dll_AppendMenuA
jmp 0x40a880
mov dword [ebp - 0x1e4], 0
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0040cd48
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0040cd48
mov al, byte [ebp - 0x198]
cmp al, 0x30
jb 0x40a758
cmp al, 0x39
ja 0x40a758
lea eax, [ebp - 0x198]
push eax
call fcn.00401168
or eax, eax
je 0x40a745
cmp dword [ebp - 0x1e8], 0
jne 0x40a6e7
push eax
call fcn.00425c60
push eax
mov edx, eax
lea eax, [ebp - 0x198]
push eax
push edx
call fcn.004011b7
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp - 4]
call fcn.004011b7
lea eax, [ebp - 0x188]
push eax
push 0x463932
call fcn.004010a7
push 0x44ef90
push 0x463932
call fcn.004010c5
lea eax, [ebp - 0x198]
push eax
push 0x463932
call fcn.004010c5
push 0x44ef90
push 0x463932
call fcn.004010c5
lea eax, [ebp - 0x148]
push eax
push 0x463932
call fcn.004010c5
push dword [ebp + 0xc]
push 0x463932
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp + 8]
call sub.kernel32.dll_WritePrivateProfileStringA
pop eax
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x188]
push eax
call fcn.004010ef
lea edi, [eax + ebp - 0x188]
mov al, 9
stosb byte es:[edi], al
push edi
push dword [ebp - 0x1e4]
call fcn.0041cef4
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
mov edx, 6
mul edx
mov edi, dword [ebp + 0x18]
add edi, eax
mov eax, dword [ebp - 0x1e4]
movzx edx, ah
xor ah, ah
shl edx, 2
or edx, 3
mov byte [edi], dl
mov word [edi + 2], ax
mov eax, dword [0x4539f4]
mov word [edi + 4], ax
mov edx, dword [ebp + 0x14]
inc dword [edx]
lea eax, [ebp - 0x198]
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.0040cd48
lea eax, [ebp - 0x188]
push eax
call fcn.004010ef
cmp word [ebp - 0x188], 0x2e2e
jne 0x40a7eb
cmp dword [ebp - 0x1e0], 0
jne 0x40a7cf
mov edx, dword [0x4539f4]
dec edx
push 0
push 0x40
lea eax, [ebp - 0x1d8]
push eax
push edx
push dword [ebp - 0x1dc]
call sub.user32.dll_GetMenuStringA
call sub.user32.dll_CreatePopupMenu
mov dword [ebp - 0x1e0], eax
mov edx, dword [0x4539f8]
mov dword [edx + 0x111], eax
mov edx, dword [0x4539f4]
dec edx
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp - 0x1e0]
push 0x10
push edx
push dword [ebp - 0x1dc]
call sub.user32.dll_ModifyMenuA
lea eax, [ebp - 0x186]
push eax
push dword [0x4539f4]
push 0
push dword [ebp - 0x1e0]
call sub.user32.dll_AppendMenuA
jmp 0x40a826
cmp word [ebp - 0x188], 0x2424
jne 0x40a802
mov dword [ebp - 0x1e0], 0
jmp 0x40a826
lea eax, [ebp - 0x188]
push eax
push dword [0x4539f4]
push 0
push dword [ebp - 0x1dc]
call sub.user32.dll_AppendMenuA
mov dword [ebp - 0x1e0], 0
mov edx, dword [0x4539f8]
mov al, byte [ebp - 0x198]
mov byte [edx + 0x104], al
mov eax, dword [ebp - 0x1e4]
mov dword [edx + 0x105], eax
mov eax, dword [0x4539f4]
mov dword [edx + 0x109], eax
lea eax, [ebp - 0x148]
push eax
call fcn.00408490
mov edx, dword [0x4539f8]
lea eax, [ebp - 0x148]
push eax
lea eax, [edx]
push eax
call fcn.004010a7
inc dword [0x4539f4]
add dword [0x4539f8], 0x115
inc dword [ebp - 4]
jmp 0x40a56a
pop edi
leave
ret 0x18