Function at 0x14007f51c
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, 0x438
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x3a0], xmm6
and rsp, 0xffffffffffffff80
mov r15, rcx
mov rdi, qword [rcx + 0x50]
test rdi, rdi
jne 0x14007f69b
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
lea rsi, [rsp + 0x190]
mov r8d, 0x11
mov rcx, rsi
call fcn.1400d7310
mov al, byte [rsi + 0x18]
mov rbx, qword [rsi]
cmp al, 3
jne 0x14007f5c5
mov rsi, qword [rsp + 0x198]
test rsi, rsi
je 0x14007f5e5
lea rdi, [rsp + 0x190]
mov r8, qword [rdi + 0x10]
mov rcx, rdi
mov rdx, rsi
call fcn.140039d60
mov r14b, byte [rdi]
mov rdi, qword [rdi + 8]
test rbx, rbx
je 0x14007f5bb
mov rcx, qword [0x1401849b0]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14b, r14b
jne 0x14007f5e5
jmp 0x14007f653
cmp al, 2
je 0x14007f5e5
test rbx, rbx
je 0x14007f5e5
mov r8, qword [rsp + 0x198]
mov rcx, qword [0x1401849b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x1401434f9]
lea rsi, [rsp + 0x190]
mov r8d, 0x11
mov rcx, rsi
call fcn.1400d7310
mov al, byte [rsi + 0x18]
mov rbx, qword [rsi]
cmp al, 3
jne 0x14007f65a
mov rsi, qword [rsp + 0x198]
test rsi, rsi
je 0x14007f67a
lea rdi, [rsp + 0x190]
mov r8, qword [rdi + 0x10]
mov rcx, rdi
mov rdx, rsi
call fcn.140039d60
mov r14b, byte [rdi]
mov rdi, qword [rdi + 8]
test rbx, rbx
je 0x14007f64e
mov rcx, qword [0x1401849b0]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14b, r14b
jne 0x14007f67a
test rdi, rdi
jne 0x14007f69b
jmp 0x14007f67a
cmp al, 2
je 0x14007f67a
test rbx, rbx
je 0x14007f67a
mov r8, qword [rsp + 0x198]
mov rcx, qword [0x1401849b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
xorps xmm0, xmm0
lea rsi, [rsp + 0x190]
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]
mov esi, 0xffff
cmp rdi, rsi
cmovb rsi, rdi
mov r13b, byte [r15 + 0x58]
xor eax, eax
mov qword [rsp + 0x190], rax
mov ecx, 8
mov qword [rsp + 0x198], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x1a0], xmm0
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
test rsi, rsi
mov qword [rsp + 0x60], r15
jne 0x14007ffa5
mov rbx, qword [rsp + 0x1b0]
mov r15, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x1a8]
mov rax, r15
shl rax, 4
lea r12, [rbx + rax]
test r15, r15
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], r8
je 0x14007f772
movabs rcx, 0x19999999999999a
xor edi, edi
cmp r15, rcx
setb cl
jae 0x14008018a
mov dil, cl
shl rdi, 3
lea r14, [rax + rax*4]
test r14, r14
je 0x14007f7b2
mov rcx, r14
mov rdx, rdi
call fcn.14002d260
jmp 0x14007f7b5
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], 8
mov qword [rsp + 0xa0], 0
cmp r12, rbx
je 0x14007f84a
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x14007f7ac
mov rcx, rbx
call fcn.14007db7f
add rbx, 0x10
jmp 0x14007f79b
mov rax, rdi
test rax, rax
je 0x140080191
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], 0
xor ecx, ecx
xorps xmm0, xmm0
xor edx, edx
mov r8, rbx
mov r9, qword [r8]
mov r10b, byte [r8 + 8]
mov word [rsp + 0x1a6], cx
movups xmmword [rsp + 0x196], xmm0
mov qword [rax], rcx
mov qword [rax + 8], 1
mov qword [rax + 0x10], r9
mov byte [rax + 0x18], r10b
mov qword [rax + 0x20], rcx
mov word [rax + 0x28], cx
movups xmm1, xmmword [rsp + 0x190]
movups xmmword [rax + 0x2a], xmm1
mov r9, qword [rsp + 0x1a0]
mov qword [rax + 0x3a], r9
mov qword [rax + 0x48], rcx
inc rdx
add rax, 0x50
add r8, 0x10
cmp r8, r12
jne 0x14007f7e4
mov qword [rsp + 0xa0], rdx
test r13, r13
je 0x14007f861
mov rcx, qword [0x1401849b0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rsi, rsi
mov rbx, qword [rsp + 0x60]
je 0x14007f8c7
mov rdi, rsi
shl rdi, 7
mov edx, 0x80
mov rcx, rdi
call fcn.14002d260
test rax, rax
je 0x140080199
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], 0
add rax, 0x10
xor edx, edx
xor ecx, ecx
inc rcx
mov qword [rax - 0x10], rdx
mov word [rax - 8], 0
mov qword [rax], rdx
sub rax, 0xffffffffffffff80
cmp rsi, rcx
jne 0x14007f8ac
jmp 0x14007f8e9
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x198], 0x80
mov qword [rsp + 0x1a0], 0
xor ecx, ecx
lea rsi, [rsp + 0x200]
movups xmm0, xmmword [rsi - 0x70]
movaps xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], rcx
lea rdi, [rsp + 0x300]
mov rcx, rdi
call fcn.14007dbed
mov rax, qword [rbx]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0xa8], rax
xor eax, eax
mov qword [rbx], rax
mov r15, qword [rbx + 0x20]
mov rcx, rbx
mov r14, qword [rbx + 0x28]
mov qword [rbx + 0x20], rax
mov r13, qword [rbx + 0x30]
mov rbx, qword [rbx + 0x38]
mov qword [rcx + 0x30], rax
mov r8d, 0x100
mov rcx, rsi
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov ecx, 0x280
mov edx, 0x80
call fcn.14002d260
test rax, rax
je 0x140080179
mov r12, rax
mov edi, 1
mov qword [rax], rdi
mov qword [rax + 8], rdi
lea rcx, [rax + 0x10]
lea rsi, [rsp + 0x190]
mov r8d, 0x170
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0xb0]
mov qword [r12 + 0x180], rax
mov rax, qword [rsp + 0xa8]
mov qword [r12 + 0x188], rax
mov qword [r12 + 0x190], r15
mov qword [r12 + 0x198], r14
mov qword [r12 + 0x1a0], r13
mov qword [r12 + 0x1a8], rbx
mov eax, 3
mov qword [r12 + 0x1b0], rax
mov qword [r12 + 0x1c0], rax
xorps xmm6, xmm6
movups xmmword [r12 + 0x1c8], xmm6
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [r12 + 0x1d8], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [r12 + 0x1e8], rax
mov qword [r12 + 0x1f0], rdi
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [r12 + 0x1f8], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [r12 + 0x208], rax
mov rcx, qword [rsp + 0x70]
mov rbx, rcx
shl rbx, 5
mov rdi, qword [rsp + 0xb8]
lea rax, [rdi + rbx]
mov rdx, qword [rsp + 0x68]
mov qword [rsi], rdx
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], 0
test rcx, rcx
je 0x14007fe74
lea rax, [r12 + 0x1c0]
mov qword [rsp + 0xe8], rax
mov rax, r12
add rax, 0x1f0
mov qword [rsp + 0xe0], rax
add rdi, 0x20
xor r8d, r8d
mov qword [rsp + 0x198], rdi
mov r9b, byte [rdi - 8]
cmp r9b, 2
je 0x14007fe74
lea rax, [rdi - 0x20]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x140], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
mov eax, dword [rdi - 7]
mov ecx, dword [rdi - 4]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x7b], ecx
lea r13, [r8 + 1]
mov qword [rsp + 0x1b0], r13
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rsi + 0x10]
test rdx, rdx
mov qword [rsp + 0xb0], r8
mov byte [rsp + 0xa8], r9b
je 0x14007fb28
mov rax, qword [rsi + 0x18]
lea rcx, [rsp + 0x300]
call qword [rax + 0x20]
jmp 0x14007fb34
mov qword [rsp + 0x308], 0
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x68], rax
mov rax, qword [rsi + 0x48]
mov qword [rsp + 0x70], rax
lock inc qword [r12]
jle 0x140080114
mov r14, r12
mov qword [rsp + 0x108], r13
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x118], rax
mov r12, qword [rsp + 0x308]
mov rsi, qword [rsp + 0x310]
movaps xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x160], rax
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x7b]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x83], ecx
test r12, r12
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x120], rsi
je 0x14007fbf2
mov rcx, rsi
call fcn.1400674de
mov qword [rsp + 0xf8], rax
mov r13, rdx
mov rcx, rdx
mov rdx, r12
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0xf0], rsi
jmp 0x14007fbf5
xor r13d, r13d
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x170], xmm0
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x180], rax
mov eax, dword [rsp + 0x80]
mov ecx, dword [rsp + 0x83]
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x8b], ecx
cmp qword [rsp + 0x68], 0
cmovne r15, qword [rsp + 0x70]
mov rsi, r15
jne 0x14007fc4a
call fcn.1400e5400
mov rsi, rax
test r13, r13
mov qword [rsp + 0x110], rbx
je 0x14007fcb5
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], r13
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xa0], rax
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x90]
call fcn.14007efe0
cmp qword [rsp + 0xd0], 0
jne 0x14008012b
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
jmp 0x14007fcb7
xor ecx, ecx
mov qword [rsp + 0x100], r15
call fcn.1400cfba0
lock inc qword [rax]
jle 0x140080114
mov rbx, rax
mov r13, rsi
mov r15, r14
mov qword [rsp + 0xb8], rdi
mov ecx, 0x30
mov edx, 8
call fcn.14002d260
test rax, rax
je 0x140080118
mov rsi, rax
mov eax, 1
mov qword [rsi], rax
mov qword [rsi + 8], rax
movups xmmword [rsi + 0x10], xmm6
lock inc qword [rsi]
jle 0x140080114
mov r12, rsi
xor ecx, ecx
call fcn.1400db530
mov rdi, rax
test rax, rax
je 0x14007fd35
lock inc qword [rdi]
jle 0x140080114
mov rcx, rdi
jmp 0x14007fd37
xor ecx, ecx
call fcn.1400db530
add rsi, 0x10
test rax, rax
je 0x14007fd53
lock dec qword [rax]
jne 0x14007fd53
mov rcx, rax
call fcn.14007f080
mov rcx, qword [rsi]
test rcx, rcx
je 0x14007fd64
add rcx, 0x10
call fcn.1400d2d40
mov ecx, 0x70
mov edx, 8
call fcn.14002d260
test rax, rax
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x120]
je 0x14008011f
mov qword [rax], rdi
movaps xmm0, xmmword [rsp + 0x170]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rsp + 0x180]
mov qword [rax + 0x18], rcx
mov cl, byte [rsp + 0xa8]
mov byte [rax + 0x20], cl
mov ecx, dword [rsp + 0x88]
mov edx, dword [rsp + 0x8b]
mov dword [rax + 0x21], ecx
mov dword [rax + 0x24], edx
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 0x38], rcx
mov qword [rax + 0x40], r8
mov qword [rax + 0x48], r9
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x50], rcx
mov qword [rax + 0x58], r15
mov qword [rax + 0x60], rbx
mov qword [rax + 0x68], r12
mov rcx, r13
mov rdx, rax
lea r8, [0x1401431e0]
call fcn.1400e55f0
mov r14, rdx
test rax, rax
jne 0x14007fe8d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lock dec qword [rbx]
jne 0x14007fe34
mov rcx, rbx
call fcn.1400cc040
lock dec qword [r12]
jne 0x14007fe43
mov rcx, r12
call fcn.1400f6a62
mov rdi, qword [rsp + 0xb8]
add rdi, 0x20
mov r8, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
add rbx, 0xffffffffffffffe0
mov r12, r15
mov r15, qword [rsp + 0x100]
jne 0x14007faae
lea rcx, [rsp + 0x190]
call fcn.14007f23c
xor esi, esi
mov r13, qword [rsp + 0x60]
jmp 0x14007ff2d
lock dec qword [r12]
jne 0x14007fe9c
mov rcx, r12
call fcn.1400f6a62
lock dec qword [rbx]
jne 0x14007feaa
mov rcx, rbx
call fcn.1400cc040
lea rcx, [rsp + 0x190]
call fcn.14007f23c
mov rax, qword [rsp + 0xe0]
lock dec qword [rax]
mov r13, qword [rsp + 0x60]
jne 0x14007ff17
mov rax, qword [r15 + 0x208]
test rax, rax
je 0x14007ff17
mov rdi, qword [r15 + 0x200]
add rdi, 8
shl rax, 4
lea rbx, [rax + rax*4]
xor esi, esi
lock dec qword [rdi]
jne 0x14007ff0a
mov eax, 3
xchg qword [rdi - 8], rax
mov rcx, qword [rsp + 0xe8]
mov rdx, rsi
call fcn.14007ed56
add rdi, 0x50
inc rsi
add rbx, 0xffffffffffffffb0
jne 0x14007feeb
lock dec qword [r15]
mov esi, 1
jne 0x14007ff2a
mov rcx, r15
call fcn.14007dc4e
mov r12, r14
lea rbx, [r13 + 0x20]
lea rdi, [r13 + 0x30]
mov rcx, r13
call fcn.14007e1c0
mov r14, qword [r13 + 0x10]
test r14, r14
je 0x14007ff74
mov r15, qword [r13 + 0x18]
mov rcx, r14
call qword [r15]
cmp qword [r15 + 8], 0
je 0x14007ff74
cmp qword [r15 + 0x10], 0x11
jb 0x14007ff62
mov r14, qword [r14 - 8]
mov rcx, qword [0x1401849b0]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, rbx
call fcn.14007e1c0
mov rcx, rdi
call fcn.14007e1c0
mov rax, rsi
mov rdx, r12
movaps xmm6, xmmword [rbp + 0x3a0]
lea rsp, [rbp + 0x3b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rbx, [rsp + 0x190]
mov rcx, rbx
xor edx, edx
mov r8, rsi
call fcn.14010daea
mov rax, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x28]
sub rax, rdx
cmp rax, rsi
jb 0x1400800ff
xorps xmm6, xmm6
mov rdi, rsi
mov ecx, 0x40
call fcn.14007dadd
mov rbx, rax
mov edx, 0x40
mov rcx, rax
call fcn.14007db40
mov r15, rax
mov ecx, 0x180
mov edx, 0x80
call fcn.14002d260
mov r12, rax
test r13b, r13b
je 0x140080016
test r12, r12
je 0x140080172
xor r14d, r14d
jmp 0x140080022
mov r14b, 1
test r12, r12
je 0x140080172
mov eax, 1
mov qword [r12], rax
mov qword [r12 + 8], rax
mov qword [r12 + 0x80], r15
movaps xmmword [r12 + 0x100], xmm6
lock inc qword [r12]
jle 0x140080114
mov rdx, qword [rsp + 0x1a0]
cmp rdx, qword [rsp + 0x190]
jne 0x140080073
lea rcx, [rsp + 0x190]
call fcn.14007da6b
mov rdx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x198]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], 0x40
mov qword [rax + rcx + 0x10], r12
mov byte [rax + rcx + 0x18], r14b
inc rdx
mov qword [rsp + 0x1a0], rdx
mov r15, qword [rsp + 0x1b8]
cmp r15, qword [rsp + 0x1a8]
jne 0x1400800ce
lea rcx, [rsp + 0x1a8]
mov rdx, r15
call fcn.14007daa4
mov r15, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1b0]
mov rax, r15
shl rax, 4
mov qword [rbx + rax], r12
mov byte [rbx + rax + 8], r14b
inc r15
mov qword [rsp + 0x1b8], r15
dec rdi
jne 0x14007ffd4
jmp 0x14007f6fb
lea rcx, [rsp + 0x1a8]
mov r8, rsi
call fcn.14010db1d
jmp 0x14007ffce
ud2
mov ecx, 0x30
jmp 0x140080124
mov ecx, 0x70
mov edx, 8
jmp 0x140080183
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
lea r8, [rsp + 0x300]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
lea rax, [0x140151ae8]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes
lea r9, fcn.14007f220
mov edx, 0x2f
call fcn.1401094e0
ud2
mov ecx, 0x180
jmp 0x14008017e
mov ecx, 0x280
mov edx, 0x80
call fcn.140108e10
ud2
call fcn.14002d420
ud2
mov rcx, r14
mov rdx, rdi
jmp 0x140080183
mov edx, 0x80
mov rcx, rdi
jmp 0x140080183