Function at 0x450020
Capabilities:
Get number of processors
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x4a92d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], 0
mov al, byte [esi + 0x34]
mov ebp, dword [esi + 0x16c]
mov byte [esp + 0x2c], al
call fcn.00435fc0
mov bl, byte [esi + 0xa0]
mov dword [esp + 0x30], eax
mov al, byte [esi + 0x14c]
xor ecx, ecx
test bl, bl
setne cl
mov dl, al
shl dl, cl
test byte [esi + 0xf2], 8
mov byte [esp + 0x1c], dl
je 0x4500b1
xor bl, bl
test al, al
mov byte [esp + 0x1c], bl
jbe 0x4500b1
xor edx, edx
xor ecx, ecx
mov dx, word [esi + 0xf4]
and eax, 0xff
mov edi, eax
mov eax, 1
shl eax, cl
test edx, eax
je 0x4500a9
inc bl
inc ecx
dec edi
jne 0x45009c
mov byte [esp + 0x1c], bl
mov cl, byte [esi + 0x24]
cmp cl, 0x92
je 0x4500c3
cmp cl, 0x96
mov byte [esp + 0x14], 0x12
jne 0x4500c8
mov byte [esp + 0x14], 0xc
cmp cl, 0x92
je 0x4500d6
cmp cl, 0x96
je 0x4500d6
xor eax, eax
jmp 0x4500de
xor eax, eax
mov al, byte [esi + 0x18d]
add al, 2
mov byte [esp + 0x18], al
mov al, byte [esi + 0x12f]
cmp al, 2
jne 0x450106
cmp cl, 0x92
je 0x4500fd
cmp cl, 0x96
mov eax, 2
jne 0x450102
mov eax, 4
add byte [esp + 0x18], al
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString_1
mov cl, byte [esi + 0xf2]
mov dl, byte [esi + 0xec]
push 0
push 0x80
push ecx
lea eax, [esp + 0x34]
push edx
push eax
mov ecx, esi
mov dword [esp + 0x90], 0
call fcn.0043ff30
push str.86_4K_MLC_01_L63.BIN
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::Find_1
cmp eax, 0xffffffff
je 0x450153
mov byte [esp + 0x14], 0xe
mov eax, dword [esp + 0x2c]
mov di, word [esi + 0x18e]
and eax, 0xff
and edi, 0xffff
imul eax, ebp
xor edx, edx
div edi
test al, al
mov byte [esp + 0x2c], al
jbe 0x4501e2
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x84]
mov bl, byte [esp + 0x88]
and eax, 0xff
mov dword [esp + 0x84], eax
xor eax, eax
cmp word [esi + 0x18e], ax
jbe 0x4501cf
mov ecx, edx
mov ebp, edi
cmp byte [ecx], bl
ja 0x4501aa
inc eax
inc ecx
dec ebp
jne 0x4501a5
cmp ax, 0x14
jbe 0x4501cf
mov ecx, dword [esp + 0x14]
and eax, 0xffff
and ecx, 0xff
sub eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x84]
add edx, edi
dec eax
mov dword [esp + 0x84], eax
jne 0x450196
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov cl, byte [esi + 0x34]
mov esi, dword [esp + 0x10]
and eax, 0xff
lea edx, [eax + ecx + 4]
cmp esi, edx
jbe 0x45020d
mov edx, 0xfffffffc
sub edx, eax
mov eax, esi
sub edx, ecx
add eax, edx
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call sub.MFC42.DLL_CString::CString_1
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [esp + 0x7c], 2
mov byte [esp + 0x88], 1
mov esi, dword [esp + 0x88]
lea eax, [esp + 0x24]
and esi, 0xff
push esi
push str.Class_dMax
push eax
call sub.MFC42.DLL_CString::Format
push esi
lea ecx, [esp + 0x30]
push str.Class_dMin
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [0x4e5bb8]
mov eax, dword [esp + 0x3c]
add esp, 0x18
lea ebp, [esp + esi*8 + 0x34]
push edx
push 0xffffffffffffffff
push eax
push str.BinEcc
call ebx
mov ecx, dword [0x4e5bb8]
mov edx, dword [esp + 0x20]
push ecx
push 0xffffffffffffffff
push edx
push str.BinEcc
mov dword [ebp], eax
call ebx
mov edi, eax
mov dword [esp + esi*8 + 0x38], edi
mov eax, dword [ebp]
cmp eax, 0xffffffff
je 0x4502e0
cmp edi, 0xffffffff
je 0x4502e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
and ecx, 0xff
and edx, 0xffff
imul ecx, edx
shl eax, 0xb
xor edx, edx
div ecx
xor edx, edx
mov esi, eax
mov eax, edi
shl eax, 0xb
div ecx
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jb 0x4502e0
cmp ecx, esi
jbe 0x4502fa
mov al, byte [esp + 0x88]
inc al
cmp al, 9
mov byte [esp + 0x88], al
jb 0x450237
jmp 0x45030a
mov eax, dword [esp + 0x8c]
mov cl, byte [esp + 0x88]
mov byte [eax], cl
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x7c], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov dword [esp + 0x7c], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret 0xc