Function at 0x4145b0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x73dc7c
mov eax, dword fs:[0]
push eax
sub esp, 0x32c
mov eax, dword [0x81f390]
xor eax, esp
mov dword [esp + 0x328], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x81f390]
xor eax, esp
push eax
lea eax, [esp + 0x340]
mov dword fs:[0], eax
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x358]
mov ebx, dword [esp + 0x35c]
mov esi, dword [esp + 0x360]
mov edi, dword [esp + 0x354]
push 0
push 1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x36c]
push 1
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x374]
push 0x30000
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x37c]
push eax
push dword [ecx]
mov dword [esp + 0x50], ecx
mov ecx, dword [0x833348]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], eax
mov ecx, dword [ecx + 0xa8]
mov dword [esp + 0x2c], 0
call fcn.0047df30
mov dword [esp + 0x24], eax
cmp dword [eax + 0x5fc], 0
je 0x414ecd
lea ebp, [eax + 0xe8]
mov ecx, ebp
call fcn.00405090
test al, al
je 0x414ecd
cmp byte [esp + 0x370], 0
mov eax, dword [0x833348]
jne 0x4146a3
inc dword [eax + 0x164]
jmp 0x4146a9
inc dword [eax + 0x168]
mov ecx, ebp
mov dword [esi], 0
call fcn.00405170
test al, al
je 0x414c31
cmp ebx, 0x10
jae 0x4146f5
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0x69
lea ecx, [esp + 0x74]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0x64]
push eax
call fcn.006f7cb3
cmp dword [edi + 0x6c], 0x20
jbe 0x41472d
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0x69
lea ecx, [esp + 0x74]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0x64]
push eax
call fcn.006f7cb3
lea ecx, [esp + 0x1b]
call fcn.004c9bd0
lea ecx, [esp + 0x1b]
mov dword [esp + 0x348], 0
call fcn.004c9ce0
mov ecx, dword [0x833348]
mov ebx, eax
push ebx
call fcn.004d6780
push 0x30000
mov ecx, ebp
call fcn.00405080
test eax, eax
je 0x4147ac
cmp eax, 0x10000
je 0x4147ac
cmp eax, 0x20000
jne 0x414860
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0x73
lea ecx, [esp + 0x74]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0x64]
push eax
call fcn.006f7cb3
mov ecx, ebp
call fcn.00625670
mov ecx, ebp
mov dword [esp + 0x14], eax
call fcn.004050e0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4147ce
mov edx, dword [eax + 0x178]
jmp 0x4147d0
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x1c], ecx
test edx, edx
je 0x4147e1
mov ecx, dword [edx + 0x54]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x38]
shr eax, 9
test al, 1
je 0x414836
mov eax, dword [esp + 0x24]
test dword [eax + 0x234], 0x10000
je 0x414836
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0x82
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x20]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00436700
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0xf4]
mov eax, dword [eax + 0x348]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x178]
call fcn.0059d020
mov eax, dword [edi]
lea ecx, [esp + 0x178]
push 0
push 0
and eax, 5
mov byte [esp + 0x350], 1
push eax
push dword [edi + 4]
call fcn.0059e1c0
mov eax, dword [ebx]
lea ecx, [esp + 0x178]
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
push 0
push 1
push dword [esp + 0x1c]
lea eax, [edi + 0xc]
push dword [esp + 0x3c]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x330]
push eax
call fcn.0056e2d0
add esp, 0x1c
movdqu xmm1, xmmword [eax]
movdqu xmmword [esp + 0x3c], xmm1
movdqu xmm0, xmmword [eax + 0x10]
movdqu xmmword [esp + 0x4c], xmm0
mov eax, dword [eax + 0x20]
mov dword [esp + 0x5c], eax
movd eax, xmm1
cmp eax, 7
jne 0x414a20
mov ecx, dword [esp + 0x24]
call fcn.0047bd60
test al, al
je 0x41496b
mov ecx, ebp
call fcn.00625670
mov ecx, ebp
mov esi, eax
call fcn.004050e0
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0
mov ecx, ebx
push dword [esi]
mov eax, dword [eax + 0x58]
call eax
test al, al
jne 0x414967
mov eax, dword [esp + 0x28]
mov dword [eax], 0
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0xca
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
mov esi, dword [esp + 0x28]
push dword [esp + 0x30]
mov eax, dword [ebx]
mov ecx, ebx
push dword [esp + 0x24]
push dword [edi + 0x14]
mov eax, dword [eax + 0x98]
push dword [edi + 8]
call eax
test al, al
jne 0x4149ca
mov dword [esi], 0
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0xca
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
mov dword [esi], 0x10
lea ecx, [esp + 0x178]
mov byte [esp + 0x348], 0
call fcn.0059d190
lea ecx, [esp + 0x1b]
mov dword [esp + 0x348], 0xffffffff
call fcn.004c9ca0
mov ecx, dword [esp + 0x340]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.006f7ca4
add esp, 0x338
ret
test dword [edi + 0xc], 0x20000
je 0x414a55
lea eax, [esp + 0x14]
push eax
call fcn.006e4af0
push dword [esp + 0x5c]
lea eax, [esp + 0x1c]
push dword [esp + 0x28]
push eax
call fcn.006e4b00
lea eax, [esp + 0x24]
push eax
call fcn.006e4ad0
add esp, 0x14
mov dword [edi + 0x30], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], 0
call fcn.0047bcf0
test al, al
jne 0x414a7b
mov ecx, dword [esp + 0x24]
call fcn.0047bd60
test al, al
je 0x414b39
cmp dword [esp + 0x50], 0
jne 0x414b39
cmp dword [edi + 0x6c], 0
jne 0x414b39
cmp dword [esp + 0x3c], 2
je 0x414b39
mov ecx, ebp
call fcn.00625670
mov ecx, ebp
mov esi, eax
call fcn.004050e0
mov eax, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x31c]
push ecx
push dword [edi + 8]
mov eax, dword [eax + 0x54]
mov ecx, ebx
push dword [esi]
call eax
test al, al
jne 0x414b0f
mov eax, dword [esp + 0x28]
mov dword [eax], 0
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0xca
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
movdqu xmm0, xmmword [esp + 0x318]
mov esi, dword [esp + 0x28]
mov dword [edi + 0x6c], 0x20
movdqu xmmword [edi + 0x70], xmm0
movdqu xmm0, xmmword [esp + 0x328]
movdqu xmmword [edi + 0x80], xmm0
push dword [edi + 0x6c]
mov edx, dword [ebx]
lea eax, [edi + 0x70]
push eax
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x4c]
push dword [edi + 8]
push eax
call dword [edx + 0x90]
test eax, eax
jne 0x414bab
cmp dword [esp + 0x1c], 0x5f0
mov eax, 0xca
mov esi, 0xda
cmovne esi, eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push esi
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
mov eax, dword [esp + 0x30]
mov dword [esi], eax
test dword [edi + 0xc], 0x10000
je 0x4149d0
lea eax, [esp + 0x14]
push eax
call fcn.006e4af0
push dword [esp + 0x5c]
lea eax, [esp + 0x1c]
push dword [esp + 0x28]
push eax
call fcn.006e4b00
lea eax, [esp + 0x24]
push eax
call fcn.006e4ad0
add esp, 0x14
cmp dword [edi + 0x30], eax
je 0x4149d0
mov dword [esi], 0
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0xcb
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
mov ecx, ebp
call fcn.00405180
test al, al
je 0x414e95
mov ecx, ebp
call fcn.004f4890
cmp byte [esp + 0x370], 0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov dword [ecx], eax
jne 0x414dfd
lea ecx, [esp + 0x178]
call fcn.0040b880
push 0x58
lea eax, [esp + 0x64]
mov dword [esp + 0x34c], 2
push 0
push eax
call fcn.006f87a0
mov eax, dword [edi + 0x6c]
lea ecx, [esp + 0x184]
movdqu xmm0, xmmword [edi + 0x5c]
mov dword [esp + 0xa0], eax
add esp, 0xc
mov eax, dword [edi]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0x18]
push 0
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x1c]
push ebx
push dword [esp + 0x3c]
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0x10]
movdqu xmmword [esp + 0x90], xmm0
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x6c]
movdqu xmm0, xmmword [edi + 0x70]
push eax
push dword [esp + 0x3c]
movdqu xmmword [esp + 0xac], xmm0
movdqu xmm0, xmmword [edi + 0x80]
push dword [esp + 0x28]
movdqu xmmword [esp + 0xc0], xmm0
call fcn.004150f0
lea eax, [ebx + 0x64]
mov ecx, ebp
push eax
lea eax, [ebx + 0x6c]
push eax
push 0xa1
lea eax, [esp + 0x184]
push eax
call fcn.006c1f50
mov ecx, eax
call fcn.004b6480
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x180]
push dword [esp + 0x20]
mov dword [ecx], eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x180]
call fcn.00413c30
movdqu xmm0, xmmword [esp + 0x84]
mov dword [esi], eax
mov eax, dword [esp + 0x94]
movdqu xmmword [edi + 0x5c], xmm0
mov dword [edi + 0x6c], eax
movdqu xmm0, xmmword [esp + 0x98]
mov eax, dword [esp + 0x60]
mov dword [edi], eax
mov eax, dword [esp + 0x64]
movdqu xmmword [edi + 0x70], xmm0
mov dword [edi + 4], eax
movdqu xmm0, xmmword [esp + 0xa8]
mov eax, dword [esp + 0x68]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x6c]
movdqu xmmword [edi + 0x80], xmm0
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x178]
mov dword [edi + 0x30], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [edi + 0x10], eax
mov dword [esp + 0x348], 0xffffffff
call fcn.0040c670
jmp 0x4149f8
lea ecx, [esp + 0x178]
call fcn.0040a9b0
push 0
push ebx
push dword [esp + 0x3c]
lea ecx, [esp + 0x184]
mov dword [esp + 0x354], 3
push edi
push dword [esp + 0x3c]
push dword [esp + 0x28]
call fcn.00415070
lea eax, [ebx + 0xbc]
mov ecx, ebp
push eax
lea eax, [ebx + 0xc4]
push eax
push 0xa1
lea eax, [esp + 0x184]
push eax
call fcn.006c1f50
mov ecx, eax
call fcn.004b6480
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x20]
mov eax, dword [esp + 0x184]
push edi
mov dword [ecx], eax
lea ecx, [esp + 0x180]
call fcn.00413bb0
lea ecx, [esp + 0x178]
mov dword [esi], eax
mov dword [esp + 0x348], 0xffffffff
call fcn.0040c0e0
jmp 0x4149f8
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
push 0x74
lea ecx, [esp + 0x100]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0xf0]
push eax
call fcn.006f7cb3
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
push eax
call fcn.004f68c0
mov ecx, dword [esp + 0x28]
push eax
push dword [ecx]
lea ecx, [esp + 0x74]
call fcn.004f91a0
push 0x7c24a4
lea eax, [esp + 0x64]
push eax
call fcn.006f7cb3
int3