Function at 0x6c64a040
Capabilities:
Get number of processors

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov r12, rcx
mov ebx, edx
mov rsi, r8
mov rdi, r9
test byte [0x6c653240], 8
jne 0x6c64a0a0
cmp ebx, 0x110
je 0x6c64a0da
cmp ebx, 0x111
je 0x6c64a3b8
cmp ebx, 0x4e
je 0x6c64a370
xor eax, eax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x38], r9
lea r9, str.__p___08x___08Ix___08Ix__n
mov qword [rsp + 0x30], r8
lea r8, str.cert_properties_general_dlg_proc
mov dword [rsp + 0x28], edx
lea rdx, [0x6c653240]
mov qword [rsp + 0x20], rcx
mov ecx, 3
call sym.wine_dbg_log.constprop.0
cmp ebx, 0x110
jne 0x6c64a06f
mov rbp, qword [sym.imp.user32.dll_GetDlgItem]
mov edx, 0x961
mov rcx, r12
call rbp
mov edx, 0x960
mov rcx, r12
mov rdi, qword [rdi + 0x30]
mov r13, rax
call rbp
xor r9d, r9d
mov r8d, 0x28
mov edx, 0xc5
mov rsi, qword [sym.imp.user32.dll_SendMessageW]
mov rcx, rax
call rsi
xor r9d, r9d
mov r8d, 0xff
mov edx, 0xc5
mov rcx, r13
call rsi
xor r8d, r8d
mov edx, 1
mov rcx, r13
call qword [sym.imp.user32.dll_ShowScrollBar]
mov r14, qword [sym.imp.kernel32.dll_HeapAlloc]
mov r8d, 0x18
xor edx, edx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
call r14
mov rbx, rax
test rax, rax
je 0x6c64a084
mov r9d, 4
mov r8d, 5
mov edx, 0x10
mov dword [rsp + 0x20], 0
mov ecx, 0x10
call qword [sym.imp.comctl32.dll_ImageList_Create]
mov qword [rbx + 0x10], rax
test rax, rax
je 0x6c64a1d6
mov rcx, qword [0x6c663008]
mov edx, 0xcc
call qword [sym.imp.user32.dll_LoadBitmapW]
mov rcx, qword [rbx + 0x10]
mov r8d, 0xff00ff
mov r13, rax
mov rdx, rax
call qword [sym.imp.comctl32.dll_ImageList_AddMasked]
mov rcx, r13
call qword [sym.imp.gdi32.dll_DeleteObject]
mov rcx, qword [rbx + 0x10]
mov edx, 0xffffffff
call qword [sym.imp.comctl32.dll_ImageList_SetBkColor]
mov rax, qword [rdi]
mov r8, rbx
mov edx, 0x10
mov rcx, r12
mov rax, qword [rax + 0x20]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
mov qword [rbx + 8], rax
call qword [sym.imp.user32.dll_SetWindowLongPtrW]
mov r13, qword [rbx]
mov edx, 0xb
mov rcx, r13
call sym.get_cert_property_as_string
mov rdi, rax
test rax, rax
je 0x6c64a247
mov edx, 0x960
mov rcx, r12
call rbp
xor r8d, r8d
mov edx, 0xc
mov r9, rdi
mov rcx, rax
call rsi
mov r8, rdi
xor edx, edx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
mov edx, 0xd
mov rcx, r13
call sym.get_cert_property_as_string
mov rdi, rax
test rax, rax
je 0x6c64a292
mov edx, 0x961
mov rcx, r12
call rbp
xor r8d, r8d
mov edx, 0xc
mov r9, rdi
mov rcx, rax
call rsi
mov r8, rdi
xor edx, edx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
mov r15, qword [rbx]
mov edx, 0x965
mov rcx, r12
lea rdi, [rsp + 0x5c]
call rbp
lea rdx, [rsp + 0x60]
mov r13, rax
mov rcx, rax
call qword [sym.imp.user32.dll_GetWindowRect]
mov eax, dword [rsp + 0x68]
sub eax, dword [rsp + 0x60]
xor r8d, r8d
lea r9, [rsp + 0x70]
mov edx, 0x1061
mov rcx, r13
mov dword [rsp + 0x70], 2
mov dword [rsp + 0x78], eax
call rsi
mov r9, qword [rbx + 0x10]
mov r8d, 2
mov rcx, r13
mov edx, 0x1003
call rsi
xor r8d, r8d
mov rbx, qword [sym.imp.crypt32.dll_CertGetEnhancedKeyUsage]
mov r9, rdi
mov edx, 4
mov rcx, r15
call rbx
test eax, eax
jne 0x6c64a440
xor r8d, r8d
mov r9, rdi
mov edx, 2
mov rcx, r15
call rbx
test eax, eax
jne 0x6c64a5f0
mov edx, 4
mov rcx, r13
mov r15d, 0x962
call sym.add_known_usages_to_list
mov dword [rsp + 0x48], 0
mov edx, dword [rsp + 0x48]
mov rcx, r12
call sym.select_purposes
mov edx, r15d
mov rcx, r12
call rbp
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf5
mov rcx, rax
call rsi
jmp 0x6c64a084
mov eax, dword [rdi + 0x10]
cmp eax, 0xffffff36
je 0x6c64a4c0
cmp eax, 0xfffffffe
jne 0x6c64a084
mov edx, dword [rdi + 0x18]
mov rcx, r12
call sym.toggle_usage
mov rcx, r12
call qword [sym.imp.user32.dll_GetParent]
xor r9d, r9d
mov r8, r12
mov edx, 0x468
mov rcx, rax
call qword [sym.imp.user32.dll_SendMessageW]
jmp 0x6c64a084
mov rax, rsi
shr rax, 0x10
test esi, 0xffff0000
je 0x6c64a4d0
cmp ax, 0x300
jne 0x6c64a084
mov rcx, r12
call qword [sym.imp.user32.dll_GetParent]
xor r9d, r9d
mov r8, r12
mov edx, 0x468
mov rbx, qword [sym.imp.user32.dll_SendMessageW]
mov rcx, rax
call rbx
cmp si, 0x961
jne 0x6c64a084
mov rcx, r12
mov edx, 0x961
call qword [sym.imp.user32.dll_GetDlgItem]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xba
mov r12, rax
mov rcx, rax
call rbx
xor r8d, r8d
mov edx, 1
mov rcx, r12
cmp eax, 1
setg r8b
call qword [sym.imp.user32.dll_ShowScrollBar]
jmp 0x6c64a084
mov r11, qword gs:[0x30]
mov rax, qword [r11 + 0x60]
xor edx, edx
mov r8d, dword [rsp + 0x5c]
mov qword [rsp + 0x48], r11
mov rcx, qword [rax + 0x30]
call r14
mov r9, rdi
mov edx, 4
mov rcx, r15
mov r14, rax
mov r8, rax
call rbx
mov r11, qword [rsp + 0x48]
test eax, eax
je 0x6c64a560
mov eax, dword [r14]
test eax, eax
jne 0x6c64a580
mov dword [rsp + 0x48], 1
mov r15d, 0x963
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov r8, r14
xor edx, edx
mov rcx, qword [rax + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x6c64a341
mov rcx, r12
call sym.apply_general_changes
jmp 0x6c64a084
cmp si, 0x964
jbe 0x6c64a518
cmp si, 0x966
jne 0x6c64a084
mov qword [rsp + 0x20], r12
mov rcx, qword [0x6c663008]
mov r8, r12
mov edx, 0x69
lea r9, [sym.add_purpose_dlg_proc]
call qword [sym.imp.user32.dll_DialogBoxParamW]
cmp rax, 1
jne 0x6c64a084
jmp 0x6c64a392
cmp si, 0x961
jbe 0x6c64a084
mov rcx, r12
call qword [sym.imp.user32.dll_GetParent]
xor r9d, r9d
mov r8, r12
mov edx, 0x468
mov rcx, rax
call qword [sym.imp.user32.dll_SendMessageW]
movzx edx, si
mov rcx, r12
sub edx, 0x962
call sym.select_purposes
jmp 0x6c64a084
mov rax, qword [r11 + 0x60]
mov r8, r14
xor edx, edx
mov rcx, qword [rax + 0x30]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x6c64a326
mov dword [rsp + 0x48], 2
mov r15d, 0x964
xor ebx, ebx
jmp 0x6c64a5b2
mov r8d, 4
mov rcx, r13
call sym.add_known_usage
add ebx, 1
cmp ebx, dword [r14]
jae 0x6c64a499
mov rax, qword [r14 + 8]
mov edi, ebx
mov r8d, 7
mov ecx, 1
mov rdx, qword [rax + rdi*8]
call qword [sym.imp.crypt32.dll_CryptFindOIDInfo]
mov rdx, rax
test rax, rax
jne 0x6c64a598
mov rax, qword [r14 + 8]
mov rcx, r12
mov rdx, qword [rax + rdi*8]
call sym.add_purpose
jmp 0x6c64a5a6
mov r11, qword gs:[0x30]
mov rax, qword [r11 + 0x60]
xor edx, edx
mov r8d, dword [rsp + 0x5c]
mov qword [rsp + 0x48], r11
mov rcx, qword [rax + 0x30]
call r14
mov r9, rdi
mov edx, 2
mov rcx, r15
mov r14, rax
mov r8, rax
call rbx
mov r11, qword [rsp + 0x48]
test eax, eax
je 0x6c64a560
mov eax, dword [r14]
xor edi, edi
test eax, eax
sete dil
mov dword [rsp + 0x48], edi
lea r15d, [rdi + 0x962]
jne 0x6c64a58e
jmp 0x6c64a499