Function at 0x422ce0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d39e5
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x5920a4]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
push dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea eax, [esp + 0x18]
push eax
add edi, 0xbc
push edi
call fcn.00413390
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 4]
lea esi, [esp + 0x14]
mov dword [esp + 0x1c], ecx
call fcn.004a0720
mov edi, esi
lea esi, [esp + 0x1c]
call fcn.0040fc10
test al, al
jne 0x4f1763
call fcn.0041a2e0
mov esi, dword [eax + 0x1c]
push 0x190
mov dword [esp + 0x18], esi
call fcn.004aa098
pop ecx
mov dword [esp + 0x1c], eax
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x38], ebx
je 0x422d7c
push eax
call fcn.00483c60
mov ebx, eax
or dword [esp + 0x38], 0xffffffff
push dword [ebp + 0xc]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x60]
lea edi, [esi + 0x7c]
mov ecx, edi
call fcn.004931b0
test al, al
je 0x423041
push 0xb8
call fcn.004aa098
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x38], 1
je 0x4f16be
mov edi, dword [edi]
push eax
call fcn.00453980
or dword [esp + 0x38], 0xffffffff
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x108]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
lea edi, [esi + 0x80]
mov ecx, edi
call fcn.004931b0
test al, al
jne 0x423059
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xa8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
fld dword [eax + 8]
fsub dword [eax]
mov edi, dword [ebp + 8]
cmp dword [edi + 0xc], 0
fmul dword [0x54ddb0]
fstp dword [esp + 0x14]
je 0x422e36
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
lea edx, [esp + 0x24]
push edx
call dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
fld dword [esp + 0x1c]
fadd dword [ebp + 0x10]
fsub dword [esp + 0x14]
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x4230df
mov ecx, dword [0x5ab9e4]
fstp st(0)
fld dword [esp + 0x1c]
mov eax, dword [ecx]
fadd dword [esp + 0x14]
fadd dword [ebp + 0x10]
fstp dword [esp + 0x14]
call dword [eax + 0x28]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jnp 0x4230c8
lea eax, [esi + 0x1c]
call fcn.00422cb0
fstp dword [ebx + 0xd0]
lea eax, [esi + 0xc]
call fcn.00422cb0
fstp dword [esp + 0x1c]
lea eax, [esi + 0x14]
call fcn.00422cb0
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xc8], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xcc], eax
lea eax, [esi + 0x44]
call fcn.00422cb0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.0045e790
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0043cdb0
fld dword [ebx + 0xcc]
pop ecx
fmul dword [esp + 0x1c]
fld st(1)
fmul dword [ebx + 0xc8]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [ebx + 0xc8]
fld dword [ebx + 0xcc]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp dword [ebx + 0xc8]
fstp dword [ebx + 0xcc]
mov eax, dword [esi + 0x54]
mov dword [ebx + 0xec], eax
mov eax, dword [esi + 0x58]
mov dword [ebx + 0xf0], eax
lea eax, [esi + 0x24]
call fcn.00422cb0
fstp dword [ebx + 0xd4]
lea eax, [esi + 0x2c]
call fcn.00422cb0
fstp dword [ebx + 0xd8]
fld dword [esi + 0x34]
mov eax, dword [ebx]
fstp dword [ebx + 0xdc]
push ecx
fld dword [esi + 0x38]
push ecx
fstp dword [ebx + 0xe0]
mov ecx, ebx
fld dword [ebx + 0xd4]
fstp dword [esp + 4]
fld dword [ebx + 0xd4]
fstp dword [esp]
call dword [eax + 0x1c]
fld dword [esi + 0x4c]
mov edx, dword [ebx]
lea eax, [ebx + 0xe4]
fstp dword [eax]
push ecx
fld dword [esi + 0x50]
mov ecx, ebx
fstp dword [ebx + 0xe8]
fld dword [eax]
fstp dword [esp]
call dword [edx + 0x34]
fld dword [ebp + 0x14]
push ecx
push ecx
fstp dword [esp + 4]
mov ecx, ebx
fld dword [ebp + 0x10]
fstp dword [esp]
call fcn.00413140
lea eax, [esi + 0xb8]
call fcn.00422cb0
fst dword [ebx + 0x118]
fstp dword [ebx + 0x114]
fldz
fcom dword [esi + 0xb0]
fnstsw ax
test ah, 0x44
jp 0x4f16c5
fstp st(0)
and dword [ebx + 0x120], 0
and dword [ebx + 0x124], 0
lea eax, [esi + 0x5c]
call fcn.00422cb0
fstp dword [esp + 0x14]
lea eax, [esi + 0x6c]
call fcn.00422cb0
fstp dword [esp + 0x1c]
fldz
fcom dword [esp + 0x14]
fnstsw ax
test ah, 0x44
jp 0x4f16f4
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x44
jp 0x4f16f6
push edi
mov ecx, ebx
call fcn.004130e0
mov eax, ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esi + 0xd0]
call fcn.004235e0
test al, al
jne 0x422dde
jmp 0x4f1660
push dword [edi]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
add esi, 0xc0
lea edi, [ebx + 0x104]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x1c]
lea ecx, [esi + 0xa8]
push eax
call fcn.00461c10
mov al, byte [esi + 0xa0]
fld dword [esi + 0xa4]
mov byte [ebx + 0x12c], al
mov eax, dword [esp + 0x1c]
fstp dword [ebx + 0x130]
add esi, 0x84
mov dword [ebx + 0x134], eax
mov eax, dword [esp + 0x20]
push esi
push ebx
mov dword [ebx + 0x138], eax
call fcn.004089d0
mov esi, dword [esp + 0x14]
jmp 0x422df3
mov ecx, dword [0x5ab9e4]
mov eax, dword [ecx]
call dword [eax + 0x28]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsubr dword [esp + 0x14]
fsubr dword [ebp + 0x10]
fstp dword [ebp + 0x10]
jmp 0x422e83
mov edi, dword [ebp + 8]
add edi, 0xb8
mov ecx, edi
call fcn.004931b0
test al, al
je 0x422dde
mov edi, dword [edi]
lea eax, [esi + 0xd0]
push eax
mov eax, edi
call fcn.0046c340
mov edi, eax
test edi, edi
je 0x422dde
push dword [esi + 0xec]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
push 0xb8
call fcn.004aa098
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x38], 2
jne 0x422dbe
xor eax, eax
jmp 0x422dc4
lea ecx, [esi + 0xb4]
fcomp dword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x422fdc
fld dword [ecx]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [esi + 0xb0]
fstp dword [esp]
push ebx
call fcn.0051be73
jmp 0x422fdc
fstp st(0)
mov eax, ebx
call fcn.00457760
push 0x44
call fcn.004aa098
mov edi, eax
test edi, edi
pop ecx
je 0x4f1744
fldz
push ecx
lea eax, [esi + 0x74]
fstp dword [esp]
call fcn.00422cb0
push ecx
lea eax, [esi + 0x64]
fstp dword [esp]
call fcn.00422cb0
sub esp, 0xc
fstp dword [esp + 8]
mov ecx, edi
fld dword [esp + 0x30]
fstp dword [esp + 4]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.00431c20
jmp 0x4f1746
xor eax, eax
test eax, eax
je 0x4f1754
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
lea eax, [ecx + eax + 4]
push eax
push ebx
call fcn.004350d0
mov edi, dword [ebp + 8]
jmp 0x423022
mov eax, dword [0x5ab9e4]
mov ecx, dword [eax]
push str.Error:_Cannot_find_splat_definition._n
push eax
call dword [ecx + 0xcc]
pop ecx
pop ecx
xor eax, eax
jmp 0x42302c