Function at 0x4238e0
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.00413f90
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.004a1320
mov edi, esi
lea esi, [esp + 0x1c]
call fcn.00410810
test al, al
jne 0x4f2363
call fcn.0041aee0
mov esi, dword [eax + 0x1c]
push 0x190
mov dword [esp + 0x18], esi
call fcn.004aac98
pop ecx
mov dword [esp + 0x1c], eax
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x38], ebx
je 0x42397c
push eax
call fcn.00484860
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.00493db0
test al, al
je 0x423c41
push 0xb8
call fcn.004aac98
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x38], 1
je 0x4f22be
mov edi, dword [edi]
push eax
call fcn.00454580
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.00493db0
test al, al
jne 0x423c59
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 0x423a36
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 0x423cdf
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 0x423cc8
lea eax, [esi + 0x1c]
call fcn.004238b0
fstp dword [ebx + 0xd0]
lea eax, [esi + 0xc]
call fcn.004238b0
fstp dword [esp + 0x1c]
lea eax, [esi + 0x14]
call fcn.004238b0
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.004238b0
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.0045f390
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.0043d9b0
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.004238b0
fstp dword [ebx + 0xd4]
lea eax, [esi + 0x2c]
call fcn.004238b0
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.00413d40
lea eax, [esi + 0xb8]
call fcn.004238b0
fst dword [ebx + 0x118]
fstp dword [ebx + 0x114]
fldz
fcom dword [esi + 0xb0]
fnstsw ax
test ah, 0x44
jp 0x4f22c5
fstp st(0)
and dword [ebx + 0x120], 0
and dword [ebx + 0x124], 0
lea eax, [esi + 0x5c]
call fcn.004238b0
fstp dword [esp + 0x14]
lea eax, [esi + 0x6c]
call fcn.004238b0
fstp dword [esp + 0x1c]
fldz
fcom dword [esp + 0x14]
fnstsw ax
test ah, 0x44
jp 0x4f22f4
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x44
jp 0x4f22f6
push edi
mov ecx, ebx
call fcn.00413ce0
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.004241e0
test al, al
jne 0x4239de
jmp 0x4f2260
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.00462810
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.004095d0
mov esi, dword [esp + 0x14]
jmp 0x4239f3
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 0x423a83
mov edi, dword [ebp + 8]
add edi, 0xb8
mov ecx, edi
call fcn.00493db0
test al, al
je 0x4239de
mov edi, dword [edi]
lea eax, [esi + 0xd0]
push eax
mov eax, edi
call fcn.0046cf40
mov edi, eax
test edi, edi
je 0x4239de
push dword [esi + 0xec]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x18]
push 0xb8
call fcn.004aac98
pop ecx
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x38], 2
jne 0x4239be
xor eax, eax
jmp 0x4239c4
lea ecx, [esi + 0xb4]
fcomp dword [ecx]
fnstsw ax
test ah, 0x44
jnp 0x423bdc
fld dword [ecx]
push ecx
push ecx
fstp dword [esp + 4]
fld dword [esi + 0xb0]
fstp dword [esp]
push ebx
call fcn.0051ca73
jmp 0x423bdc
fstp st(0)
mov eax, ebx
call fcn.00458360
push 0x44
call fcn.004aac98
mov edi, eax
test edi, edi
pop ecx
je 0x4f2344
fldz
push ecx
lea eax, [esi + 0x74]
fstp dword [esp]
call fcn.004238b0
push ecx
lea eax, [esi + 0x64]
fstp dword [esp]
call fcn.004238b0
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.00432820
jmp 0x4f2346
xor eax, eax
test eax, eax
je 0x4f2354
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
lea eax, [ecx + eax + 4]
push eax
push ebx
call fcn.00435cd0
mov edi, dword [ebp + 8]
jmp 0x423c22
mov eax, dword [0x5ab9e4]
mov ecx, dword [eax]
push 0x55cdd0
push eax
call dword [ecx + 0xcc]
pop ecx
pop ecx
xor eax, eax
jmp 0x423c2c