Function at 0x140039d91
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, 0x3b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x320], xmm6
and rsp, 0xffffffffffffff80
mov rax, qword [rcx]
mov rcx, qword [rax]
and qword [rax], 0
test rcx, rcx
je 0x14003a6fb
mov qword [rsp + 0x68], rcx
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
lea rsi, [rsp + 0x200]
push 0x11
pop r8
mov rcx, rsi
call fcn.140079850
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov rdx, rsi
call fcn.14003a727
mov rsi, qword [rdi]
test rsi, rsi
je 0x140039e3f
mov rdi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
lea rbx, [rsp + 0x200]
mov rcx, rbx
mov rdx, rsi
call fcn.14001f490
mov r14b, byte [rbx]
mov rbx, qword [rbx + 8]
mov rcx, rsi
mov rdx, rdi
call fcn.14003829d
test r14b, r14b
je 0x140039eaf
lea rdx, [0x1400e3181]
lea rsi, [rsp + 0x200]
push 0x11
pop r8
mov rcx, rsi
call fcn.140079850
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov rdx, rsi
call fcn.14003a727
mov rsi, qword [rdi]
test rsi, rsi
je 0x140039eb4
mov rdi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
lea rbx, [rsp + 0x200]
mov rcx, rbx
mov rdx, rsi
call fcn.14001f490
mov r14b, byte [rbx]
mov rbx, qword [rbx + 8]
mov rcx, rsi
mov rdx, rdi
call fcn.14003829d
test r14b, r14b
jne 0x140039eb4
test rbx, rbx
jne 0x140039ed5
xorps xmm0, xmm0
lea rsi, [rsp + 0x200]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call sub.kernel32.dll_GetSystemInfo
mov ebx, dword [rsi + 0x20]
mov esi, 0xffff
cmp rbx, rsi
cmovb rsi, rbx
xorps xmm6, xmm6
lea rcx, [rsp + 0x118]
movups xmmword [rcx - 0x10], xmm6
movups xmmword [rcx + 8], xmm6
push 8
pop rax
mov qword [rcx - 0x18], rax
mov qword [rsp + 0x38], rax
mov qword [rcx], rax
test rsi, rsi
je 0x140039f4d
lea rdi, [rsp + 0x100]
mov rcx, rdi
xor edx, edx
mov r8, rsi
call fcn.140038537
mov rcx, rax
call fcn.14000e091
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
sub rax, rdx
cmp rax, rsi
jae 0x140039f4d
lea rcx, [rsp + 0x118]
mov r8, rsi
call fcn.14003848b
mov rcx, rax
call fcn.14000e091
lea r12, [rsp + 0x280]
push 0x40
pop r14
lea r15, [rsp + 0x200]
mov qword [rsp + 0x30], rsi
sub rsi, 1
jb 0x14003a04b
mov rcx, r14
call fcn.140038619
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call fcn.140038678
mov qword [rsp + 0x200], rax
movaps xmmword [r12], xmm6
mov rcx, r15
call fcn.1400386a1
lock inc qword [rax]
jle 0x14003a6bb
mov r13, rax
mov rdx, qword [rsp + 0x110]
cmp rdx, qword [rsp + 0x108]
jne 0x140039fcf
lea rcx, [rsp + 0x100]
call fcn.1400385e3
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x100]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov qword [rax + rcx + 8], rdi
mov qword [rax + rcx + 0x10], rbx
mov byte [rax + rcx + 0x18], 1
inc rdx
mov qword [rsp + 0x110], rdx
mov rdx, qword [rsp + 0x128]
cmp rdx, qword [rsp + 0x120]
jne 0x14003a023
lea rcx, [rsp + 0x118]
call fcn.1400385fe
mov rdx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x118]
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], r13
mov byte [rax + rcx + 8], 1
inc rdx
mov qword [rsp + 0x128], rdx
jmp 0x140039f66
mov r13, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
mov r15, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
test rdx, rdx
je 0x14003a0d2
mov qword [rsp + 0x58], rcx
movabs rax, 0x19999999999999a
xor edi, edi
cmp rdx, rax
setb al
jae 0x14003a713
mov r14, rsi
imul r12, rdx, 0x50
mov dil, al
shl rdi, 3
mov rsi, rdx
mov rcx, rdi
mov rdx, r12
call fcn.140024995
mov rdx, rsi
mov qword [rsp + 0x38], rax
test rax, rax
mov rsi, r14
mov rcx, qword [rsp + 0x58]
je 0x14003a71a
mov qword [rsp + 0x58], rdx
mov rax, rdx
shl rax, 4
xor r12d, r12d
xorps xmm0, xmm0
mov r11, qword [rsp + 0x38]
mov rdx, rcx
test rax, rax
je 0x14003a157
mov r8, qword [rdx]
mov r9b, byte [rdx + 8]
and word [rsp + 0x216], 0
movups xmmword [rsp + 0x206], xmm0
and qword [r11], 0
mov qword [r11 + 8], 1
and qword [r11 + 0x10], 0
and word [r11 + 0x18], 0
movups xmm1, xmmword [rsp + 0x200]
movups xmmword [r11 + 0x1a], xmm1
mov r10, qword [rsp + 0x210]
mov qword [r11 + 0x2a], r10
and qword [r11 + 0x38], 0
add rdx, 0x10
mov qword [r11 + 0x40], r8
mov byte [r11 + 0x48], r9b
inc r12
add rax, 0xfffffffffffffff0
add r11, 0x50
jmp 0x14003a0ec
test rbx, rbx
je 0x14003a16b
shl rbx, 4
push 8
pop rdx
mov r8, rbx
call fcn.140004352
mov r14, qword [rsp + 0x30]
test r14, r14
mov qword [rsp + 0x60], rsi
je 0x14003a1a0
mov rdi, r14
shl rdi, 7
mov ecx, 0x80
mov rdx, rdi
call fcn.140024995
test rax, rax
jne 0x14003a1a5
mov ecx, 0x80
mov rdx, rdi
jmp 0x14003a720
mov eax, 0x80
mov qword [rsp + 0x70], rax
add rax, 0x10
xor esi, esi
cmp r14, rsi
je 0x14003a1cc
and qword [rax - 0x10], 0
inc rsi
and word [rax - 8], 0
and qword [rax], 0
sub rax, 0xffffffffffffff80
jmp 0x14003a1b0
lea r14, [rsp + 0x100]
mov rcx, r14
call fcn.1400386fd
lea rcx, [rsp + 0x270]
mov r8d, pe_nt_image_headers64
mov rdx, r14
call fcn.1400ca0a0
mov ecx, 0x280
mov edx, 0x80
call fcn.140024a33
mov rdi, rax
push 1
pop rbx
mov qword [rax], rbx
mov qword [rax + 8], rbx
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x200]
mov r8d, 0x170
call fcn.1400ca0a0
xorps xmm6, xmm6
movaps xmmword [rdi + 0x180], xmm6
movaps xmmword [rdi + 0x190], xmm6
and qword [rdi + 0x1a0], 0
mov qword [rdi + 0x1b0], rbx
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x1b8], rax
mov rax, qword [rsp + 0x58]
mov qword [rdi + 0x1c0], rax
mov qword [rdi + 0x1c8], r12
push 3
pop rax
mov qword [rdi + 0x1d0], rax
mov rcx, qword [rsp + 0x70]
mov qword [rdi + 0x1e0], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rdi + 0x1e8], rcx
mov qword [rdi + 0x1f0], rsi
and qword [rdi + 0x1f8], 0
mov qword [rdi + 0x200], rax
shl r15, 5
add r15, r13
mov qword [r14], r13
mov rax, qword [rsp + 0x60]
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], r15
and qword [r14 + 0x20], 0
mov qword [rsp + 0x40], rdi
cmp r13, r15
je 0x14003a58f
lea rax, [r13 + 0x20]
mov qword [rsp + 0x110], rax
mov r14b, byte [r13 + 0x18]
cmp r14b, 2
je 0x14003a58f
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0xd0], rax
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0xc0], xmm0
mov eax, dword [r13 + 0x19]
mov ecx, dword [r13 + 0x1c]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4b], ecx
mov rbx, qword [rsp + 0x120]
lea rax, [rbx + 1]
mov qword [rsp + 0x120], rax
and qword [rsp + 0x200], 0
mov r12, qword [rsp + 0x40]
lock inc qword [r12]
jle 0x14003a6bb
mov rsi, qword [rsp + 0x208]
mov r13, qword [rsp + 0x210]
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xe0], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xf0], rax
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x4b]
and qword [rsp + 0x210], 0
mov dword [rsp + 0x50], eax
and qword [rsp + 0x200], 0
mov dword [rsp + 0x53], ecx
mov r15, qword [rsp + 0x218]
mov rdi, qword [rsp + 0x220]
xor eax, eax
test al, al
je 0x14003a3ac
mov rax, qword [rsp + 0x208]
jmp 0x14003a3b1
call fcn.140088cd0
mov qword [rsp + 0x30], rax
mov al, 1
test al, al
mov qword [rsp + 0x38], r13
jne 0x14003a3d8
cmp rdi, 0xf
ja 0x14003a3dc
xor edx, edx
cmp rdi, rdx
je 0x14003a3ea
cmp byte [rdx], 0
je 0x14003a3f1
inc rdx
jmp 0x14003a3c9
xor ecx, ecx
jmp 0x14003a426
xor ecx, ecx
xor edx, edx
mov r8, rdi
call fcn.14001e6d0
jmp 0x14003a3f4
mov rdx, rdi
xor eax, eax
jmp 0x14003a3f4
push 1
pop rax
test rax, rax
jne 0x14003a6bf
and qword [rsp + 0x88], 0
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], rdi
lea rcx, [rsp + 0x88]
call fcn.14000c9a0
mov rcx, rax
call fcn.140071bd0
mov qword [rsp + 0x78], rax
lock inc qword [rax]
jle 0x14003a6bb
mov r13, rax
push 0x30
pop rcx
push 8
pop rdx
call fcn.140024a33
mov rdi, rax
push 1
pop rax
mov qword [rdi], rax
mov qword [rdi + 8], rax
movups xmmword [rdi + 0x10], xmm6
mov qword [rsp + 0x80], rdi
lock inc qword [rdi]
jle 0x14003a6bb
xor ecx, ecx
call fcn.14007da80
mov r15, rax
test rax, rax
mov qword [rsp + 0x60], rsi
je 0x14003a48e
lock inc qword [r15]
jle 0x14003a6bb
mov rcx, r15
jmp 0x14003a490
xor ecx, ecx
call fcn.14007da80
lea rsi, [rdi + 0x10]
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x88]
call fcn.1400399f9
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003a4bf
add rcx, 0x10
call fcn.140074f80
push 0x70
pop rcx
push 8
pop rdx
call fcn.140024a33
mov qword [rax], r13
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r15
and qword [rax + 0x18], 0
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [rax + 0x28], xmm0
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 0x38], rcx
mov byte [rax + 0x40], r14b
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x53]
mov dword [rax + 0x41], ecx
mov dword [rax + 0x44], edx
mov qword [rax + 0x48], r12
and qword [rax + 0x50], 0
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x58], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x60], rcx
mov qword [rax + 0x68], rbx
mov rcx, qword [rsp + 0x30]
mov rdx, rax
lea r8, [0x1400e2e30]
call fcn.140088ea0
mov rsi, rdx
test rax, rax
jne 0x14003a5aa
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], rsi
mov rcx, rsi
call qword [sym.imp.kernel32.dll_CloseHandle]
lea rcx, [rsp + 0xa8]
call fcn.1400130cd
lea rcx, [rsp + 0xb0]
call fcn.1400130df
mov r13, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
jmp 0x14003a2c1
lea rcx, [rsp + 0x100]
call fcn.140039bec
mov rsi, qword [rsp + 0x40]
mov bl, 1
xor edi, edi
jmp 0x14003a636
lea rcx, [rsp + 0x80]
call fcn.1400130df
lea rcx, [rsp + 0x78]
call fcn.1400130cd
lea rcx, [rsp + 0x100]
call fcn.140039bec
mov rdi, qword [rsp + 0x40]
lock dec qword [rdi + 0x1b0]
push 3
pop r12
jne 0x14003a627
mov r14, qword [rdi + 0x1b8]
add r14, 8
imul r15, qword [rdi + 0x1c8], 0x50
add rdi, 0x1d0
xor ebx, ebx
test r15, r15
je 0x14003a627
lock dec qword [r14]
jne 0x14003a61a
mov rax, r12
xchg qword [r14 - 8], rax
mov rcx, rdi
mov rdx, rbx
call fcn.140039808
add r14, 0x50
add r15, 0xffffffffffffffb0
inc rbx
jmp 0x14003a5fd
lea rcx, [rsp + 0x40]
call fcn.140038822
push 1
pop rdi
xor ebx, ebx
xor ecx, ecx
call fcn.14000fda0
xor ecx, ecx
call fcn.14000fda0
xor ecx, ecx
call fcn.14000fda0
test bl, bl
je 0x14003a675
mov qword [rsp + 0x200], rsi
cmp qword [0x14013f3e0], 0
mov rbx, qword [rsp + 0x68]
je 0x14003a67c
lea rcx, [rsp + 0x200]
call fcn.140038822
jmp 0x14003a683
mov rbx, qword [rsp + 0x68]
jmp 0x14003a68a
mov qword [0x14013f3e0], rsi
lea rsi, [0x14013f3e0]
cmp qword [rbx], 0
je 0x14003a699
lea rcx, [rbx + 8]
call fcn.140038382
mov qword [rbx], rdi
mov qword [rbx + 8], rsi
movaps xmm6, xmmword [rbp + 0x320]
lea rsp, [rbp + 0x338]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
lea r8, [rsp + 0x88]
and qword [r8], 0
mov qword [r8 + 8], r15
mov qword [r8 + 0x10], rdi
mov qword [r8 + 0x18], rdx
lea rax, [0x1400e2e18]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes_rustc_5680fa18feaa87f3ff04063800aec256c3d4b4belibrary_std_src_threadmod.rs
lea r9, [0x1400e2e70]
push 0x2f
pop rdx
call fcn.1400cdb80
ud2
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._rustc_5680fa18feaa87f3ff04063800aec256c3d4b4belibrary_std_src_synconce.rs
push 0x2b
pop rdx
call fcn.1400cd8b0
ud2
call fcn.14000c750
ud2
mov rcx, rdi
mov rdx, r12
call fcn.1400cd4f0
ud2