Function at 0x42ea29
Capabilities:
Get number of processors

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x478b78
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 8]
cmp eax, 0x16
push edi
ja case.default.0x42ea39
jmp dword [eax*4 + 0x42eec8]
mov ecx, esi
mov dword [esi + 0x1c], eax
call fcn.0042e5e0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
mov eax, dword [0x49e87c]
mov ebx, dword [0x49e880]
mov edi, dword [0x47a208]
push ebp
push 0x258
push 0x320
push 0
push 0
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0x24], eax
mov dword [esi + 4], 5
call edi
mov edx, dword [ebx]
push 0
push 0x88888888
mov ecx, ebx
call dword [edx + 0x44]
push 0x6e
push 0x360
push 0
push 0x288
lea eax, [esp + 0x24]
push eax
call edi
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
lea eax, [esp + 0x14]
push eax
push 0
call dword [edx + 0x30]
push 0x6e
push 0xd8
push 0
push 0
lea ecx, [esp + 0x24]
push ecx
call edi
movzx eax, byte [0x490d10]
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
lea ebp, [esp + 0x14]
push ebp
mov ebp, eax
shl ebp, 8
or ebp, eax
shl ebp, 8
or ebp, eax
push ebp
call dword [edx + 0x30]
push 0x6e
push 0x288
push 0
push 0x1b0
lea eax, [esp + 0x24]
push eax
call edi
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
push 0
push 0
push ecx
lea eax, [esp + 0x20]
push eax
push ecx
push 0
push 0x288
call dword [edx + 0x94]
push 0x6e
push 0xd8
push 0
push 0
lea ecx, [esp + 0x54]
push ecx
call edi
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
lea eax, [esp + 0x44]
push eax
movzx eax, byte [0x490d13]
shl eax, 8
movzx ebp, byte [0x490d12]
or eax, ebp
movzx ebp, byte [0x490d11]
shl eax, 8
or eax, ebp
push eax
call dword [edx + 0x30]
push 0x163
push 0x1fc
push 0xf5
push 0x124
lea ecx, [esp + 0x24]
push ecx
call edi
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
lea eax, [esp + 0x14]
push eax
push ebx
xor ebp, ebp
push ebp
push 0x360
call dword [edx + 0x60]
push 0x6e
push 0xd8
push ebp
push ebp
lea ecx, [esp + 0x24]
push ecx
call edi
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
push ebp
push 0x288
push ecx
lea eax, [esp + 0x20]
push eax
push ecx
push ebp
push 0x360
call dword [edx + 0x94]
mov ecx, dword [esi + 0x30]
push ebp
push 0xd8
push ecx
lea eax, [esp + 0x30]
push eax
push ecx
push ebp
mov dword [esp + 0x3c], 0x1b0
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], 0x288
mov dword [esp + 0x48], 0x6e
mov edx, dword [ecx]
push 0x360
call dword [edx + 0x94]
push 0x6e
push 0x438
push ebp
push 0x360
lea ecx, [esp + 0x24]
push ecx
call edi
mov ecx, dword [esi + 0x30]
mov edx, dword [ebx]
lea eax, [esp + 0x14]
push eax
push ecx
push 0xf5
push 0x124
mov ecx, ebx
call dword [edx + 0x60]
push 0x46
push 0xd8
push ebp
push ebp
lea edx, [esp + 0x24]
push edx
call edi
lea ecx, [esp + 0x34]
call fcn.0043a6c0
push 0xbc8d82
lea ecx, [esp + 0x38]
mov dword [esp + 0x80], ebp
call fcn.0043aa40
push 0x47a584
lea eax, [esi + 0x64]
push eax
call dword [0x47a0f8]
mov edx, dword [esi + 0xa0]
mov eax, 0x10
mov dword [esi + 0x48], eax
mov word [esi + 0x9c], ax
lea edi, [esi + 0xa0]
lea eax, [esi + 0x40]
push eax
mov ecx, edi
mov dword [esi + 0x4c], 8
call dword [edx + 0x4c]
mov ecx, dword [esp + 0x38]
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x58]
mov eax, dword [edi]
mov ebp, dword [ebx]
push 0xff00ff
lea edx, [esp + 0x18]
push edx
mov ecx, edi
call dword [eax + 0x40]
push eax
push 0x103
push 0x124
mov ecx, ebx
call dword [ebp + 0x64]
mov edx, dword [edi]
mov eax, 0x12
mov dword [esi + 0x48], eax
mov word [esi + 0x9c], ax
lea eax, [esi + 0x40]
push eax
mov ecx, edi
mov dword [esi + 0x4c], 9
call dword [edx + 0x4c]
push 0
mov ecx, esi
call fcn.0042d7d0
mov ecx, dword [esp + 0x10]
or edi, 0xffffffff
mov dword [esi + 8], edi
mov eax, dword [ecx]
push 0
call dword [eax + 0x28]
lea ecx, [esp + 0x34]
mov dword [esp + 0x7c], edi
call fcn.0043a700
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
push 0
mov ecx, esi
call fcn.0042db50
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
mov eax, dword [esi + 4]
cmp eax, 5
jne 0x42ed63
xor edi, edi
jmp 0x42ed50
push edi
mov ecx, 0xcd2fb0
call fcn.0040e520
inc edi
cmp edi, 0x64
jb 0x42ed50
jmp 0x42ed7c
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
cmp eax, 6
lea eax, [edx + ecx*4]
mov ecx, 0xcd2fb0
push eax
jne 0x42eda1
call fcn.0040e520
mov ecx, 0xcd2fb0
call fcn.0040e560
mov ecx, esi
call fcn.0042e490
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
call fcn.0040e7e0
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
lea eax, [edx + ecx*4]
mov edi, eax
and edi, 0x80000003
jns 0x42edbe
dec edi
or edi, 0xfffffffc
inc edi
cdq
imul edi, edi, 0x78
push 0x5a
push 0x78
and edx, 3
add eax, edx
push 0
mov ebx, eax
push 0
lea eax, [esp + 0x60]
sar ebx, 2
push eax
imul ebx, ebx, 0x5a
call dword [0x47a208]
mov ecx, dword [esi + 0x3c]
mov edx, dword [0x49e8b8]
push 0x5a
push 0x78
push ecx
push edx
mov ecx, 0x49e860
call fcn.00402ef0
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx]
lea edx, [esp + 0x50]
push edx
mov edx, dword [esi + 0x3c]
push edx
push ebx
push edi
call dword [eax + 0x60]
mov ecx, esi
call fcn.0042e490
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
add esp, 0x70
ret
mov dword [esi + 0x18], 0
jmp case.default.0x42ea39
mov dword [esi + 0x18], 1
jmp case.default.0x42ea39
mov dword [esi + 0x18], 2
jmp case.default.0x42ea39
mov dword [esi + 0x18], 3
jmp case.default.0x42ea39
mov dword [esi + 0x18], 4
jmp case.default.0x42ea39
mov dword [esi + 0x18], 5
jmp case.default.0x42ea39
mov dword [esi + 0x18], 6
jmp case.default.0x42ea39
mov dword [esi + 0x18], 7
jmp case.default.0x42ea39
mov dword [esi + 0x18], 8
jmp case.default.0x42ea39
mov dword [esi + 0x18], 9
jmp case.default.0x42ea39
mov dword [esi + 0x18], 0xa
jmp case.default.0x42ea39
mov dword [esi + 0x18], 0xb
jmp case.default.0x42ea39
mov dword [esi + 0x18], 0xc
jmp case.default.0x42ea39
mov dword [esi + 0x18], 0xd
jmp case.default.0x42ea39
mov dword [esi + 0x18], 0xe
mov ecx, dword [esp + 0x70]
pop edi
pop esi
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret