Function at 0x1400452da
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
cmp qword [rcx + 0x80], 0
jne 0x1400459a2
mov ebx, edx
mov r14, rcx
xorps xmm0, xmm0
lea rcx, [rsp + 0x170]
movaps xmmword [rcx + 0x20], xmm0
movaps xmmword [rcx + 0x10], xmm0
movaps xmmword [rcx], xmm0
call sub.KERNEL32.dll_GetSystemInfo
xor esi, esi
mov eax, 0x80000000
sub ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
cmp eax, 0x80000004
mov byte [rsp + 0x2f], bl
mov qword [rsp + 0x70], r14
jb 0x1400453fa
mov dword [rsp + 0x30], eax
mov ecx, 4
mov edx, 0x50
call fcn.14000c5dd
test rax, rax
je 0x1400459c3
mov r8, rax
lea rax, [rsp + 0x40]
mov qword [rax], 5
mov qword [rax + 8], r8
mov eax, 0x80000000
sub edi, edi
xor r13d, r13d
mov r9d, dword [rsp + 0x30]
mov qword [rsp + 0x50], rdi
test r13b, 1
jne 0x140045417
cmp eax, r9d
ja 0x140045417
setae r13b
mov r14d, eax
adc r14d, 0
sub ecx, ecx
nop
push rbx
pop rbx
cpuid
xchg rbx, rbx
mov r15d, ecx
mov ebp, edx
mov r12d, eax
cmp rdi, qword [rsp + 0x40]
jne 0x1400453d6
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.140040a5d
mov r9d, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
shl rdi, 4
mov dword [r8 + rdi], r12d
mov dword [r8 + rdi + 4], ebx
mov dword [r8 + rdi + 8], r15d
mov dword [r8 + rdi + 0xc], ebp
mov rdi, qword [rsp + 0x50]
inc rdi
mov eax, r14d
jmp 0x14004537e
mov eax, 1
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
sub eax, eax
mov qword [rsp + 0x58], rax
jmp 0x1400455a4
xor r12d, r12d
mov ecx, 0x30
xor edx, edx
call fcn.14000e157
lea rbx, [rsp + 0x98]
mov qword [rbx], rax
mov qword [rbx + 8], rdx
and qword [rbx + 0x10], 0
mov r15, qword [rsp + 0x48]
shl rdi, 4
add rdi, r15
mov eax, 2
mov r14d, 5
test r12b, 1
je 0x140045466
test r14, r14
je 0x1400454c7
cmp r15, rdi
je 0x1400454c7
dec r14
jmp 0x14004548a
cmp r14, rax
jbe 0x1400454c7
push rdi
nop
pop rcx
sub rcx, r15
shr rcx, 4
cmp rcx, rax
jbe 0x1400454c7
push rax
pop rcx
nop
not rcx
add r14, rcx
shl rax, 4
add r15, rax
lea r13, [r15 + 0x10]
mov edx, dword [r15]
push rbx
pop rcx
nop
call fcn.1400459d3
mov edx, dword [r15 + 4]
push rbx
pop rcx
nop
call fcn.1400459d3
mov edx, dword [r15 + 8]
nop
push rbx
pop rcx
call fcn.1400459d3
mov edx, dword [r15 + 0xc]
push rbx
nop
pop rcx
call fcn.1400459d3
mov r12b, 1
mov r15, r13
xor eax, eax
jmp 0x140045451
mov rdi, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
sub r8d, r8d
mov r14, qword [rsp + 0x70]
cmp rdx, r8
je 0x1400454f0
cmp byte [rdi + r8], 0
je 0x1400454f3
inc r8
jmp 0x1400454df
mov r8, rdx
lea r9, str._home_torcrypt_.cargo_registry_src_index.crates.io_6f17d22bba15001f_sysinfo_0.29.11_src_windows_cpu.rsTotal_CPUIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64
push rdi
pop rcx
nop
call fcn.140045a18
mov r8, rdx
lea rbx, [rsp + 0x110]
push rbx
pop rcx
nop
mov rdx, rax
call fcn.140005640
cmp qword [rbx], 0
je 0x140045538
mov eax, 1
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
sub eax, eax
mov qword [rsp + 0x58], rax
jmp 0x140045577
mov rdi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
nop
push rbx
pop rcx
xor edx, edx
call fcn.14000e157
mov qword [rsp + 0x58], rax
push rdx
pop rcx
nop
mov qword [rsp + 0x38], rdx
push rdi
nop
pop rdx
mov qword [rsp + 0x30], rbx
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
mov rdx, rdi
call fcn.14000c95c
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x1400455a4
shl r8, 4
mov rcx, qword [rsp + 0x48]
mov edx, 4
call fcn.14000b9e9
lea rax, [r14 + 0x70]
mov qword [rsp + 0xc8], rax
sub ecx, ecx
sub eax, eax
nop
push rbx
pop rdi
cpuid
xchg rbx, rdi
mov ebx, edx
mov ebp, ecx
mov ecx, 0xc
xor edx, edx
call fcn.14000e157
lea r14, [rsp + 0x98]
mov qword [r14], rax
mov qword [r14 + 8], rdx
and qword [r14 + 0x10], 0
mov rcx, r14
mov edx, edi
call fcn.1400459d3
mov rcx, r14
mov edx, ebx
call fcn.1400459d3
mov rcx, r14
mov edx, ebp
call fcn.1400459d3
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
mov bl, byte [rsp + 0x2f]
cmp rdx, rsi
je 0x14004561a
cmp byte [rcx + rsi], 0
je 0x14004561d
inc rsi
jmp 0x14004560a
push rdx
nop
pop rsi
lea r9, str._home_torcrypt_.cargo_registry_src_index.crates.io_6f17d22bba15001f_sysinfo_0.29.11_src_windows_cpu.rsTotal_CPUIntel_x86MIPSRISC_AlphaPPCSHXARMIntel_Itanium_based_x64RISC_Alpha_x64MSIL_Intel_or_AMD__x64Intel_Itanium_based_x86unknownARM_x64
mov r8, rsi
call fcn.140045a18
mov r8, rdx
lea rsi, [rsp + 0x110]
push rsi
pop rcx
nop
nop
push rax
pop rdx
call fcn.140005640
cmp qword [rsi], 0
je 0x14004566f
movsx rax, word [rsp + 0x170]
cmp rax, 0xe
ja 0x140045681
lea rcx, [0x1400b8cf0]
mov rbp, qword [rcx + rax*8]
lea rcx, [0x1400b8d68]
mov rsi, qword [rcx + rax*8]
jmp 0x14004568d
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x120]
jmp 0x14004568d
lea rsi, [0x1400b864d]
mov ebp, 7
push rbp
nop
pop rcx
xor edx, edx
call fcn.14000e157
mov qword [rsp + 0x68], rax
push rdx
nop
pop rcx
mov qword [rsp + 0x60], rdx
mov rdx, rsi
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
call fcn.14000c95c
mov esi, dword [rsp + 0x190]
test bl, bl
je 0x1400456f1
lea rdi, [rsp + 0xd0]
nop
push rdi
pop rcx
push rsi
nop
pop rdx
call fcn.140045a38
mov rax, qword [rdi + 8]
mov qword [rsp + 0x78], rax
mov rbx, qword [rdi + 0x10]
jmp 0x14004571b
push rsi
nop
pop rcx
mov dl, 1
call fcn.140040567
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rsi
mov rbx, rsi
inc rsi
imul rdi, rsi, 0x70
mov ecx, 8
nop
push rdi
pop rdx
call fcn.14000c5dd
or rax, rax
je 0x1400459b6
mov r14, rax
lea rax, [rsp + 0x80]
mov qword [rax], rsi
mov qword [rax + 8], r14
and qword [rax + 0x10], 0
lea r12, [rsp + 0x128]
shl rbx, 3
xor esi, esi
mov r13d, 1
or rbx, rbx
je 0x1400458d5
mov qword [rsp + 0xe8], r13
lea rax, str.CPU
mov qword [rsp + 0x98], rax
mov eax, 1
mov qword [rsp + 0xa0], rax
and qword [rsp + 0xb8], 0
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x40], rcx
lea rcx, [fcn.1400040b0]
mov qword [rsp + 0x48], rcx
lea rdi, [rsp + 0x40]
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0x158]
lea r15, [rsp + 0x98]
mov rdx, r15
call fcn.14003e5ee
mov rcx, rdi
mov rdx, qword [rsp + 0x60]
mov r8, rbp
call fcn.140003ed0
mov rcx, r15
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
call fcn.140003ed0
mov rax, qword [rsp + 0x78]
mov r15, qword [rax + r13*8 - 8]
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x110], xmm0
mov rax, qword [rsp + 0x50]
mov qword [r12 + 0x10], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r12], xmm0
mov rax, qword [rsp + 0xa8]
mov qword [r12 + 0x28], rax
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [r12 + 0x18], xmm0
cmp rsi, qword [rsp + 0x80]
jne 0x140045884
lea rcx, [rsp + 0x80]
nop
push rsi
pop rdx
call fcn.1400409aa
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
imul rax, rsi, 0x70
lea rdi, [r14 + rax]
mov ecx, 9
lea rsi, [rsp + 0x110]
rep movsq qword [rdi], qword [rsi]
movabs rcx, 0x8000000000000000
mov qword [r14 + rax + 0x48], rcx
mov qword [r14 + rax + 0x60], r15
and dword [r14 + rax + 0x68], 0
mov rsi, qword [rsp + 0x90]
inc rsi
mov qword [rsp + 0x90], rsi
inc r13
add rbx, 0xfffffffffffffff8
jmp 0x140045763
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0xf0], xmm0
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
call fcn.140040651
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rdi + 0x78]
mov rdx, qword [rdi + 0x80]
mov rcx, rsi
call fcn.140040bbd
mov rcx, qword [rdi + 0x70]
mov rdx, rsi
call fcn.140040d41
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx + 0x10], rax
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rcx], xmm0
mov rcx, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x20]
call fcn.14000c95c
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x18], rax
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rbp
mov rcx, qword [rdi + 0x30]
mov rdx, qword [rdi + 0x38]
call fcn.14000c95c
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0x30], rax
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x38], rax
mov rax, qword [rsp + 0x30]
mov qword [rdi + 0x40], rax
mov al, byte [rsp + 0x2f]
mov byte [rdi + 0x88], al
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 8
push rdi
nop
pop rdx
call fcn.140003420
mov ecx, 4
mov edx, 0x50
call fcn.140003420
int3