Function at 0x420f3a
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbfc
push esi
push edi
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x421212
mov eax, dword [esi + 0x11d]
or eax, eax
jne 0x421017
call fcn.00420c4a
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
call fcn.00420c2d
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
call fcn.00420b2b
mov eax, 0xa0d
stosw word es:[edi], ax
mov al, byte [esi + 0x2c]
or al, al
je 0x420fa0
push str.CAPTION
push edi
call fcn.00420b04
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
call fcn.00420ced
mov ax, 0xa0d
stosw word es:[edi], ax
sub esi, 0x90
call fcn.00420d70
call fcn.00420d40
or al, al
jne 0x420fb9
call fcn.00420e5a
add esi, 0x90
push str.STYLE
push edi
call fcn.00420b04
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
push 0
push dword [esi + 0x14]
call fcn.00420a9c
mov ax, 0xa0d
stosw word es:[edi], ax
push str.EXSTYLE
push edi
call fcn.00420b04
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
push 0
push dword [esi + 0x18]
call fcn.00420a9c
mov ax, 0xa0d
stosw word es:[edi], ax
push str.BEGIN
push edi
call fcn.00420b04
add edi, eax
mov ax, 0xa0d
stosw word es:[edi], ax
jmp 0x421212
cmp eax, 0x17
jne 0x42109a
mov ax, 0x2020
stosw word es:[edi], ax
call fcn.00420c2d
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
call fcn.00420ced
mov al, 0x2c
stosb byte es:[edi], al
call fcn.00420c4a
add edi, eax
mov al, 0x2c
stosb byte es:[edi], al
call fcn.00420d00
mov al, 0x2c
stosb byte es:[edi], al
mov eax, dword [esi + 0x14]
and eax, dword [0x45193a]
xor eax, dword [0x45193a]
or eax, eax
je 0x421073
push eax
push str.NOT
push edi
call fcn.00420b04
add edi, eax
pop eax
push 0
push eax
call fcn.00420a9c
mov al, 0x7c
stosb byte es:[edi], al
push 1
push dword [esi + 0x14]
call fcn.00420a9c
call fcn.00420b2b
mov al, 0x2c
stosb byte es:[edi], al
push 0
push dword [esi + 0x18]
call fcn.00420a9c
mov ax, 0xa0d
stosw word es:[edi], ax
jmp 0x421212
push eax
mov ax, 0x2020
stosw word es:[edi], ax
call fcn.00420c2d
add edi, eax
mov al, 0x20
stosb byte es:[edi], al
pop eax
cmp eax, 0x11
je 0x4210ba
cmp eax, 0x1b
jne 0x4211a9
mov dword [ebp - 0x404], 1
jmp 0x42119f
lea eax, [ebp - 0x100]
push eax
push dword [ebp - 0x404]
call fcn.004011b7
push 0x45cb12
push 0x100
lea eax, [ebp - 0x100]
push eax
push 0x44ef8c
lea eax, [ebp - 0x100]
push eax
push str.Resource
call sub.kernel32.dll_GetPrivateProfileStringA
or eax, eax
je 0x421192
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0040cd48
lea eax, [ebp - 0x300]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0040cd48
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.0040cd48
lea eax, [esi + 0x2c]
push eax
lea eax, [ebp - 0x100]
push eax
call sub.kernel32.dll_lstrcmpiA
or eax, eax
jne 0x421199
mov al, 0x22
stosb byte es:[edi], al
mov al, byte [ebp - 0x300]
cmp al, 0x30
jne 0x421173
lea eax, [ebp - 0x200]
push eax
push edi
call fcn.004010a7
jmp 0x421183
mov al, 0x23
stosb byte es:[edi], al
lea eax, [ebp - 0x300]
push eax
push edi
call fcn.004010a7
push edi
call fcn.004010ef
add edi, eax
mov al, 0x22
stosb byte es:[edi], al
xor eax, eax
jmp 0x421199
call fcn.00420ced
xor eax, eax
inc dword [ebp - 0x404]
or eax, eax
jne 0x4210c9
jmp 0x4211ae
call fcn.00420ced
mov al, 0x2c
stosb byte es:[edi], al
call fcn.00420c4a
add edi, eax
mov al, 0x2c
stosb byte es:[edi], al
call fcn.00420d16
mov al, 0x2c
stosb byte es:[edi], al
mov eax, dword [esi + 0x14]
and eax, dword [0x45193a]
xor eax, dword [0x45193a]
or eax, eax
je 0x4211f0
push eax
push str.NOT
push edi
call fcn.00420b04
add edi, eax
pop eax
push 0
push eax
call fcn.00420a9c
mov al, 0x7c
stosb byte es:[edi], al
push 1
push dword [esi + 0x14]
call fcn.00420a9c
call fcn.00420b2b
mov al, 0x2c
stosb byte es:[edi], al
push 0
push dword [esi + 0x18]
call fcn.00420a9c
mov ax, 0xa0d
stosw word es:[edi], ax
mov eax, edi
pop edi
pop esi
leave
ret