Function at 0x466e7230
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4672061b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa8
mov eax, dword [0x46736624]
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x46738c08
mov dword [esp + 0xb8], eax
mov dword [esp + 0x30], ebx
call fcn.466cff30
test eax, eax
je 0x466e7351
push ebx
lea eax, [esp + 0x1c]
push eax
push 0x46738c08
call fcn.466cffe0
push eax
push 0x46738c08
call fcn.466cfbb0
mov esi, eax
cmp esi, ebx
je 0x466e7351
xor ecx, ecx
mov dword [esp + 0x3e], ecx
mov dword [esp + 0x42], ecx
mov dword [esp + 0x46], ecx
mov dword [esp + 0x4a], ecx
mov dword [esp + 0x4e], ecx
mov dword [esp + 0x52], ecx
push 0x14
mov dword [esp + 0x5a], ecx
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0x62], ecx
push esi
mov dword [esp + 0x6a], ecx
push 0x46738c08
mov word [esp + 0x4c], bx
mov word [esp + 0x72], cx
call fcn.466d67b0
lea eax, [esp + 0x3c]
push 0x46724928
push eax
call fcn.4670625f
add esp, 8
test eax, eax
je 0x466e7300
push 0xf
push 0x46738c08
call fcn.466cfd40
test eax, eax
jne 0x466e7351
push esi
push 0x46738c08
call fcn.466cf7e0
test eax, eax
jne 0x466e7333
nop
cmp dword [0x46738c14], ebx
je 0x466e7333
push 0x64
push 0x46738c08
call fcn.466cc360
push esi
push 0x46738c08
call fcn.466cf7e0
test eax, eax
je 0x466e7310
mov ecx, dword [esp + 0x18]
push ecx
push 0x46738c08
call fcn.466d63e0
push 0x7d0
push 0x46738c08
call fcn.466cc360
push 0x46738c08
call fcn.466d0090
test eax, eax
mov edi, dword [0x4672234c]
je 0x466e7451
push ebx
lea edx, [esp + 0x1c]
push edx
push 0x46738c08
call fcn.466d0090
push eax
push 0x46738c08
call fcn.466cfbb0
mov esi, eax
cmp esi, ebx
je 0x466e7451
push esi
push 0x46738c08
call fcn.466cf7e0
test eax, eax
jne 0x466e73c3
lea ecx, [ecx]
cmp dword [0x46738c14], ebx
je 0x466e73c3
push 0x64
push 0x46738c08
call fcn.466cc360
push esi
push 0x46738c08
call fcn.466cf7e0
test eax, eax
je 0x466e73a0
mov eax, dword [esp + 0x18]
push eax
push 0x46738c08
call fcn.466d63e0
call edi
push 0x46738c08
mov esi, eax
call fcn.466d0090
test eax, eax
je 0x466e7411
cmp dword [0x46739a34], ebx
jne 0x466e7411
call edi
sub eax, esi
cmp eax, 0xbb8
jae 0x466e7411
push 0x64
push 0x46738c08
call fcn.466cc360
push 0x46738c08
call fcn.466d0090
test eax, eax
jne 0x466e73e4
push 0x46738c08
call fcn.466cfd70
test eax, eax
je 0x466e7442
nop
cmp dword [0x46739a34], ebx
jne 0x466e7442
push 0x64
push 0x46738c08
call fcn.466cc360
push 0x46738c08
call fcn.466cfd70
test eax, eax
jne 0x466e7420
push 0x3e8
push 0x46738c08
call fcn.466cc360
call fcn.466e1b00
fild dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xcc]
fstp dword [esp + 0x10]
mov esi, dword [esp + 0x10]
push 0
push esi
push edi
push ebx
push ebp
call fcn.466ddd30
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466e7e47
call fcn.466e1450
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466e7e47
call fcn.466de150
call fcn.466de8a0
mov eax, dword [0x46738d28]
test eax, eax
je 0x466e755b
mov esi, dword [0x4672234c]
call esi
sub eax, dword [0x46738d2c]
cmp eax, 0xbb8
jbe 0x466e7557
push 0x46738c08
call fcn.466d4ad0
push 0x46738c08
call fcn.466d9e10
call esi
mov dword [0x46738d2c], eax
mov esi, dword [esp + 0x10]
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466e7e47
mov ecx, dword [esp + 0xd8]
push ecx
push edi
push ebx
push ebp
call fcn.466c5040
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466e7e47
mov eax, dword [0x46738cc4]
test eax, eax
je 0x466e7672
mov eax, dword [0x46738cc8]
test eax, eax
je 0x466e7615
push 0x46738c08
call fcn.466cd1a0
test eax, eax
je 0x466e7672
push 0x46725800
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dbf90
test eax, eax
je 0x466e763a
push 0x46725800
jmp 0x466e765d
push 0x467257f8
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dbf90
test eax, eax
je 0x466e7672
push 0x467257f8
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dc470
push 1
push edi
push ebx
push ebp
push 0x46738c08
call fcn.466d72a0
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x466e7737
push 0x46738c08
call fcn.466d5c80
test eax, eax
je 0x466e76ab
push 0
push 0x1f4
push edi
jmp 0x466e772b
push 0x46738c08
call fcn.466d2990
cmp eax, 0xd0
je 0x466e7722
push 0x46738c08
call fcn.466d2990
cmp eax, 0xd1
je 0x466e7722
push 0x46738c08
call fcn.466d2990
cmp eax, 0xd2
je 0x466e7722
push 0x46738c08
call fcn.466d2990
cmp eax, 0xdd
je 0x466e7722
push 0x46738c08
call fcn.466d2990
cmp eax, 0xde
je 0x466e7722
push 0x46738c08
call fcn.466d2990
cmp eax, 0xe0
je 0x466e7722
push 0
push edi
push ebx
push ebp
push 0x46738c08
call fcn.466db2a0
jmp 0x466e7737
push 0
push 0x1f4
push 0
push ebx
push ebp
push 0x46738c08
call fcn.466d7e40
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466e7e47
push esi
push edi
push ebx
push ebp
call fcn.466e2200
push esi
push edi
push ebx
push ebp
call fcn.466de1b0
push esi
push edi
push ebx
push ebp
call fcn.466de980
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466e7e47
mov edx, dword [esp + 0xc8]
push edx
lea ecx, [esp + 0x1c]
call fcn.466c4830
mov ecx, dword [esp + 0xd8]
push ecx
push edi
push ebx
push ebp
push 0
push 1
push eax
push 0
push 0
mov dword [esp + 0xe4], 0
call fcn.466deef0
lea ecx, [esp + 0x18]
mov esi, eax
mov dword [esp + 0xc0], 0xffffffff
call fcn.466c2330
mov eax, dword [0x46738c9c]
test eax, eax
je 0x466e78d2
test esi, esi
jne 0x466e78da
push 0x46738c08
call fcn.466d5c80
test eax, eax
je 0x466e787f
push 1
push edi
push ebx
push ebp
push 0x46738c08
call fcn.466d72a0
fcomp qword [0x46724778]
fnstsw ax
test ah, 0x41
jne 0x466e7e47
push 0x46738c08
call fcn.466cfe30
test eax, eax
jne 0x466e7e47
push edi
jmp 0x466e78b2
push 0
push edi
push ebx
push ebp
push 0x46738c08
call fcn.466d72a0
fcomp qword [0x46724778]
fnstsw ax
test ah, 0x41
jne 0x466e7e47
push 0x46738c08
call fcn.466cfe30
test eax, eax
jne 0x466e7e47
push eax
push ebx
push ebp
push 0x46738c08
call fcn.466d79b0
push 0xc8
push 0x46738c08
call fcn.466cc360
jmp 0x466e7e47
test esi, esi
je 0x466e7e47
push esi
push 0x46738c08
call fcn.466cc6a0
push edx
push eax
push 0x46738c08
call fcn.466d53d0
mov ecx, dword [0x46738d10]
xor eax, eax
xor edi, edi
cmp ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
mov dword [0x46738d24], 1
je 0x466e7940
mov eax, dword [esp + 0xdc]
test eax, eax
jne 0x466e7940
push 0x46738c08
call fcn.466d7640
test eax, eax
je 0x466e7940
push 0x46738c08
call fcn.466cd4f0
push edx
push eax
push 0x46738c08
call fcn.466d7770
mov eax, dword [0x46738c14]
test eax, eax
je 0x466e7dde
lea ecx, [ecx]
push 0x46738c08
call fcn.466d5150
test eax, eax
je 0x466e7e47
push 0
push 0x46738c08
call fcn.466cd2b0
test eax, eax
je 0x466e7e47
push 0x46738c08
call fcn.466cd4f0
or eax, edx
je 0x466e7dde
push 0x46738c08
call fcn.466cd4f0
xor eax, eax
and edx, 0x80000000
or eax, edx
je 0x466e7e47
lea edx, [esp + 0x2c]
push edx
push 0x46738c08
call fcn.466cd8c0
mov esi, eax
mov eax, dword [esp + 0x2c]
push eax
push 0x46738c08
call fcn.466cd4f0
push edx
push eax
push esi
push 0x46738c08
call fcn.466cf220
push eax
push 0x46738c08
mov dword [esp + 0x2c], eax
call fcn.466ce760
test eax, eax
je 0x466e7e47
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0xd4]
push 1
push esi
push ecx
push ebx
push ebp
call fcn.466ddd30
mov edx, dword [esp + 0xd4]
push esi
push edx
push ebx
push ebp
call fcn.466de980
push edi
push 0x3b
mov ecx, 0x46738d30
call fcn.466c3940
mov esi, eax
cmp esi, 0xffffffff
jne 0x466e7a39
test edi, edi
je 0x466e7e47
xor edi, edi
push edi
push 0x3b
mov ecx, 0x46738d30
call fcn.466c3940
mov esi, eax
mov eax, esi
sub eax, edi
push eax
push edi
lea ecx, [esp + 0x40]
push ecx
mov ecx, 0x46738d30
call fcn.466c3d20
mov edx, dword [eax]
push edx
lea eax, [esp + 0x68]
push eax
call fcn.46705512
add esp, 8
lea ecx, [esp + 0x38]
call fcn.466c2330
mov eax, dword [0x46738c90]
test eax, eax
je 0x466e7a84
test edi, edi
jne 0x466e7a84
mov eax, dword [esp + 0x18]
test eax, eax
je 0x466e7a84
lea edi, [esi + 1]
jmp 0x466e7dc5
mov ecx, dword [esp + 0x24]
push ecx
push 0x46738c08
lea edi, [esi + 1]
call fcn.466cc6a0
xor eax, eax
and edx, 0x80000000
or eax, edx
je 0x466e7ac2
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edx
push 0x46738c08
call fcn.466cedb0
jmp 0x466e7ae0
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
push 0x46738c08
call fcn.466cecc0
mov eax, dword [0x46739a9c]
test eax, eax
je 0x466e7b1b
mov ecx, 0x46739af0
call fcn.466cb410
push eax
push 0x46738c08
call fcn.466d8e30
test eax, eax
je 0x466e7b1b
mov ecx, 0x46739af0
call fcn.466cb410
push eax
push 0x46738c08
call fcn.466d5f10
test eax, eax
jne 0x466e7b72
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x18]
push ebx
push ebp
push edx
push eax
push ecx
push 0x46738c08
call fcn.466d73f0
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x466e7dde
mov edx, dword [esp + 0xd4]
push 1
push edx
push ebx
push ebp
push 0x46738c08
call fcn.466d72a0
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x466e7dde
call fcn.466de8a0
mov esi, dword [esp + 0xdc]
test esi, esi
je 0x466e7bb5
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x34]
push ecx
push edx
push 0x46738c08
call fcn.466ce890
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x466e7bb5
mov eax, dword [esp + 0x30]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, esi
jle 0x466e7e47
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x466e7bef
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push 1
push eax
push ecx
push edx
push 0x46738c08
call fcn.466d72a0
fild dword [esp + 0xe0]
fcompp
fnstsw ax
test ah, 1
je 0x466e7e47
mov eax, dword [0x46738ccc]
test eax, eax
je 0x466e7c6c
cmp dword [esp + 0x28], 4
jge 0x466e7c6c
mov ecx, dword [esp + 0x24]
push 0x14
lea eax, [esp + 0x90]
push eax
push ecx
push 0x46738c08
call fcn.466cef50
lea edx, [esp + 0x8c]
push 0x467255bc
push edx
call fcn.4670625f
add esp, 8
test eax, eax
jne 0x466e7c4a
lea eax, [esp + 0x8c]
push 0x467255b0
push eax
call fcn.4670625f
add esp, 8
test eax, eax
je 0x466e7c6c
mov ecx, dword [0x46738d54]
push 0
push ecx
push 0x46738c08
call fcn.466dc780
push eax
call fcn.466dfa40
inc dword [esp + 0x28]
jmp 0x466e7dc5
mov eax, dword [0x46738ca8]
test eax, eax
je 0x466e7cb8
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push 1
push edx
push eax
push ecx
push 0x46738c08
call fcn.466d72a0
fild dword [0x46738cac]
fcompp
fnstsw ax
test ah, 1
jne 0x466e7cb8
mov edx, dword [0x46738d48]
push 0
push edx
push 0x46738c08
call fcn.466dc780
push eax
call fcn.466dfa40
mov eax, dword [0x46738cb0]
test eax, eax
je 0x466e7d03
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push 1
push eax
push ecx
push edx
push 0x46738c08
call fcn.466d72a0
fild dword [0x46738cb4]
fcompp
fnstsw ax
test ah, 1
jne 0x466e7d03
mov eax, dword [0x46738d4c]
push 0
push eax
push 0x46738c08
call fcn.466dc780
push eax
call fcn.466dfa40
mov eax, dword [0x46738cb8]
test eax, eax
je 0x466e7d4f
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push 1
push ecx
push edx
push eax
push 0x46738c08
call fcn.466d72a0
fild dword [0x46738cbc]
fcompp
fnstsw ax
test ah, 1
jne 0x466e7d4f
mov ecx, dword [0x46738d50]
push 0
push ecx
push 0x46738c08
call fcn.466dc780
push eax
call fcn.466dfa40
mov edx, dword [esp + 0x24]
push 0
push edx
call fcn.466e02c0
test eax, eax
jne 0x466e7d93
lea eax, [esp + 0x64]
push 0x467255d4
push eax
call fcn.46705943
add esp, 8
test eax, eax
push 0
jne 0x466e7d7e
call fcn.466dff40
jmp 0x466e7d93
lea ecx, [esp + 0x68]
push ecx
push 0x46738c08
call fcn.466dc780
push eax
call fcn.466dfa40
mov eax, dword [0x46738d30]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x466e7dc5
lea edx, [esp + 0x64]
push edx
push eax
call fcn.4670625f
add esp, 8
test eax, eax
je 0x466e7dc5
sub eax, dword [0x46738d30]
sar eax, 1
test eax, eax
jne 0x466e7dc5
mov dword [esp + 0x18], 1
push 0x64
push 0x46738c08
call fcn.466cc360
mov eax, dword [0x46738c14]
test eax, eax
jne 0x466e7950
mov ecx, dword [0x467399f8]
xor eax, eax
cmp ecx, eax
mov dword [0x46738d24], eax
push eax
je 0x466e7e24
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x20]
mov dword [0x467399f8], eax
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x20]
push ebx
push ebp
push edx
push eax
push ecx
call fcn.466e0ae0
mov dword [0x467399f8], 1
jmp 0x466e7e47
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x20]
push ebx
push ebp
push ecx
push edx
push eax
call fcn.466e0ae0
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xa8]
pop ebx
call fcn.4670569d
add esp, 0xb4
ret 0x1c