Function at 0x44bfa0
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x465dec
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54c
mov eax, dword [esp + 0x55c]
push ebx
push ebp
push esi
test eax, eax
push edi
mov ebx, ecx
mov dword [esp + 0x4c], 0x4675f0
mov dword [esp + 0x6c], 0x4675e8
jne 0x44bfe1
mov eax, 0x47e390
lea ecx, [esp + 0x12]
push 0
push ecx
push eax
lea ecx, [esp + 0x58]
call fcn.0040b168
lea ecx, [esp + 0x4c]
mov dword [esp + 0x564], 0
call fcn.00453840
lea ebp, [ebx + 8]
mov esi, eax
mov ecx, ebp
call fcn.004536a0
push eax
push 0
push str.RECTS
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x564], 0xffffffff
call fcn.00405fc5
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0x111]
mov byte [esp + 0x110], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x18
xor eax, eax
lea edi, [esp + 0xad]
mov byte [esp + 0xac], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf9
xor eax, eax
lea edi, [esp + 0x175]
mov byte [esp + 0x174], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp esi, 1
mov dword [esp + 0x18], 1
stosb byte es:[edi], al
jl 0x44c517
push 0x18
call fcn.0043c844
add esp, 4
lea edx, [esp + 0x110]
mov esi, eax
push str.RECT
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x174]
push 0xa
push eax
push ecx
call fcn.004406e7
add esp, 0xc
lea edx, [esp + 0x110]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x56c]
mov dword [esp + 0x7c], 0x4675f0
test eax, eax
mov dword [esp + 0x9c], 0x4675e8
jne 0x44c105
mov eax, 0x47e390
lea ecx, [esp + 0x12]
push 0
push ecx
push eax
lea ecx, [esp + 0x88]
call fcn.0040b168
lea ecx, [esp + 0x7c]
mov dword [esp + 0x564], 1
call fcn.00453840
mov ecx, ebp
mov edi, eax
call fcn.004536a0
push eax
lea edx, [esp + 0x178]
push 0x3e8
push edx
lea eax, [esp + 0x11c]
push 0x47e394
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x9c]
neg eax
sbb eax, eax
mov dword [esp + 0x564], 0xffffffff
and eax, ecx
mov edx, dword [eax]
mov edi, dword [edx + 4]
add edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esp + 0x7c]
mov dword [edi], eax
neg ecx
sbb ecx, ecx
lea eax, [esp + 0x90]
and ecx, eax
call fcn.0043061c
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x80]
neg ecx
sbb ecx, ecx
push 1
and ecx, edx
call fcn.0040b3e2
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + ecx + 0x7c]
lea eax, [esp + ecx + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
push esi
mov dword [esi], eax
sub esp, 0x28
lea eax, [esp + 0x43]
mov ecx, esp
mov dword [esp + 0x48], esp
push 1
lea edx, [esp + 0x1a4]
push eax
push edx
call fcn.00447b60
mov ecx, ebx
call fcn.0044fd80
mov eax, dword [esi]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
lea ecx, [esp + 0x110]
lea edx, [esp + 0xac]
push ecx
push edx
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0xac]
push 0x47e014
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [esp + 0x4c], 0x4675f0
mov eax, dword [esp + 0x56c]
mov dword [esp + 0x6c], 0x4675e8
test eax, eax
jne 0x44c24b
mov eax, 0x47e390
lea ecx, [esp + 0x15]
push 0
push ecx
push eax
lea ecx, [esp + 0x58]
call fcn.0040b168
lea ecx, [esp + 0x4c]
mov dword [esp + 0x564], 2
call fcn.00453840
mov ecx, ebp
mov edi, eax
call fcn.004536a0
push eax
lea edx, [esp + 0x178]
push 0x3e8
push edx
lea eax, [esp + 0xb8]
push 0x47e394
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x6c]
neg eax
sbb eax, eax
mov dword [esp + 0x564], 0xffffffff
and eax, ecx
mov edx, dword [eax]
mov edi, dword [edx + 4]
add edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
lea edi, [esp + 0x4c]
neg edi
sbb edi, edi
lea eax, [esp + 0x60]
and edi, eax
mov eax, dword [edi]
push eax
call fcn.0043ba53
mov ecx, dword [edi + 8]
add esp, 4
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x50]
neg ecx
sbb ecx, ecx
push 1
and ecx, edx
call fcn.0040b3e2
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + ecx + 0x4c]
lea eax, [esp + ecx + 0x4c]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [esi + 0xc]
lea ecx, [esi + 8]
push eax
push ecx
sub esp, 0x28
mov dword [eax], 0
mov dword [ecx], 0
mov ecx, esp
mov dword [esp + 0x4c], esp
lea eax, [esp + 0x43]
push 1
lea edx, [esp + 0x1a8]
push eax
push edx
call fcn.00447b60
mov ecx, ebx
call fcn.0044faf0
lea eax, [esp + 0x110]
lea ecx, [esp + 0xac]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.AREA
lea edx, [esp + 0xb0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x56c]
mov dword [esp + 0x24], 0x4675f0
test eax, eax
mov dword [esp + 0x44], 0x4675e8
jne 0x44c392
mov eax, 0x47e390
lea ecx, [esp + 0x14]
push 0
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.0040b168
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x564], 3
lea edi, [edx + edx + 2]
cmp edi, eax
mov eax, dword [esp + 0x38]
jae 0x44c3c6
test eax, eax
jne 0x44c3e4
push eax
call fcn.0043ba53
shr edi, 6
inc edi
shl edi, 6
push edi
mov dword [esp + 0x44], edi
call fcn.0043c844
add esp, 8
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x3c]
push 0
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.00454530
mov edi, dword [esp + 0x38]
mov ecx, ebp
call fcn.004536a0
push eax
lea edx, [esp + 0x178]
push 0x3e8
push edx
lea eax, [esp + 0xb8]
push 0x47e394
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x44]
neg eax
sbb eax, eax
mov dword [esp + 0x564], 0xffffffff
and eax, ecx
mov edx, dword [eax]
mov edi, dword [edx + 4]
add edi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
lea edi, [esp + 0x24]
neg edi
sbb edi, edi
lea eax, [esp + 0x38]
and edi, eax
mov eax, dword [edi]
push eax
call fcn.0043ba53
mov ecx, dword [edi + 8]
add esp, 4
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x28]
neg ecx
sbb ecx, ecx
push 1
and ecx, edx
call fcn.0040b3e2
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [esp + ecx + 0x24]
lea eax, [esp + ecx + 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [esi + 0x14]
lea eax, [esi + 0x10]
push ecx
push eax
sub esp, 0x28
mov dword [eax], 0
mov dword [ecx], 0
mov ecx, esp
mov dword [esp + 0x4c], esp
lea eax, [esp + 0x46]
push 1
lea edx, [esp + 0x1a8]
push eax
push edx
call fcn.00447b60
mov ecx, ebx
call fcn.0044faf0
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x74]
lea ecx, [esp + 0xa4]
push eax
push ecx
mov ecx, dword [esp + 0x578]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], 0
call fcn.004545e0
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0x20]
inc edi
cmp edi, eax
mov dword [edx + 0x10], esi
mov dword [esp + 0x18], edi
jle 0x44c09d
mov ecx, dword [esp + 0x55c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x558
ret 8