Function at 0x44e114
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7d3208
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
mov eax, dword [0x8c8ca0]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov esi, edi
call fcn.0044e4f3
call fcn.00544c61
push eax
lea ecx, [esp + 0x34]
call fcn.00401a5a
xor ebx, ebx
mov dword [esp + 0x40], ebx
call fcn.00544c61
push eax
lea ecx, [esp + 0x18]
call fcn.00401a5a
mov byte [esp + 0x40], 1
lea esi, [edi + 0xac]
mov eax, dword [esi]
cmp dword [eax - 0xc], ebx
je 0x44e417
push ebx
push eax
call fcn.0063e8c4
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x44e1ed
mov eax, dword [0x913cc0]
add eax, 0xdc
push 0x854678
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00404d7a
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x4c], 2
call fcn.00404ca7
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x44], 3
call fcn.00404e07
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.00401a7f
mov byte [esp + 0x40], 1
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401a7f
jmp 0x44e1f7
push esi
lea ecx, [esp + 0x18]
call fcn.00404e07
push ebx
push 1
push dword [esp + 0x1c]
lea esi, [edi + 0xd8]
push 0x18
pop eax
call fcn.0043a296
cmp eax, ebx
jne 0x44e417
cmp dword [edi + 0x504], 0x17
jne 0x44e227
push esi
call fcn.0043bdb8
test eax, eax
je 0x44e237
cmp dword [edi + 0xfc], 0x20
je 0x44e237
mov ecx, esi
call fcn.0043b655
cmp dword [edi + 0xb0], ebx
je 0x44e336
mov eax, esi
call fcn.00406a96
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xb8]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
lea eax, [edi + 0xb4]
movzx esi, byte [eax]
fdiv qword [0x868558]
movzx ebx, byte [eax + 1]
movzx eax, byte [edi + 0xb6]
mov dword [esp + 0x1c], eax
fld qword [0x868580]
fmul st(1)
call fcn.006491e0
fmul qword [0x868640]
mov dword [esp + 0x10], eax
mov eax, esi
sub eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
call fcn.006491e0
mov ecx, dword [esp + 0x1c]
sub esi, eax
mov edx, ebx
sub edx, dword [esp + 0x10]
sub ebx, eax
mov dword [esp + 0x24], esi
mov esi, ecx
sub esi, dword [esp + 0x10]
mov dword [esp + 0x28], ebx
sub ecx, eax
xor ebx, ebx
cmp dword [edi + 0xf8], ebx
mov dword [esp + 0x1c], ecx
jle 0x44e336
and dword [esp + 0x10], 0
cmp dword [edi + 0xf4], 0
jle 0x44e32d
mov eax, dword [edi + 0xf4]
mov ecx, dword [esp + 0x20]
imul eax, ebx
add eax, dword [esp + 0x10]
lea eax, [ecx + eax*4]
movzx ecx, byte [eax]
cmp ecx, dword [esp + 0x18]
jl 0x44e31d
cmp ecx, dword [esp + 0x24]
jg 0x44e31d
movzx ecx, byte [eax + 1]
cmp ecx, edx
jl 0x44e31d
cmp ecx, dword [esp + 0x28]
jg 0x44e31d
movzx ecx, byte [eax + 2]
cmp ecx, esi
jl 0x44e31d
cmp ecx, dword [esp + 0x1c]
jg 0x44e31d
mov byte [eax + 3], 0
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [edi + 0xf4]
jl 0x44e2da
inc ebx
cmp ebx, dword [edi + 0xf8]
jl 0x44e2cc
lea eax, [edi + 0x568]
lea ebx, [edi + 0xd8]
call fcn.0043a21e
mov ebx, dword [edi + 0xbc]
cmp ebx, 0x64
jge 0x44e3c3
lea eax, [edi + 0xd8]
call fcn.00406a96
mov esi, eax
mov eax, ebx
imul eax, eax, 0xff
push 0x64
cdq
pop ecx
idiv ecx
and dword [esp + 0x10], 0
cmp dword [edi + 0xf8], 0
mov byte [esp + 0xf], al
jle 0x44e3c3
xor edx, edx
cmp dword [edi + 0xf4], edx
jle 0x44e3b3
movzx eax, byte [esp + 0xf]
mov ecx, dword [edi + 0xf4]
imul ecx, dword [esp + 0x10]
add ecx, edx
lea ecx, [esi + ecx*4 + 3]
movzx ebx, byte [ecx]
imul ebx, eax
sar ebx, 8
inc edx
mov byte [ecx], bl
cmp edx, dword [edi + 0xf4]
jl 0x44e38e
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, dword [edi + 0xf8]
jl 0x44e37f
mov eax, dword [edi + 0x14]
sub eax, dword [edi + 0xc]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0xd8]
push eax
call fcn.0043b941
mov eax, dword [edi + 0x14]
sub eax, dword [edi + 0xc]
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0x568]
push eax
call fcn.0043b941
mov dword [edi + 0x9f8], 1
jmp 0x44e41d
mov dword [edi + 0x9f8], ebx
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00401a7f
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00401a7f
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret