Function at 0x41c2eb
Capabilities:
Read .ini file

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffff7c4
test edx, edx
mov ebx, eax
mov byte [esp], cl
je 0x41c793
mov eax, edx
push eax
lea edx, [esp + 0x100]
push edx
call fcn.00446208
add esp, 8
mov cl, byte [esp]
test cl, cl
je 0x41c495
mov ecx, 0x453b84
lea edx, [esp + 0x200]
lea eax, [esp + 0xfc]
call fcn.00445bb8
push 0
mov ecx, 0x453cc9
mov edx, 0x4538d3
mov eax, 0x45d8b0
call fcn.00445c49
mov byte [esp + 0x68], al
mov ecx, 0x45421d
mov al, byte [esp + 0x68]
mov edx, 0x4538d3
mov byte [ebx + 0x48], al
mov eax, 0x45d8b0
push 0
call fcn.00445c49
mov byte [esp + 0x70], al
mov ecx, 0x4538d3
mov dl, byte [esp + 0x70]
mov byte [ebx + 0x48], dl
push 0x45422c
add esp, 0xfffffffc
mov edx, 0x45d8b0
mov byte [esp], 0
lea eax, [esp + 0x80]
call fcn.00445e5b
xor edx, edx
mov byte [esp + 0x80], dl
mov al, byte [esp + 0x78]
mov byte [esp + 0xe8], al
mov byte [esp + 0xf0], dl
add esp, 0xfffffffc
mov byte [esp], al
add esp, 0xfffffffc
mov cl, byte [esp + 0xf8]
mov byte [esp], cl
mov al, byte [ebx + 0x48]
call fcn.0043b37a
lea edx, [esp + 0x200]
lea eax, [esp + 0xf4]
call fcn.00425355
mov dword [esp + 0xf8], 0xffffd8f0
mov edx, dword [esp + 0xf4]
test edx, edx
je 0x41c406
mov ecx, dword [esp + 0xf4]
mov ecx, dword [ecx + 4]
jmp 0x41c40b
mov ecx, 0xac44
mov esi, dword [esp + 0xf8]
mov eax, esi
mov edi, 0x2710
cdq
idiv edi
mov edi, eax
imul edi, ecx
mov eax, esi
mov esi, 0x2710
cdq
idiv esi
mov eax, edx
imul ecx
mov ecx, 0x2710
cdq
idiv ecx
add edi, eax
mov eax, edi
mov edx, dword [esp + 0xf4]
test edx, edx
je 0x41c451
mov ecx, edx
mov edx, eax
mov eax, ecx
mov ecx, dword [eax]
call dword [ecx + 8]
lea edx, [esp + 0xf4]
lea eax, [ebx + 0x1c]
xor ecx, ecx
call fcn.00431ef9
mov esi, dword [esp + 0xf4]
test esi, esi
je 0x41c495
dec word [esi + 0xe]
mov ax, word [esi + 0xe]
test ax, ax
jne 0x41c495
mov edx, dword [esp + 0xf4]
test edx, edx
je 0x41c495
mov edx, 3
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax]
call dword [ecx]
push 0x104
lea eax, [esp + 0x308]
push eax
push 0x67
push dword [ebx + 4]
call sub.USER32.dll_GetDlgItemTextA
push 0x45423b
lea edx, [esp + 0x308]
push edx
call fcn.00446178
add esp, 8
lea ecx, [esp + 0x304]
push ecx
call fcn.0044a704
pop ecx
push 0
lea eax, [esp + 0x40c]
push eax
push 0
push 0
lea edx, [esp + 0x10c]
push edx
call fcn.00448bb4
add esp, 0x14
lea ecx, [esp + 0x408]
push ecx
call fcn.0044a704
pop ecx
lea eax, [esp + 0x304]
push eax
call fcn.00446238
pop ecx
push eax
lea edx, [esp + 0x40c]
push edx
lea ecx, [esp + 0x30c]
push ecx
call fcn.00446254
add esp, 0xc
test eax, eax
je 0x41c54d
mov al, byte [esp + 0xfc]
test al, al
je 0x41c793
lea edx, [esp + 0xfc]
push edx
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
jmp 0x41c793
lea ecx, [esp + 0x304]
push ecx
call fcn.00446238
pop ecx
mov esi, eax
lea eax, [esp + 0x408]
push 0x69
push dword [ebx + 4]
add esi, eax
call sub.USER32.dll_GetDlgItem
mov dword [esp + 0x50c], 0xb
xor edx, edx
mov ebx, eax
mov dword [esp + 0x510], edx
xor ecx, ecx
mov dword [esp + 0x514], ecx
xor eax, eax
mov dword [esp + 0x518], eax
xor edx, edx
mov dword [esp + 0x51c], edx
push 0
lea eax, [esp + 0x100]
mov edx, 0x453f1a
mov ecx, 0x453f22
mov edi, 1
call fcn.00445c9e
test al, al
jne 0x41c5c3
dec edi
mov dword [esp + 0x528], edi
mov dword [esp + 0x520], esi
lea eax, [esp + 0x50c]
push eax
push 0
push 0x1007
push ebx
call sub.USER32.dll_SendMessageA
mov dword [esp + 0x510], eax
lea edx, [esp + 0xfc]
push edx
push 0x103
lea ecx, [esp + 0x538]
push ecx
push 0x4533b5
push 0x454240
push 0x453f1a
call sub.KERNEL32.dll_GetPrivateProfileStringA
lea eax, [esp + 0xfc]
push eax
push 0x103
lea edx, [esp + 0x63c]
push edx
push 0x4533b5
push 0x4541f6
push 0x453f1a
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [esp + 0x50c], 1
mov dword [esp + 0x514], 1
lea ecx, [esp + 0x530]
lea eax, [esp + 0x50c]
mov dword [esp + 0x520], ecx
push eax
push 0
push 0x1006
push ebx
call sub.USER32.dll_SendMessageA
mov dword [esp + 0x50c], 1
mov dword [esp + 0x514], 2
lea edx, [esp + 0x634]
lea ecx, [esp + 0x50c]
mov dword [esp + 0x520], edx
push ecx
push 0
push 0x1006
push ebx
call sub.USER32.dll_SendMessageA
lea eax, [esp + 0xfc]
push eax
push 0x103
lea edx, [esp + 0x740]
push edx
push 0x4533b5
push 0x454245
push 0x453f1a
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [esp + 0x50c], 1
mov dword [esp + 0x514], 3
lea ecx, [esp + 0x738]
lea eax, [esp + 0x50c]
mov dword [esp + 0x520], ecx
push eax
push 0
push 0x1006
push ebx
call sub.USER32.dll_SendMessageA
lea edx, [esp + 0xfc]
push edx
push 0x103
lea ecx, [esp + 0x740]
push ecx
push 0x4533b5
push 0x454249
push 0x453f1a
call sub.KERNEL32.dll_GetPrivateProfileStringA
mov dword [esp + 0x50c], 1
mov dword [esp + 0x514], 4
lea eax, [esp + 0x738]
lea edx, [esp + 0x50c]
mov dword [esp + 0x520], eax
push edx
push 0
push 0x1006
push ebx
call sub.USER32.dll_SendMessageA
mov cl, byte [esp + 0xfc]
test cl, cl
je 0x41c793
lea eax, [esp + 0xfc]
push eax
push 0
push 0
push 0
call sub.KERNEL32.dll_WritePrivateProfileStringA
add esp, 0x83c
pop edi
pop esi
pop ebx
ret