Function at 0x421a94
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff68
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x421fcf
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x484a01], 1
mov byte [0x484925], 0
mov word [ebp - 0xa], 0
mov word [ebp - 0xc], 7
mov word [0x48489c], 3
mov byte [0x484924], 0
push 0
lea eax, [ebp - 0x75]
push eax
push 0
push 0x30
call sub.user32.dll_SystemParametersInfoA
mov eax, dword [ebp - 0x6d]
sub eax, dword [ebp - 0x75]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x69]
sub eax, dword [ebp - 0x71]
mov dword [ebp - 0x14], eax
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x421fe0
push 0x422008
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421bda
lea edx, [ebp - 0x7c]
lea eax, [ebp - 0x65]
call fcn.0040a098
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 8]
mov ecx, 0x422024
call fcn.004053ec
mov edi, 0x10
mov ebx, 0x484928
mov edx, dword [ebp - 8]
mov eax, 0x422024
call fcn.004056e4
mov esi, eax
test esi, esi
je 0x421bda
lea eax, [ebp - 0x80]
push eax
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 8]
call fcn.00409518
mov eax, dword [ebp - 0x84]
mov ecx, esi
dec ecx
mov edx, 1
call fcn.00405600
mov eax, dword [ebp - 0x80]
lea edx, [ebp - 4]
call fcn.00403ab8
mov byte [ebx], al
cmp dword [ebp - 4], 0
jne 0x421bda
lea eax, [ebp - 8]
mov ecx, esi
mov edx, 1
call fcn.00405640
inc ebx
dec edi
jne 0x421b7c
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422028
push 0x42202c
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421c18
mov al, byte [ebp - 0x65]
call fcn.00402f20
cmp al, 0x53
jne 0x421c18
mov byte [0x484a01], 0
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422028
push 0x422038
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421c56
mov al, byte [ebp - 0x65]
call fcn.00402f20
cmp al, 0x53
jne 0x421c56
mov byte [0x484925], 1
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422040
push 0x422044
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421ca1
lea edx, [ebp - 0x88]
lea eax, [ebp - 0x65]
call fcn.0040a098
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 4]
call fcn.00403ab8
mov word [ebp - 0xa], ax
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422050
push 0x422054
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421cec
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x65]
call fcn.0040a098
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 4]
call fcn.00403ab8
mov word [ebp - 0xc], ax
mov al, byte [ebp - 0xa]
shl eax, 4
or al, byte [ebp - 0xc]
mov byte [0x48489e], al
xor eax, eax
mov dword [0x484a04], eax
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422040
push 0x422060
push 0x422068
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421d3b
mov al, byte [ebp - 0x65]
and al, 3
and eax, 0xff
mov dword [0x484a04], eax
mov dword [0x484a24], 2
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 2
lea eax, [ebp - 0x65]
push eax
push 0x422070
push 0x422074
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421d7f
mov al, byte [ebp - 0x65]
and al, 7
and eax, 0xff
mov dword [0x484a24], eax
cmp dword [0x484a24], 0
jge 0x421d92
mov dword [0x484a24], 2
cmp byte [0x481480], 0
jne 0x421fa9
cmp dword [0x481488], 0
jne 0x421de5
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x42207c
push 0x42208c
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421de5
mov eax, 0x481488
lea edx, [ebp - 0x65]
mov ecx, 0x51
call fcn.00405350
cmp dword [0x481490], 0
jne 0x421e55
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422094
push 0x422098
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
jne 0x421e34
fild dword [ebp - 0x10]
fdiv dword [0x4220a8]
fmul dword [0x4220ac]
call fcn.00402f50
mov dword [0x481490], eax
jmp 0x421e55
lea edx, [ebp - 0x90]
lea eax, [ebp - 0x65]
call fcn.0040a098
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 4]
call fcn.00403ab8
mov dword [0x481490], eax
cmp dword [0x48148c], 0
jne 0x421ec5
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x422094
push 0x4220b0
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
jne 0x421ea4
fild dword [ebp - 0x14]
fdiv dword [0x4220bc]
fmul dword [0x4220c0]
call fcn.00402f50
mov dword [0x48148c], eax
jmp 0x421ec5
lea edx, [ebp - 0x94]
lea eax, [ebp - 0x65]
call fcn.0040a098
mov eax, dword [ebp - 0x94]
lea edx, [ebp - 4]
call fcn.00403ab8
mov dword [0x48148c], eax
cmp dword [0x481494], 0
je 0x421f1a
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x4220c4
push 0x4220c8
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421f1a
lea edx, [ebp - 0x98]
lea eax, [ebp - 0x65]
call fcn.0040a098
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 4]
call fcn.00403ab8
mov dword [0x481494], eax
cmp byte [0x484924], 0
jne 0x421f5f
mov eax, dword [0x481484]
call fcn.004055a0
push eax
push 0x50
lea eax, [ebp - 0x65]
push eax
push 0x4220d4
push 0x4220d8
push 0x422014
call sub.kernel32.dll_GetPrivateProfileStringA
mov ebx, eax
test ebx, ebx
je 0x421f5f
mov al, byte [ebp - 0x64]
call fcn.00402f20
cmp al, 0x53
setne byte [0x484924]
xor ebx, ebx
cmp byte [0x48147c], 0
je 0x421f6f
mov ebx, 0xff
mov eax, dword [0x481488]
call fcn.004055a0
push eax
push 0
push 0
push 0
push 0
push ebx
push 0
push 0
push 0
mov eax, dword [0x481494]
push eax
push 0
push 0
mov eax, dword [0x481490]
push eax
mov eax, dword [0x48148c]
push eax
call sub.gdi32.dll_CreateFontA
mov dword [0x484954], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421fd6
lea eax, [ebp - 0x98]
mov edx, 8
call fcn.00405104
lea eax, [ebp - 8]
call fcn.004050e0
ret