Function at 0x403cd0
Capabilities:
Get number of processors

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x467cd0
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x64
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x24]
mov dword [esi + 0x10], eax
call fcn.00453bf0
lea ecx, [esp + 0x18]
call fcn.00453bf0
lea ecx, [esp + 0x3c]
call fcn.00453bf0
lea ecx, [esp + 0x30]
call fcn.00453bf0
lea ecx, [esp + 0x54]
call fcn.00453bf0
lea ecx, [esp + 0x48]
call fcn.00453bf0
lea ecx, [esp + 0x60]
call fcn.00453bf0
mov eax, dword [esi + 0x10]
dec eax
cmp eax, 0xc
ja case.0x403d3f.2
jmp dword [eax*4 + 0x404578]
mov eax, dword [0x47fb20]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0x3f34fdf4
mov dword [esp + 0x28], 0x3f34fdf4
mov dword [esp + 0x2c], 0x3f34fdf4
mov dword [esp + 0x18], 0xbf34fdf4
mov dword [esp + 0x1c], 0x3f34fdf4
mov dword [esp + 0x20], 0xbf34fdf4
mov dword [esp + 0x3c], 0xbf34fdf4
mov dword [esp + 0x40], 0x3f34fdf4
mov dword [esp + 0x44], 0x3f34fdf4
mov dword [esp + 0x30], 0x3f34fdf4
mov dword [esp + 0x34], 0x3f34fdf4
mov dword [esp + 0x38], 0xbf34fdf4
push ecx
mov ecx, dword [eax + 0xa0]
push edx
call fcn.00432c00
mov eax, dword [0x47fb20]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [eax + 0xa4]
push edx
call fcn.00432c00
mov eax, dword [0x47fb20]
push 0x3f000000
mov ecx, dword [eax + 0xa4]
mov edx, dword [eax + 0xa0]
push ecx
mov ecx, dword [eax + 0xa8]
push edx
call fcn.00432eb0
mov edx, dword [0x47fb20]
lea eax, [esp + 0x48]
lea ecx, [esp + 0x54]
push eax
push ecx
mov ecx, dword [edx + 0xa8]
call fcn.00432fb0
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
mov eax, dword [0x47fb20]
mov edi, dword [esi + 0x18]
mov ecx, dword [eax + 0x6a8]
mov edx, dword [ecx + 0x14]
mov dword [esi + 0x8c], edx
mov eax, dword [0x47fb20]
fld dword [0x46f3d4]
mov ecx, dword [eax + 0x6a8]
fadd dword [ecx + 0x18]
fstp dword [esi + 0x90]
mov edx, dword [0x47fb20]
mov ecx, dword [esi + 0x90]
mov eax, dword [edx + 0x6a8]
mov edx, dword [esi + 0x8c]
mov dword [esp + 0xc], edx
fld dword [eax + 0x1c]
fsub dword [0x46f3d8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 8]
fsub dword [0x46f248]
fst dword [esi + 0x94]
fstp dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
mov eax, dword [edi]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push ecx
push edi
call dword [eax + 0xbc]
test eax, eax
jge 0x403ebd
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov edx, dword [0x47fb20]
lea edi, [esi + 0x98]
mov eax, dword [edx + 0x6a8]
fld dword [eax + 0x14]
fsub dword [esi + 0x8c]
fstp dword [edi]
mov ecx, dword [0x47fb20]
fld dword [0x46f3e0]
mov edx, dword [ecx + 0x6a8]
fadd dword [edx + 0x18]
fsub dword [esi + 0x90]
fstp dword [esi + 0x9c]
mov eax, dword [0x47fb20]
mov ecx, dword [eax + 0x6a8]
fld dword [ecx + 0x1c]
fsub dword [esi + 0x94]
mov ecx, edi
fstp dword [esi + 0xa0]
call fcn.00453da0
jmp 0x40434d
mov edx, dword [0x47fb20]
mov edi, dword [esi + 0x18]
mov eax, dword [edx + 0x6a8]
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x8c], ecx
mov edx, dword [0x47fb20]
fld dword [0x46f3d4]
mov eax, dword [edx + 0x6a8]
fadd dword [eax + 0x18]
fstp dword [esi + 0x90]
mov ecx, dword [0x47fb20]
mov eax, dword [esi + 0x90]
mov dword [esp + 0xc], eax
mov edx, dword [ecx + 0x6a8]
mov ecx, dword [esi + 0x8c]
fld dword [edx + 0x1c]
fsub dword [0x46f3d8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc]
fst dword [esi + 0x94]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0xc]
push ecx
push eax
push edi
call dword [edx + 0xbc]
test eax, eax
jge 0x403faf
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov ecx, dword [0x47fb20]
lea edi, [esi + 0x98]
mov edx, dword [ecx + 0x6a8]
fld dword [edx + 0x14]
fsub dword [esi + 0x8c]
fstp dword [edi]
mov eax, dword [0x47fb20]
fld dword [0x46f3e0]
mov ecx, dword [eax + 0x6a8]
fadd dword [ecx + 0x18]
mov ecx, edi
fsub dword [esi + 0x90]
fstp dword [esi + 0x9c]
mov edx, dword [0x47fb20]
mov eax, dword [edx + 0x6a8]
fld dword [eax + 0x1c]
fsub dword [esi + 0x94]
fstp dword [esi + 0xa0]
call fcn.00453fe0
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x9c]
mov eax, dword [edi]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004046a0
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
mov ecx, dword [0x47fb20]
mov edi, dword [esi + 0x18]
mov edx, dword [ecx + 0x6a8]
mov eax, dword [edx + 0x14]
mov dword [esi + 0x8c], eax
mov ecx, dword [0x47fb20]
fld dword [0x46f3e8]
mov edx, dword [ecx + 0x6a8]
fadd dword [edx + 0x18]
fstp dword [esi + 0x90]
mov eax, dword [0x47fb20]
mov edx, dword [esi + 0x90]
fld dword [0x46f3ec]
mov ecx, dword [eax + 0x6a8]
mov eax, dword [esi + 0x8c]
mov dword [esp + 0xc], edx
fadd dword [ecx + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
fst dword [esi + 0x94]
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
mov ecx, dword [edi]
push edx
mov edx, dword [esp + 0xc]
push eax
push edx
push edi
call dword [ecx + 0xbc]
test eax, eax
jge 0x4040c6
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov eax, dword [0x47fb20]
lea edi, [esi + 0x98]
mov ecx, dword [eax + 0x6a8]
fld dword [ecx + 0x14]
fsub dword [esi + 0x8c]
fstp dword [edi]
mov edx, dword [0x47fb20]
fld dword [0x46f3f0]
mov eax, dword [edx + 0x6a8]
fadd dword [eax + 0x18]
fsub dword [esi + 0x90]
fstp dword [esi + 0x9c]
mov ecx, dword [0x47fb20]
mov edx, dword [ecx + 0x6a8]
mov ecx, edi
fld dword [edx + 0x1c]
fsub dword [esi + 0x94]
fstp dword [esi + 0xa0]
call fcn.00453fe0
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x9c]
mov edx, dword [edi]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004046a0
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
mov eax, dword [0x47fb20]
mov edi, dword [esi + 0x18]
fld dword [0x46f3d8]
mov ecx, dword [eax + 0x6a8]
fadd dword [ecx + 0x14]
fstp dword [esi + 0x8c]
mov edx, dword [0x47fb20]
fld dword [0x46f3d4]
mov eax, dword [edx + 0x6a8]
fadd dword [eax + 0x18]
fstp dword [esi + 0x90]
mov ecx, dword [0x47fb20]
mov eax, dword [esi + 0x90]
mov dword [esp + 0xc], eax
mov edx, dword [ecx + 0x6a8]
mov ecx, dword [esi + 0x8c]
fld dword [edx + 0x1c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc]
fst dword [esi + 0x94]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0xc]
push ecx
push eax
push edi
call dword [edx + 0xbc]
test eax, eax
jge 0x4041dd
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov ecx, dword [0x47fb20]
mov edx, dword [ecx + 0x6a8]
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x7c], 0
test eax, eax
je 0x404207
mov ecx, dword [eax]
lea edx, [esp + 0x7c]
push edx
push 0x479108
push eax
call dword [ecx]
mov esi, dword [esi + 0x18]
mov ecx, dword [esp + 0x7c]
push 0
push ecx
mov eax, dword [esi]
push esi
mov dword [esp + 0x80], 0
call dword [eax + 0xe8]
test eax, eax
jge 0x404235
push 0x4790f8
push esi
push eax
call fcn.0045c300
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x74], 0xffffffff
test eax, eax
je case.0x403d3f.2
mov edx, dword [eax]
push eax
call dword [edx + 8]
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
mov eax, dword [0x47fb20]
mov edi, dword [esi + 0x18]
mov ecx, dword [eax + 0x6a8]
mov edx, dword [ecx + 0x14]
mov dword [esi + 0x8c], edx
mov eax, dword [0x47fb20]
fld dword [0x46f3d4]
mov ecx, dword [eax + 0x6a8]
fadd dword [ecx + 0x18]
fstp dword [esi + 0x90]
mov edx, dword [0x47fb20]
mov ecx, dword [esi + 0x90]
mov dword [esp + 0xc], ecx
mov eax, dword [edx + 0x6a8]
mov edx, dword [esi + 0x8c]
fld dword [eax + 0x1c]
fsub dword [0x46f3d8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc]
fst dword [esi + 0x94]
fstp dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
mov eax, dword [edi]
push ecx
mov ecx, dword [esp + 0xc]
push edx
push ecx
push edi
call dword [eax + 0xbc]
test eax, eax
jge 0x4042ee
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov edx, dword [0x47fb20]
lea edi, [esi + 0x98]
mov eax, dword [edx + 0x6a8]
fld dword [eax + 0x14]
fsub dword [esi + 0x8c]
fstp dword [edi]
mov ecx, dword [0x47fb20]
fld dword [0x46f3e0]
mov edx, dword [ecx + 0x6a8]
fadd dword [edx + 0x18]
fsub dword [esi + 0x90]
fstp dword [esi + 0x9c]
mov eax, dword [0x47fb20]
mov ecx, dword [eax + 0x6a8]
fld dword [ecx + 0x1c]
fsub dword [esi + 0x94]
mov ecx, edi
fstp dword [esi + 0xa0]
call fcn.00453fe0
mov edx, dword [esi + 0xa0]
mov eax, dword [esi + 0x9c]
mov ecx, dword [edi]
push edx
push eax
push ecx
mov ecx, esi
call fcn.004046a0
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
push 0
push 0
push 0xc3160000
mov ecx, esi
call fcn.004045b0
push 0
push 0x3f800000
push 0
push 0
push 0
push 0x3f800000
mov ecx, esi
call fcn.00404610
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
mov edx, dword [0x47fb20]
mov edi, dword [esi + 0x18]
mov eax, dword [edx + 0x6a8]
mov ecx, dword [eax + 0x14]
mov dword [esi + 0x8c], ecx
mov edx, dword [0x47fb20]
fld dword [0x46f3f4]
mov eax, dword [edx + 0x6a8]
fadd dword [eax + 0x18]
fstp dword [esi + 0x90]
mov ecx, dword [0x47fb20]
mov eax, dword [esi + 0x90]
mov dword [esp + 0xc], eax
mov edx, dword [ecx + 0x6a8]
mov ecx, dword [esi + 0x8c]
fld dword [edx + 0x1c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc]
fst dword [esi + 0x94]
fstp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0xc]
push ecx
push eax
push edi
call dword [edx + 0xbc]
test eax, eax
jge 0x40443c
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov edi, dword [esi + 0x18]
push 0x3f800000
push 0
push 0
mov ecx, dword [edi]
push 0
push 0xbf800000
push 0
push edi
call dword [ecx + 0x150]
test eax, eax
jge 0x40446a
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov edx, dword [0x47fb20]
mov eax, dword [edx + 0x6a8]
mov eax, dword [eax + 0x6c]
mov dword [esp + 8], 0
test eax, eax
je 0x404494
mov ecx, dword [eax]
lea edx, [esp + 8]
push edx
push 0x479108
push eax
call dword [ecx]
mov esi, dword [esi + 0x18]
mov ecx, dword [esp + 8]
push 0
push ecx
mov eax, dword [esi]
push esi
mov dword [esp + 0x80], 1
call dword [eax + 0xe8]
test eax, eax
jge 0x4044c2
push 0x4790f8
push esi
push eax
call fcn.0045c300
mov eax, dword [esp + 8]
mov dword [esp + 0x74], 0xffffffff
test eax, eax
je case.0x403d3f.2
mov edx, dword [eax]
push eax
call dword [edx + 8]
pop edi
pop esi
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret 4
mov eax, dword [0x47fb20]
push ebx
fld dword [0x46f3d8]
mov eax, dword [eax + 0x6a8]
lea ebx, [esi + 0x8c]
fchs
lea ecx, [eax + 0x48]
add eax, 0x14
push ecx
push ecx
mov ecx, ebx
fstp dword [esp]
push eax
call fcn.00454060
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
mov ecx, dword [ebx]
mov edi, dword [esi + 0x18]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov edx, dword [edi]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push eax
push edi
call dword [edx + 0xbc]
test eax, eax
pop ebx
jge case.0x403d3f.2
push 0x4790f8
push edi
push eax
call fcn.0045c300
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x70
ret 4