Function at 0x1400935d0
Capabilities:
Get number of processors

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1401a7d98]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r12b, dl
mov rsi, rcx
and dword [rbp + 0x24], 0
test byte [rcx], 8
jne 0x140093dfc
and qword [rbp + 0x40], 0
lea rax, [rbp + 0x28]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x28]
mov qword [rbp + 0x38], rax
xor r14d, r14d
mov qword [rbp + 0x10], r14
and qword [rbp + 0x18], r14
mov edx, dword [rcx + 0x10]
mov eax, edx
and eax, 1
test dl, 2
lea rcx, [rax + 1]
cmove rcx, rax
test dl, 4
lea rax, [rcx + 1]
cmove rax, rcx
test dl, 8
lea rcx, [rax + 1]
cmove rcx, rax
test dl, 0x10
lea rax, [rcx + 1]
cmove rax, rcx
test dl, 0x20
lea rcx, [rax + 1]
cmove rcx, rax
mov r13b, 0x80
test r13b, dl
lea rax, [rcx + 1]
cmove rax, rcx
mov r8d, 0x100
test r8d, edx
lea r15, [rax + 1]
cmove r15, rax
xor ebx, ebx
test r12b, r12b
je 0x140093714
mov edx, dword [rsi + 0xc]
mov eax, edx
and eax, 1
test dl, 2
lea rcx, [rax + 1]
cmove rcx, rax
test dl, 4
lea rax, [rcx + 1]
cmove rax, rcx
test dl, 8
lea rcx, [rax + 1]
cmove rcx, rax
test dl, 0x10
lea rax, [rcx + 1]
cmove rax, rcx
test dl, 0x20
lea rcx, [rax + 1]
cmove rcx, rax
test r13b, dl
lea rax, [rcx + 1]
cmove rax, rcx
test r8d, edx
lea rcx, [rax + 1]
cmove rcx, rax
lea rax, [rcx + r15]
cmp rax, r15
jb 0x14009375b
cmp rax, rcx
jb 0x14009375b
mov r15, rax
mov edi, 0x18
test r15, r15
je 0x14009376b
mov eax, edi
mul r15
mov r8, rax
lea rax, [rdi - 0x19]
cmovo r8, rax
mov rax, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
test rax, rax
je 0x140093765
mov r14, rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], r15
jmp 0x140093772
mov edi, 0xc0000095
jmp 0x140093d36
mov r14, qword [rbp + 0x10]
jmp 0x140093777
lea rax, [0x14014663b]
test rax, rax
jne 0x1400937ad
lea rax, str.onecore_basewcpidentity_attribute_value_collection.cpp
mov qword [rsp + 0x48], rax
lea rax, str.Windows::Identity::Rtl::Implementation::CAttributeValueCollection::UpdateAllAttributesVector
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0xe6
lea rax, str.AllAttributes.Allocate_cTotalAttributes_
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x48]
jmp 0x140093d26
and qword [rsp + 0x20], rbx
lea rax, reloc.OLEAUT32.dll_VariantClear
mov qword [rsp + 0x28], rax
lea rdx, [0x14013ab28]
test byte [rsi + 0x10], 1
je 0x1400937d6
lea rax, [rsi + 0x58]
mov qword [rsp + 0x30], rax
jmp 0x1400937e9
test r12b, r12b
je 0x14009380e
test byte [rsi + 0xc], 1
je 0x14009380e
mov rax, rdx
mov qword [rsp + 0x30], rdx
test rax, rax
je 0x14009380e
test r15, r15
jne 0x1400937f4
int3
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + 0x10], xmm1
mov ebx, 1
lea rax, [0x14012efa8]
mov qword [rsp + 0x28], rax
test byte [rsi + 0x10], 8
je 0x140093829
lea rax, [rsi + 0x88]
jmp 0x14009383b
test r12b, r12b
je 0x140093869
test byte [rsi + 0xc], 8
je 0x140093869
lea rax, [0x14012e918]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140093869
cmp rbx, r15
jb 0x14009384b
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + rax*8 + 0x10], xmm1
inc rbx
lea rax, [0x14013ab88]
mov qword [rsp + 0x28], rax
test byte [rsi + 0x10], r13b
je 0x140093889
lea rax, [rsi + 0xb8]
mov qword [rsp + 0x30], rax
jmp 0x14009389c
test r12b, r12b
je 0x1400938c5
test byte [rsi + 0xc], r13b
je 0x1400938c5
mov rax, rdx
mov qword [rsp + 0x30], rdx
test rax, rax
je 0x1400938c5
cmp rbx, r15
jb 0x1400938a7
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + rax*8 + 0x10], xmm1
inc rbx
lea rax, reloc.OLEAUT32.dll_VariantClear
mov qword [rsp + 0x28], rax
and qword [rsp + 0x30], 0
test byte [rsi + 0x10], 0x20
je 0x1400938eb
lea rax, [rsi + 0xa0]
mov qword [rsp + 0x30], rax
jmp 0x1400938fe
test r12b, r12b
je 0x140093927
test byte [rsi + 0xc], 0x20
je 0x140093927
mov rax, rdx
mov qword [rsp + 0x30], rdx
test rax, rax
je 0x140093927
cmp rbx, r15
jb 0x140093909
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + rax*8 + 0x10], xmm1
inc rbx
test byte [rsi + 0x10], 4
je 0x1400939c3
mov rdx, rdi
lea rcx, [rbp + 0x28]
call fcn.14009d2cc
mov r13, rax
test rax, rax
je 0x14009398e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], rax
lea rdx, [rsi + 0x28]
mov r8, r13
call fcn.14009ba5c
mov edi, eax
test eax, eax
js 0x140093d36
lea rax, [0x14012efc0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r13
cmp rbx, r15
jb 0x140093980
int3
lea rdx, [0x14013ab28]
mov edi, 0x18
jmp 0x1400939e5
lea rax, str.onecore_basewcpidentity_attribute_value_collection.cpp
mov qword [rsp + 0x68], rax
lea rax, str.Windows::Identity::Rtl::Implementation::CAttributeValueCollection::UpdateAllAttributesVector
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0x12d
lea rax, str.Pool.Allocate_VersionInString_
mov qword [rbp - 0x80], rax
lea rcx, [rsp + 0x68]
jmp 0x140093d26
test r12b, r12b
je 0x140093a03
test byte [rsi + 0xc], 4
je 0x140093a03
lea rax, [0x14012efc0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rdx
cmp rbx, r15
jb 0x1400939e5
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
inc rbx
movsd qword [r14 + rax*8 + 0x10], xmm1
test byte [rsi + 0x10], 2
je 0x140093aac
mov rdx, rdi
lea rcx, [rbp + 0x28]
call fcn.14009d2cc
mov r13, rax
test rax, rax
je 0x140093a7b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], rax
mov rdx, qword [rsi + 0x70]
mov rcx, qword [rsi + 0x80]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rdx
mov r8, r13
lea rdx, [rsp + 0x38]
call fcn.140094b10
mov edi, eax
test eax, eax
js 0x140093d36
lea rax, [rbx + rbx*2]
and qword [r14 + rax*8], 0
lea rcx, [0x14012f710]
mov qword [r14 + rax*8 + 8], rcx
mov qword [r14 + rax*8 + 0x10], r13
mov r14, qword [rbp + 0x10]
jmp 0x140093ae9
lea rax, str.onecore_basewcpidentity_attribute_value_collection.cpp
mov qword [rbp - 0x78], rax
lea rax, str.Windows::Identity::Rtl::Implementation::CAttributeValueCollection::UpdateAllAttributesVector
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], 0x143
lea rax, str.Pool.Allocate_PublicKeyTokenInString_
mov qword [rbp - 0x60], rax
lea rcx, [rbp - 0x78]
jmp 0x140093d26
test r12b, r12b
je 0x140093aec
test byte [rsi + 0xc], 2
je 0x140093aec
lea rcx, [0x14012f710]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdx
cmp rbx, r15
jb 0x140093ace
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + rax*8 + 0x10], xmm1
inc rbx
test byte [rsi + 0x10], 0x10
je 0x140093c52
mov edx, 0x18
lea rcx, [rbp + 0x28]
call fcn.14009d2cc
mov r13, rax
test rax, rax
je 0x140093c21
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], rax
lea rcx, [rsi + 0x38]
call fcn.140090a78
test rax, rax
jne 0x140093b88
lea rdx, [0x14015d1bc]
lea rcx, [rsi + 0x38]
call fcn.1400692a0
test al, al
jne 0x140093b81
lea rax, str.onecore_basewcpidentityid_authority_helpers.cpp
mov qword [rbp - 0x58], rax
lea rax, str.Windows::Identity::Rtl::Implementation::FormatProcessorArchitecture
mov qword [rbp - 0x50], rax
mov dword [rbp - 0x48], 0x3a6
lea rax, str.ProcessorArchitecture__Windows::Identity::Rtl::Arch_UNKNOWN
mov qword [rbp - 0x40], rax
mov edi, 0xc000000d
mov r8d, 0xc000000d
lea rcx, [rbp - 0x58]
call fcn.1400c81b4
jmp 0x140093ccf
lea rax, reloc.OLEAUT32.dll_VariantClear
mov rdx, r13
mov rcx, rax
call fcn.1400c5aa0
mov edi, eax
test eax, eax
jns 0x140093b9e
mov dword [rbp + 0x20], eax
jmp 0x140093ba0
xor edi, edi
test edi, edi
js 0x140093ccf
lea rax, [rbx + rbx*2]
and qword [r14 + rax*8], 0
lea rcx, [0x14012f308]
mov qword [r14 + rax*8 + 8], rcx
mov qword [r14 + rax*8 + 0x10], r13
inc rbx
mov r14, qword [rbp + 0x10]
lea r8, [0x14013ab28]
mov eax, 0x100
test dword [rsi + 0x10], eax
je 0x140093d6b
mov edx, 0x18
lea rcx, [rbp + 0x28]
call fcn.14009d2cc
mov r15, rax
test rax, rax
je 0x140093cfa
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rax
mov eax, dword [rsi + 0x50]
xor ecx, ecx
test eax, eax
je 0x140093caf
cmp eax, 1
je 0x140093ca6
int3
lea rax, str.onecore_basewcpidentity_attribute_value_collection.cpp
mov qword [rbp - 0x38], rax
lea rax, str.Windows::Identity::Rtl::Implementation::CAttributeValueCollection::UpdateAllAttributesVector
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], 0x15a
lea rax, str.Pool.Allocate_ProcArchInString_
mov qword [rbp - 0x20], rax
lea rcx, [rbp - 0x38]
jmp 0x140093d26
test r12b, r12b
je 0x140093bc9
lea r8, [0x14013ab28]
test byte [rsi + 0xc], 0x10
je 0x140093bd0
lea rcx, [0x14012f308]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], r8
cmp rbx, r15
jb 0x140093c83
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + rax*8 + 0x10], xmm1
inc rbx
jmp 0x140093bd0
lea rcx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
jmp 0x140093cb6
lea rcx, [0x14012e918]
mov rdx, r15
call fcn.1400c5aa0
mov edi, eax
test eax, eax
jns 0x140093cc9
mov dword [rbp + 0x48], eax
jmp 0x140093ccb
xor edi, edi
test edi, edi
jns 0x140093cdb
mov eax, edi
shr eax, 0x1f
test al, al
jne 0x140093d36
int3
lea rax, [rbx + rbx*2]
and qword [r14 + rax*8], 0
lea rcx, [0x14012ec18]
mov qword [r14 + rax*8 + 8], rcx
mov qword [r14 + rax*8 + 0x10], r15
jmp 0x140093da7
lea rax, str.onecore_basewcpidentity_attribute_value_collection.cpp
mov qword [rbp - 0x18], rax
lea rax, str.Windows::Identity::Rtl::Implementation::CAttributeValueCollection::UpdateAllAttributesVector
mov qword [rbp - 0x10], rax
mov dword [rbp - 8], 0x16d
lea rax, str.Pool.Allocate_ProcArchInString_
mov qword [rbp], rax
lea rcx, [rbp - 0x18]
mov r8d, 0xc0000017
call fcn.1400c81b4
mov edi, 0xc0000017
test r14, r14
je 0x140093d5b
mov rcx, qword gs:[0x60]
mov r8, qword [rbp + 0x10]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x28]
call fcn.140036ea0
mov eax, edi
jmp 0x140093dff
test r12b, r12b
je 0x140093da7
test dword [rsi + 0xc], eax
je 0x140093da7
lea rcx, [0x14012ec18]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], r8
cmp rbx, r15
jb 0x140093d8c
int3
lea rax, [rbx + rbx*2]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [r14 + rax*8], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd qword [r14 + rax*8 + 0x10], xmm1
movups xmm6, xmmword [rsi + 0x168]
movups xmm0, xmmword [rbp + 0x10]
movdqu xmmword [rsi + 0x168], xmm0
lea rcx, [rsi + 0x148]
lea rdx, [rbp + 0x28]
call fcn.14009d350
or dword [rsi], 8
movq r8, xmm6
test r8, r8
je 0x140093df3
mov rax, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
nop
lea rcx, [rbp + 0x28]
call fcn.140036ea0
mov eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140109af0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret