Function at 0x14004b87a
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x420], xmm8
movaps xmmword [rbp + 0x410], xmm7
movaps xmmword [rbp + 0x400], xmm6
and rsp, 0xffffffffffffff80
mov r14, rdx
mov qword [rsp + 0x138], rcx
mov rdi, qword [rdx + 0x10]
test rdi, rdi
je 0x14004bc9c
mov eax, 0xffff
cmp rdi, rax
cmovb rax, rdi
mov rdi, rax
mov qword [rsp + 0xb0], r14
mov sil, byte [r14 + 0x59]
xorps xmm6, xmm6
lea r14, [rsp + 0x218]
movups xmmword [r14 - 0x10], xmm6
movups xmmword [r14 + 8], xmm6
push 8
pop rax
mov qword [r14 - 0x18], rax
mov qword [rsp + 0x98], rax
mov qword [r14], rax
test rdi, rdi
je 0x14004b929
lea rcx, [rsp + 0x200]
mov rdx, rdi
call fcn.140049fb5
mov rcx, r14
mov rdx, rdi
call fcn.140049fe3
lea r12, [rsp + 0x300]
lea r13, [rsp + 0x200]
mov qword [rsp + 0xc0], rdi
sub rdi, 1
jb 0x14004ba0b
test sil, sil
je 0x14004b967
lea rcx, [rsp + 0xd0]
call fcn.14004a0bd
mov rax, qword [rsp + 0xd0]
jmp 0x14004b9b8
push 0x40
pop rcx
call fcn.14004a1be
mov rbx, rax
mov r15, rdx
mov rcx, rax
call fcn.14004a213
mov qword [rsp + 0x300], rax
lea rax, [rsp + 0x380]
movaps xmmword [rax], xmm6
mov rcx, r12
call fcn.14004a23c
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe0], r15
mov byte [rsp + 0xe8], 1
lock inc qword [rax]
jle 0x14004c7d1
mov cl, byte [rsp + 0xe8]
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x300], xmm0
movaps xmmword [rsp + 0x310], xmm1
mov qword [rsp + 0x320], rax
mov byte [rsp + 0x328], cl
mov rcx, r13
mov rdx, r14
mov r8, r12
call fcn.14004a122
jmp 0x14004b941
lea rsi, [rsp + 0x218]
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x158], rax
mov rax, qword [rsi - 0x10]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsi - 8]
mov qword [rsp + 0xa8], rax
mov r13, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rsp + 0xa0], rax
mov rbx, qword [rsi + 0x10]
xorps xmm0, xmm0
movups xmmword [rsi - 0x10], xmm0
movups xmmword [rsi + 8], xmm0
push 8
pop rax
mov qword [rsi - 0x18], rax
mov qword [rsi], rax
lea r14, [rsp + 0x200]
mov rcx, r14
mov rdi, qword [rsp + 0xc0]
mov rdx, rdi
call fcn.140049fb5
mov rcx, rsi
mov rdx, rdi
call fcn.140049fe3
lea r15, [rsp + 0xd0]
lea r12, [rsp + 0x300]
sub rdi, 1
jb 0x14004bafb
mov rcx, r15
call fcn.14004a0bd
mov rax, qword [rsp + 0xd0]
lock inc qword [rax]
jle 0x14004c7d1
mov cl, byte [rsp + 0xe8]
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x300], xmm0
movaps xmmword [rsp + 0x310], xmm1
mov qword [rsp + 0x320], rax
mov byte [rsp + 0x328], cl
mov rcx, r14
mov rdx, rsi
mov r8, r12
call fcn.14004a122
jmp 0x14004ba95
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x1c0], xmm0
mov r14, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x150], rax
mov r12, qword [rsp + 0x228]
mov r15, rbx
test rbx, rbx
mov rbx, qword [rsp + 0xc0]
je 0x14004bb7e
movabs rax, 0x1c71c71c71c71c7
cmp r15, rax
ja 0x14004c7d5
imul rsi, r15, 0x48
push 8
pop rcx
mov rdx, rsi
call fcn.1400a4979
mov qword [rsp + 0x98], rax
test rax, rax
je 0x14004c7dc
mov qword [rsp + 0x140], r12
mov r8, r15
shl r8, 4
add r8, r13
mov qword [rsp + 0x300], r13
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x308], rax
mov qword [rsp + 0x310], r13
mov qword [rsp + 0x318], r8
lea rax, [rsp + 0x206]
lea rcx, [rsp + 0xd6]
xor r12d, r12d
xorps xmm0, xmm0
mov rdx, qword [rsp + 0x98]
cmp r13, r8
je 0x14004bc54
lea r8, [r13 + 0x10]
mov qword [rsp + 0x310], r8
mov r8, qword [r13]
mov r9b, byte [r13 + 8]
movups xmmword [rax], xmm0
and word [rax + 0x10], 0
movups xmmword [rcx], xmm0
and qword [rdx], 0
and word [rdx + 8], 0
movups xmm1, xmmword [rsp + 0x200]
movups xmmword [rdx + 0xa], xmm1
mov r10, qword [rsp + 0x210]
mov qword [rdx + 0x1a], r10
movups xmm1, xmmword [rsp + 0xd0]
movups xmmword [rdx + 0x22], xmm1
mov r10, qword [rsp + 0xde]
mov qword [rdx + 0x30], r10
mov qword [rdx + 0x38], r8
mov byte [rdx + 0x40], r9b
inc r12
mov r13, qword [rsp + 0x310]
mov r8, qword [rsp + 0x318]
add rdx, 0x48
jmp 0x14004bbd6
lea rcx, [rsp + 0x300]
call fcn.14004a298
test rbx, rbx
mov qword [rsp + 0x148], r14
je 0x14004bdb9
mov rsi, rbx
shl rsi, 7
mov ecx, 0x80
mov rdx, rsi
call fcn.1400a4979
mov r13, rax
test rax, rax
jne 0x14004bdbf
mov ecx, 0x80
jmp 0x14004c7df
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
lea rsi, [rsp + 0x300]
push 0x11
pop r8
mov rcx, rsi
call fcn.140086d10
lea rdi, [rsp + 0x200]
mov rcx, rdi
mov rdx, rsi
call fcn.14004c88b
mov rsi, qword [rdi]
test rsi, rsi
je 0x14004bd07
mov r8, qword [rsp + 0x210]
lea rdi, [rsp + 0x300]
mov rcx, rdi
mov rdx, rsi
call fcn.140031120
mov bl, byte [rdi]
mov rdi, qword [rdi + 8]
mov rdx, qword [rsp + 0x208]
mov rcx, rsi
call fcn.14009c81c
test bl, bl
je 0x14004bd72
lea rdx, [0x1401245b1]
lea rsi, [rsp + 0x300]
push 0x11
pop r8
mov rcx, rsi
call fcn.140086d10
lea rdi, [rsp + 0x200]
mov rcx, rdi
mov rdx, rsi
call fcn.14004c88b
mov rsi, qword [rdi]
test rsi, rsi
je 0x14004bd7b
mov r8, qword [rsp + 0x210]
lea rdi, [rsp + 0x300]
mov rcx, rdi
mov rdx, rsi
call fcn.140031120
mov bl, byte [rdi]
mov rdi, qword [rdi + 8]
mov rdx, qword [rsp + 0x208]
mov rcx, rsi
call fcn.14009c81c
test bl, bl
jne 0x14004bd7b
test rdi, rdi
jne 0x14004b8c7
xorps xmm0, xmm0
lea rsi, [rsp + 0x300]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call sub.kernel32.dll_GetSystemInfo
mov edi, dword [rsi + 0x20]
test rdi, rdi
jne 0x14004b8c7
lea rcx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
call fcn.14004615b
push 1
pop rdi
jmp 0x14004b8c7
mov r13d, 0x80
lea rax, [r13 + 0x10]
xor r14d, r14d
cmp rbx, r14
je 0x14004bde2
and qword [rax - 0x10], 0
inc r14
and word [rax - 8], 0
and qword [rax], 0
sub rax, 0xffffffffffffff80
jmp 0x14004bdc6
lea rsi, [rsp + 0x200]
mov rcx, rsi
call fcn.14004a365
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0xa0], r15
mov r15, qword [rsp + 0xb0]
movups xmm6, xmmword [r15 + 0x18]
movups xmm7, xmmword [r15 + 0x38]
movups xmm8, xmmword [r15 + 0x48]
and qword [r15 + 0x18], 0
lea rcx, [rsp + 0x370]
and qword [r15 + 0x38], 0
mov qword [rcx - 0x59], rax
and qword [r15 + 0x48], 0
movaps xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rcx - 0x69], xmm0
movups xmm0, xmmword [rcx - 0x70]
mov rax, qword [rcx - 0x61]
mov qword [rsp + 0xdf], rax
mov rax, qword [rcx - 0x59]
mov qword [rsp + 0xe7], rax
movaps xmmword [rsp + 0xd0], xmm0
mov r8d, pe_nt_image_headers64
mov rdx, rsi
call fcn.1400efbc0
mov ecx, 0x280
mov edx, 0x80
call fcn.1400a5819
mov rsi, rax
push 1
pop rdi
mov qword [rax], rdi
mov qword [rax + 8], rdi
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x300]
mov r8d, 0x170
call fcn.1400efbc0
movaps xmmword [rsi + 0x180], xmm6
movaps xmmword [rsi + 0x190], xmm7
movaps xmmword [rsi + 0x1a0], xmm8
and qword [rsi + 0x1b0], 0
mov byte [rsi + 0x1b8], 0
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rsi + 0x1b9], xmm0
movups xmm0, xmmword [rsp + 0xdf]
movups xmmword [rsi + 0x1c8], xmm0
mov qword [rsi + 0x1d8], rdi
mov qword [rsi + 0x1e0], r13
mov qword [rsi + 0x1e8], rbx
mov qword [rsi + 0x1f0], r14
and qword [rsi + 0x1f8], 0
mov rax, qword [rsp + 0x98]
mov qword [rsi + 0x200], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x208], rax
mov qword [rsi + 0x210], r12
mov qword [rsp + 0xc8], rsi
mov rax, qword [rsp + 0xa8]
shl rax, 5
mov r10, qword [rsp + 0x158]
add rax, r10
mov r8, qword [rsp + 0x140]
shl r8, 4
mov rdx, qword [rsp + 0x148]
add r8, rdx
xorps xmm6, xmm6
movups xmmword [rsp + 0x110], xmm6
movups xmmword [rsp + 0x120], xmm6
mov qword [rsp + 0xd0], r10
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r10
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rdx
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], r8
mov rax, qword [r15]
mov qword [rsp + 0xa0], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0xb8], rax
mov al, byte [r15 + 0x58]
mov byte [rsp + 0x150], al
push 8
pop rcx
mov rdx, rsi