Function at 0x431fa0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x4747c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push ebx
mov dword [ebp - 0x18c], ebx
call dword [sym.imp.USER32.dll_GetMenuItemCount]
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], eax
test ecx, ecx
jle 0x432259
push esi
push edi
nop
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x1c4], 0x30
mov dword [ebp - 0x1a0], ecx
lea ecx, [ebp - 0x1c4]
push ecx
push 1
push eax
push ebx
mov dword [ebp - 0x1c0], 0x10
mov dword [ebp - 0x19c], 0xc0
call dword [sym.imp.USER32.dll_GetMenuItemInfoW]
test eax, eax
je 0x43223e
lea esi, [ebp - 0x184]
call fcn.00432270
test al, al
je 0x43223e
mov ax, word [ebp - 0x184]
mov ecx, esi
test ax, ax
je 0x432068
movzx edx, ax
nop word [eax + eax]
cmp dx, 0x7e
ja 0x43223e
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x432050
xor eax, eax
lea edi, [ebp - 0x184]
lea ebx, [eax + 0x25]
movzx ecx, word [edi]
test cx, cx
je 0x4320d1
test eax, eax
jne 0x432084
cmp ecx, 0x20
je 0x432092
cmp ecx, 0x20
jb 0x432092
cmp ecx, 0x3d
je 0x432092
cmp ecx, ebx
jne 0x4320be
mov edx, ecx
mov word [eax*2 + 0x478928], bx
shr ecx, 4
and ecx, 0xf
movsx ecx, byte [ecx + str.0123456789ABCDEF]
mov word [eax*2 + 0x47892a], cx
add eax, 2
and edx, 0xf
movsx ecx, byte [edx + str.0123456789ABCDEF]
mov word [eax*2 + 0x478928], cx
add edi, 2
inc eax
cmp eax, 0x1bb
jb 0x432073
mov ebx, dword [ebp - 0x18c]
test eax, eax
jle 0x432101
cmp word [eax*2 + 0x478926], 0x20
jne 0x432101
mov dword [eax*2 + 0x478926], 0x320025
mov ecx, 0x30
mov word [eax*2 + 0x47892a], cx
add eax, 2
add eax, eax
cmp eax, 0x380
jae 0x432268
push dword [0x474078]
xor ecx, ecx
push 0xc0
mov word [eax + 0x478928], cx
lea eax, [ebp - 0x184]
push eax
push 0x46629c
push 0x478928
push 0x478840
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
cmp eax, 0xbf
je 0x4321fb
mov ax, word [ebp - 0x184]
cmp ax, 0xa
je 0x4321fb
xor ecx, ecx
lea edi, [ebp - 0x184]
mov dword [ebp - 0x188], ecx
test ax, ax
je 0x43223e
cmp word [esi], 0x25
jne 0x4321c2
movzx ecx, word [esi + 2]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x432188
add ecx, 0xffffffd0
jmp 0x432193
lea eax, [ecx - 0x41]
cmp eax, 5
ja 0x4321c2
add ecx, 0xffffffc9
test ecx, ecx
js 0x4321c2
movzx edx, word [esi + 4]
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x4321a8
add edx, 0xffffffd0
jmp 0x4321b3
lea eax, [edx - 0x41]
cmp eax, 5
ja 0x4321c2
add edx, 0xffffffc9
test edx, edx
js 0x4321c2
shl ecx, 4
add ecx, edx
add esi, 4
mov word [edi], cx
movzx eax, word [esi + 2]
add esi, 2
inc dword [ebp - 0x188]
add edi, 2
mov word [edi], ax
test ax, ax
jne 0x432171
cmp dword [ebp - 0x188], 0
je 0x43223e
lea eax, [ebp - 0x1c4]
push eax
push 1
push dword [ebp - 0x190]
push ebx
call dword [sym.imp.USER32.dll_SetMenuItemInfoW]
jmp 0x43223e
mov edx, dword [0x47891c]
test edx, edx
jle 0x43223e
mov ecx, 0x478928
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x432210
sub ecx, esi
sar ecx, 1
cmp ecx, edx
jle 0x43223e
push dword [0x474078]
push 0x478928
push 0x478928
push 0x478840
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [ebp - 0x190]
inc eax
mov dword [ebp - 0x190], eax
cmp eax, dword [ebp - 0x194]
jl 0x431fe0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00437271
mov esp, ebp
pop ebp
ret
call fcn.00437b4a
int3