Function at 0x140025510
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], xmm8
movdqa xmmword [rbp + 0x310], xmm7
movaps xmmword [rbp + 0x300], xmm6
and rsp, 0xffffffffffffff80
mov r14, rdx
mov qword [rsp + 0x78], rcx
mov rdi, qword [rdx + 0x10]
test rdi, rdi
jne 0x140025883
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
lea rcx, [rsp + 0x100]
mov r8d, 0x11
call fcn.1400a27c0
movzx eax, byte [rsp + 0x118]
cmp al, 2
je 0x140025740
mov r8, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov r9, qword [rsp + 0x110]
test al, al
jne 0x14002563c
test r9, r9
je 0x14002564a
lea rdx, [r8 + r9]
mov r11, r8
jmp 0x1400255d8
add r11, 2
cmp r10, rdx
cmovne r10, r11
nop word cs:[rax + rax]
mov r11, r10
cmp r10, rdx
je 0x14002563c
lea r10, [r11 + 1]
movzx ebx, byte [r11]
test bl, bl
jns 0x1400255d0
cmp bl, 0xe0
jb 0x1400255b7
cmp bl, 0xed
jne 0x140025610
cmp r10, rdx
je 0x14002563c
lea r10, [r11 + 2]
cmp r10, rdx
je 0x14002563c
cmp byte [r11 + 1], 0x9f
ja 0x140025729
add r11, 3
mov r10, r11
jmp 0x1400255d0
add r11, 2
cmp r10, rdx
cmove r11, r10
xor r10d, r10d
cmp r11, rdx
setne r10b
add r10, r11
cmp bl, 0xf0
jb 0x1400255d0
xor r11d, r11d
cmp r10, rdx
setne r11b
add r10, r11
jmp 0x1400255d0
test r8, r8
je 0x140025740
test r9, r9
jne 0x140025676
xor esi, esi
test rcx, rcx
je 0x14002565f
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test sil, sil
je 0x140025740
test rdi, rdi
je 0x14002584a
jmp 0x140025883
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14002568f
cmp eax, 0x2b
jne 0x14002569a
dec r9
je 0x14002564a
lea r10, [r8 + 1]
jmp 0x14002569d
mov r10, r8
cmp r9, 1
je 0x14002564a
jmp 0x14002569d
mov r10, r8
cmp r9, 0x11
jae 0x1400256dd
xor eax, eax
xor edi, edi
nop word [rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14002564a
lea r11, [rdi + rdi*4]
mov edx, edx
lea rdi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x1400256b0
mov sil, 1
test rcx, rcx
jne 0x140025651
jmp 0x14002565f
xor r11d, r11d
mov esi, 0xa
xor edi, edi
nop word [rax + rax]
cmp r9, r11
je 0x1400256cf
movzx ebx, byte [r10 + r11]
mov rax, rdi
mul rsi
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x14002564a
test dl, dl
jne 0x14002564a
mov rdi, rax
mov eax, ebx
inc r11
add rdi, rax
jae 0x1400256f0
jmp 0x14002564a
cmp al, 2
je 0x140025740
test rcx, rcx
je 0x140025740
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rdx, [0x14014eb61]
lea rcx, [rsp + 0x100]
mov r8d, 0x11
call fcn.1400a27c0
movzx eax, byte [rsp + 0x118]
cmp al, 2
je 0x14002584a
mov r8, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov r9, qword [rsp + 0x110]
test al, al
jne 0x14002581c
test r9, r9
je 0x14002582a
lea rdx, [r8 + r9]
mov r11, r8
jmp 0x1400257b8
add r11, 2
cmp r10, rdx
cmovne r10, r11
nop word [rax + rax]
mov r11, r10
cmp r10, rdx
je 0x14002581c
lea r10, [r11 + 1]
movzx ebx, byte [r11]
test bl, bl
jns 0x1400257b0
cmp bl, 0xe0
jb 0x14002579c
cmp bl, 0xed
jne 0x1400257f0
cmp r10, rdx
je 0x14002581c
lea r10, [r11 + 2]
cmp r10, rdx
je 0x14002581c
cmp byte [r11 + 1], 0x9f
ja 0x140026f59
add r11, 3
mov r10, r11
jmp 0x1400257b0
add r11, 2
cmp r10, rdx
cmove r11, r10
xor r10d, r10d
cmp r11, rdx
setne r10b
add r10, r11
cmp bl, 0xf0
jb 0x1400257b0
xor r11d, r11d
cmp r10, rdx
setne r11b
add r10, r11
jmp 0x1400257b0
test r8, r8
je 0x14002584a
test r9, r9
jne 0x140026e57
xor esi, esi
test rcx, rcx
je 0x14002583f
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test rdi, rdi
setne al
test sil, al
jne 0x140025883
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x120], xmm0
movdqa xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x100], xmm0
lea rcx, [rsp + 0x100]
call sub.KERNEL32.dll_GetSystemInfo
mov edi, dword [rsp + 0x120]
cmp edi, 1
adc edi, 0
cmp rdi, 0xffff
mov ebx, 0xffff
cmovb rbx, rdi
mov qword [rsp + 0x40], r14
movzx r13d, byte [r14 + 0x59]
xorps xmm6, xmm6
movups xmmword [rsp + 0x108], xmm6
movups xmmword [rsp + 0x120], xmm6
mov qword [rsp + 0x100], 8
mov qword [rsp + 0x118], 8
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.1400271c0
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
sub rax, rdx
cmp rax, rbx
jae 0x140025900
lea rcx, [rsp + 0x118]
mov r8, rbx
call fcn.140027280
lea r12, [rsp + 0x100]
mov qword [rsp + 0x38], rbx
jmp 0x14002593d
mov r15, qword [rsp + 0x118]
mov rax, rdi
shl rax, 4
mov qword [r15 + rax], r14
mov byte [r15 + rax + 8], sil
lea r14, [rdi + 1]
mov qword [rsp + 0x128], r14
dec rbx
je 0x140025c35
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test r13b, r13b
je 0x140025a70
test rax, rax
jne 0x14002596e
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026fa0
mov qword [0x1401d2138], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026fa0
mov rdi, rax
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x1400259b2
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026fb1
mov qword [0x1401d2138], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026fb1
mov rsi, rax
mov qword [rax], rdi
mov qword [rax + 8], 0x40
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140025a01
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026f8f
mov qword [0x1401d2138], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026f8f
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r14, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], rsi
movaps xmmword [rcx + 0x180], xmm6
xor esi, esi
lock inc qword [r14]
jg 0x140025b79
jmp 0x140026fc2
test rax, rax
jne 0x140025a8a
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026fa0
mov qword [0x1401d2138], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026fa0
mov rdi, rax
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140025ace
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026fb1
mov qword [0x1401d2138], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026fb1
mov rsi, rax
mov qword [rax], rdi
mov qword [rax + 8], 0x40
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140025b1d
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026f8f
mov qword [0x1401d2138], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026f8f
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r14, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], rsi
movaps xmmword [rcx + 0x180], xmm6
mov sil, 1
lock inc qword [r14]
jle 0x140026fc2
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x93]
mov dword [rsp + 0x2e3], ecx
mov dword [rsp + 0x2e0], eax
mov rdx, qword [rsp + 0x110]
cmp rdx, qword [rsp + 0x108]
jne 0x140025bb7
mov rcx, r12
call fcn.140048860
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x100]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r14
mov qword [rax + rcx + 8], rdi
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], sil
mov r8d, dword [rsp + 0x2e0]
mov r9d, dword [rsp + 0x2e3]
mov dword [rax + rcx + 0x19], r8d
mov dword [rax + rcx + 0x1c], r9d
inc rdx
mov qword [rsp + 0x110], rdx
mov rdi, qword [rsp + 0x128]
cmp rdi, qword [rsp + 0x120]
jne 0x140025910
lea rcx, [rsp + 0x118]
mov rdx, rdi
call fcn.1400d6740
mov rdi, qword [rsp + 0x128]
jmp 0x140025910
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x48], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x108], xmm0
movdqu xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x100], 8
mov qword [rsp + 0x118], 8
lea rcx, [rsp + 0x100]
mov rsi, qword [rsp + 0x38]
mov rdx, rsi
call fcn.1400271c0
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x128]
sub rax, rdx
mov r12, rsi
cmp rax, rsi
jae 0x140025d1c
lea rcx, [rsp + 0x118]
mov r12, qword [rsp + 0x38]
mov r8, r12
call fcn.140027280
jmp 0x140025d1c
mov rsi, qword [rsp + 0x118]
mov rax, rbx
shl rax, 4
mov qword [rsi + rax], r13
mov byte [rsi + rax + 8], 0
inc rbx
mov qword [rsp + 0x128], rbx
dec r12
je 0x140025ef8
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140025d44
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026fa0
mov qword [0x1401d2138], rax
mov r8d, 0x400
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026fa0
mov rbx, rax
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140025d88
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026fb1
mov qword [0x1401d2138], rax
mov r8d, 0x10
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026fb1
mov rsi, rax
mov qword [rax], rbx
mov qword [rax + 8], 0x40
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140025dd7
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026f8f
mov qword [0x1401d2138], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026f8f
mov r13, rax
and r13, 0xffffffffffffff80
mov qword [r13 + 0x78], rax
mov qword [r13 + 0x80], 1
mov qword [r13 + 0x88], 1
mov qword [r13 + 0x100], rsi
pxor xmm0, xmm0
movdqa xmmword [r13 + 0x180], xmm0
lock inc qword [r13 + 0x80]
jle 0x140026fc2
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x93]
mov dword [rsp + 0x2e3], ecx
mov dword [rsp + 0x2e0], eax
mov rdx, qword [rsp + 0x110]
cmp rdx, qword [rsp + 0x108]
jne 0x140025e76
lea rcx, [rsp + 0x100]
call fcn.140048860
mov rdx, qword [rsp + 0x110]
sub r13, 0xffffffffffffff80
mov rax, qword [rsp + 0x100]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov qword [rax + rcx + 8], rbx
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], 0
mov r8d, dword [rsp + 0x2e0]
mov r9d, dword [rsp + 0x2e3]
mov dword [rax + rcx + 0x19], r8d
mov dword [rax + rcx + 0x1c], r9d
inc rdx
mov qword [rsp + 0x110], rdx
mov rbx, qword [rsp + 0x128]
cmp rbx, qword [rsp + 0x120]
jne 0x140025cf0
lea rcx, [rsp + 0x118]
mov rdx, rbx
call fcn.1400d6740
mov rbx, qword [rsp + 0x128]
jmp 0x140025cf0
mov r13, qword [rsp + 0x120]
movdqu xmm0, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x340], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x350], rax
test r14, r14
je 0x140025f98
mov qword [rsp + 0x80], r13
movabs rax, 0x1c71c71c71c71c8
cmp r14, rax
jae 0x1400270bf
lea rax, [r14*8]
lea r13, [rax + rax*8]
test r13, r13
je 0x140025fb7
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x140025f7a
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140025f89
mov rcx, rax
mov qword [0x1401d2138], rax
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
jne 0x140025fbc
mov ecx, 8
mov rdx, r13
call fcn.1400034d0
ud2
mov eax, 8
mov qword [rsp + 0x50], rax
xor edi, edi
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x14002607f
jmp 0x140026090
mov eax, 8
mov r13, r14
shl r13, 4
add r13, r15
lea rcx, [rsp + 0x106]
lea rdx, [rsp + 0x96]
movabs r8, 0xfffffffffffffff
and rdi, r8
inc rdi
pxor xmm0, xmm0
mov qword [rsp + 0x50], rax
mov r8, rax
mov r9, r15
nop word cs:[rax + rax]
mov r10, qword [r9]
movzx r11d, byte [r9 + 8]
movdqu xmmword [rcx], xmm0
mov word [rcx + 0x10], 0
movdqu xmmword [rdx], xmm0
mov qword [r8], 0
mov word [r8 + 8], 0
movups xmm1, xmmword [rsp + 0x100]
movups xmmword [r8 + 0xa], xmm1
mov r12, qword [rsp + 0x110]
mov qword [r8 + 0x1a], r12
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmmword [r8 + 0x22], xmm1
mov r12, qword [rsp + 0x9e]
mov qword [r8 + 0x30], r12
mov qword [r8 + 0x38], r10
mov byte [r8 + 0x40], r11b
add r8, 0x48
add r9, 0x10
cmp r9, r13
jne 0x140026000
mov r13, qword [rsp + 0x80]
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140026090
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x38]
shl r15, 7
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400260c4
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14002711e
mov rcx, rax
mov qword [0x1401d2138], rax
lea r8, [r15 + 0x80]
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14002711e
mov r12, rax
and r12, 0xffffffffffffff80
mov qword [r12 + 0x78], rax
sub r12, 0xffffffffffffff80
mov r8, qword [rsp + 0x38]
cmp r8, 1
jne 0x1400260fa
xor ecx, ecx
jmp 0x140026166
mov ecx, eax
and ecx, 0x7f
mov edx, r8d
and edx, 0xfffe
sub rax, rcx
add rax, 0x110
xor ecx, ecx
nop word cs:[rax + rax]
mov qword [rax - 0x90], 0
mov word [rax - 0x88], 0
mov qword [rax - 0x80], 0
add rcx, 2
mov qword [rax - 0x10], 0
mov word [rax - 8], 0
mov qword [rax], 0
add rax, 0x100
cmp rdx, rcx
jne 0x140026120
test r8b, 1
je 0x140026183
shl rcx, 7
mov qword [r12 + rcx], 0
mov word [r12 + rcx + 8], 0
mov qword [r12 + rcx + 0x10], 0
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x1400261ae
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14002712d
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x5f0
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14002712d
mov r15, rax
mov r8d, 0x5f0
mov rcx, rax
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x350]
mov qword [rsp + 0xa7], rax
movaps xmm0, xmmword [rsp + 0x340]
movups xmmword [rsp + 0x97], xmm0
mov rax, qword [rsp + 0x40]
movups xmm6, xmmword [rax + 0x18]
movdqu xmm7, xmmword [rax + 0x38]
movups xmm8, xmmword [rax + 0x48]
mov qword [rax + 0x18], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x48], 0
movups xmm0, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0x9f]
mov qword [rsp + 0x10f], rax
mov rax, qword [rsp + 0xa7]
mov qword [rsp + 0x117], rax
movaps xmmword [rsp + 0x100], xmm0
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x14002627d
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14002713e
mov rcx, rax
mov qword [0x1401d2138], rax
mov r8d, 0x300
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x14002713e
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], 0
mov qword [rcx + 0x108], r15
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x188], r15
movaps xmmword [rcx + 0x200], xmm6
movdqa xmmword [rcx + 0x210], xmm7
movaps xmmword [rcx + 0x220], xmm8
mov qword [rcx + 0x230], 0
mov byte [rcx + 0x238], 0
movaps xmm0, xmmword [rsp + 0x100]
movups xmmword [rcx + 0x239], xmm0
movdqu xmm0, xmmword [rsp + 0x10f]
movdqu xmmword [rcx + 0x248], xmm0
mov qword [rcx + 0x258], 1
mov qword [rcx + 0x260], r12
mov rax, qword [rsp + 0x38]
mov qword [rcx + 0x268], rax
mov qword [rcx + 0x270], rax
mov qword [rcx + 0x278], 0
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x280], rax
mov qword [rcx + 0x288], r14
mov qword [rcx + 0x290], rdi
xorps xmm6, xmm6
movups xmmword [rsp + 0x320], xmm6
movups xmmword [rsp + 0x330], xmm6
mov r9, qword [rsp + 0x60]
mov qword [rsp + 0x2e0], r9
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x2e8], rax
mov rdx, qword [rsp + 0x88]
mov rax, rdx
shl rax, 5
add rax, r9
mov qword [rsp + 0x2f0], r9
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x2f8], rax
mov qword [rsp + 0x300], rsi
mov qword [rsp + 0x308], r13
lea rax, [rcx + 0x80]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], rax
shl rbx, 4
add rbx, rsi
mov qword [rsp + 0x310], rsi
mov qword [rsp + 0x318], rbx
test rdx, rdx
mov r15, qword [rsp + 0x40]
je 0x140026bda
xor edi, edi
lea rax, [rsp + 0x100]
mov qword [rsp + 0x2c0], rax
movdqa xmm7, xmmword [0x140131d00]
jmp 0x140026455
mov rcx, rdi
call fcn.14010cccc
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x38]
mov r9, rax
cmp rax, qword [rsp + 0x50]
je 0x140026bda
lea r8, [r9 + 0x20]
mov qword [rsp + 0x2f0], r8
movzx r12d, byte [r9 + 0x18]
cmp r12b, 2
je 0x140026bda
mov rax, qword [r9 + 0x10]
mov qword [rsp + 0x110], rax
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x100], xmm0
mov eax, dword [r9 + 0x19]
mov ecx, dword [r9 + 0x1c]
lea rdx, [rsp + 0x119]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov byte [rsp + 0x118], r12b
cmp rsi, rbx
je 0x140026bbf
mov qword [rsp + 0x38], r8
lea rax, [r9 + 0x19]
lea rcx, [rsi + 0x10]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x310], rcx
mov r13, qword [rsi]
movzx r14d, byte [rsi + 8]
mov rcx, qword [r9 + 0x10]
mov qword [rsp + 0x370], rcx
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x360], xmm0
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rsp + 0x73], eax
mov dword [rsp + 0x70], ecx
lea rax, [rdi + 1]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x338], rax
mov rdx, qword [r15 + 0x28]
test rdx, rdx
je 0x140026530
mov rax, qword [r15 + 0x30]
lea rcx, [rsp + 0x100]
mov r8, rdi
call qword [rax + 0x20]
jmp 0x14002653c
mov qword [rsp + 0x100], 0
mov rax, r15
mov r15, qword [r15]
mov rsi, qword [rax + 8]
mov rdx, qword [rsp + 0x58]
lock inc qword [rdx]
jle 0x140026fc2
mov rax, qword [rsp + 0x110]
lea r8, [rsp + 0xd8]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [r8], xmm0
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x98], rsi
mov rax, qword [rsp + 0x370]
lea rcx, [rsp + 0xb0]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x360]
movdqu xmmword [rcx], xmm0
mov byte [rsp + 0xc8], r12b
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x73]
mov dword [r8 - 0xc], ecx
mov dword [r8 - 0xf], eax
mov qword [rsp + 0xa0], r13
mov byte [rsp + 0xa8], r14b
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xf0], rdi
test rdi, rdi
jne 0x140026740
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x58], 0
je 0x140026740
mov rdi, rdx
call fcn.140024230
test rax, rax
je 0x140027017
cmp qword [rax], 0
mov r15, qword [rsp + 0x40]
jne 0x140026cfa
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x90]
call fcn.140023f90
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140026653
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140026f8f
mov qword [0x1401d2138], rax
mov r8d, 0x200
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140026f8f
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
lea rdx, [rsp + 0x100]
call sub.msvcrt.dll_memcpy
call fcn.140024230
test rax, rax
je 0x140027017
cmp qword [rax], 0
jne 0x140027067
mov qword [rax], rsi
cmp qword [rdi + 0x210], 0
je 0x140026f7d
mov rdi, qword [rdi + 0x200]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1401d21e0]
movabs rcx, 0x8000000000000001
lea r14, [rcx - 2]
test rax, r14
jne 0x140026872
xor esi, esi
movzx eax, byte [rdi + 8]
test al, al
jne 0x140027081
mov byte [rdi + 9], 1
lea rcx, [rdi + 0x10]
call sub.KERNEL32.dll_WakeAllConditionVariable
test sil, sil
jne 0x140026430
mov rax, qword [0x1401d21e0]
test rax, r14
je 0x140026430
call fcn.140085890
test al, al
jne 0x140026430
mov byte [rdi + 8], 1
jmp 0x140026430
mov rdi, qword [rsp + 0xd8]
test rdi, rdi
mov r14, qword [rsp + 0x80]
movabs r12, 0x8080808080808080
je 0x1400267b4
mov r14, qword [rsp + 0xe8]
test r14, r14
je 0x1400267b9
js 0x1400270bf
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x14002679a
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x14002714f
mov qword [0x1401d2138], rax
mov rcx, rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
mov r13, rax
test rax, rax
jne 0x1400267bf
jmp 0x14002714f
xor r13d, r13d
jmp 0x1400267cd
mov r13d, 1
mov rcx, r13
mov rdx, rdi
mov r8, r14
call sub.msvcrt.dll_memcpy
test r15, r15
mov rax, qword [rsp + 0x88]
cmovne rax, rsi
mov rsi, rax
mov rdi, rax
je 0x140026819
test r13, r13
je 0x140026826
cmp r14, 0x10
jae 0x14002682d
test r14, r14
je 0x1400268e3
xor ecx, ecx
nop word [rax + rax]
cmp byte [r13 + rcx], 0
je 0x140026fc9
inc rcx
cmp r14, rcx
jne 0x140026800
jmp 0x1400268e3
call fcn.1400a8080
mov rdi, rax
test r13, r13
jne 0x1400267e9
xor ecx, ecx
jmp 0x14002690b
lea rax, [r13 + 7]
and rax, 0xfffffffffffffff8
sub rax, r13
je 0x14002686a
cmp rax, r14
cmovae rax, r14
test rax, rax
je 0x14002686a
xor ecx, ecx
nop dword [rax + rax]
cmp byte [r13 + rcx], 0
je 0x140026fc9
inc rcx
cmp rax, rcx
jne 0x140026850
lea rcx, [r14 - 0x10]
jmp 0x140026890
lea rcx, [r14 - 0x10]
xor eax, eax
jmp 0x140026895
call fcn.140085890
mov esi, eax
xor sil, 1
movzx eax, byte [rdi + 8]
test al, al
je 0x1400266f5
jmp 0x140027081
cmp rax, rcx
ja 0x1400268c1
movdqu xmm0, xmmword [r13 + rax]
movdqa xmm1, xmm0
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
test rdx, r12
jne 0x1400268c1
add rax, 0x10
jmp 0x140026890
mov rdx, r14
sub rdx, rax
je 0x1400268e3
lea r8, [rax + r13]
xor ecx, ecx
nop
cmp byte [r8 + rcx], 0
je 0x140026fc6
inc rcx
cmp rdx, rcx
jne 0x1400268d0
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x110], r14
lea rcx, [rsp + 0x100]
call fcn.1400036c0
mov rcx, rax
call fcn.14007e6b0
lock inc qword [rax]
jle 0x140026fc2
mov r13, rax
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140026945
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140027045
mov qword [0x1401d2138], rax
mov r8d, 0x30
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140027045
mov r15, rax
mov qword [rsp + 0x88], rsi
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rsp + 0xf8], rax
lock inc qword [rax]
jle 0x140026fc2
movzx eax, byte [0x1401d2068]
test al, al
mov qword [rsp + 0x80], r14
je 0x140026a10
mov byte [0x1401d2068], 1
mov qword [rsp + 0x100], 0
call fcn.1400a5d30
test rax, rax
je 0x140027171
mov rsi, qword [rax]
mov qword [rax], 0
test rsi, rsi
je 0x140026a10
lock inc qword [rsi]
jle 0x140026fc2
mov byte [0x1401d2068], 1
mov qword [rsp + 0x100], rsi
call fcn.1400a5d30
test rax, rax
je 0x14002715e
mov rcx, qword [rax]
mov qword [rax], rsi
test rcx, rcx
jne 0x140026a51
jmp 0x140026a5c
movzx eax, byte [0x1401d2068]
test al, al
je 0x140026ba2
mov byte [0x1401d2068], 1
mov qword [rsp + 0x100], 0
call fcn.1400a5d30
test rax, rax
je 0x140027171
mov rcx, qword [rax]
mov qword [rax], 0
xor esi, esi
test rcx, rcx
je 0x140026a5c
lock dec qword [rcx]
jne 0x140026a5c
call fcn.1400245b0
mov r12, qword [rsp + 0xf8]
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x140026a79
lock inc qword [rcx + 0x18]
jle 0x1400270c6
movzx eax, byte [0x1401d21e9]
mov rax, qword [0x1401d2138]
test rax, rax
jne 0x140026aa1
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140027056
mov qword [0x1401d2138], rax
mov r8d, pe_nt_image_headers64
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x140027056
mov qword [rax], r13
mov qword [rax + 8], r15
mov qword [rax + 0x10], rsi
movups xmm0, xmmword [rsp + 0x90]
movdqu xmm1, xmmword [rsp + 0xa0]
movups xmm2, xmmword [rsp + 0xb0]
movups xmm3, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x18], xmm0
movdqu xmmword [rax + 0x28], xmm1
movups xmmword [rax + 0x38], xmm2
movups xmmword [rax + 0x48], xmm3
movups xmm0, xmmword [rsp + 0xd0]
movups xmmword [rax + 0x58], xmm0
movdqu xmm0, xmmword [rsp + 0xe0]
movdqu xmmword [rax + 0x68], xmm0
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 0x78], rcx
mov rcx, rdi
mov rdx, rax
lea r8, [0x14014e838]
call fcn.1400a8270
mov rsi, rdx
test rax, rax
jne 0x140026d8d
mov qword [rsp + 0x2c8], r13
mov qword [rsp + 0x2d0], r12
mov qword [rsp + 0x2d8], rsi
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
lock dec qword [r13]
mov r15, qword [rsp + 0x40]
jne 0x140026b74
mov rcx, qword [rsp + 0x2c8]
call fcn.140024700
mov rax, qword [rsp + 0x2d0]
lock dec qword [rax]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x60]
jne 0x140026442
lea rcx, [rsp + 0x2d0]
call fcn.140024600
jmp 0x140026442
xor esi, esi
mov r12, qword [rsp + 0xf8]
mov rcx, qword [r12 + 0x10]
test rcx, rcx
jne 0x140026a6e
jmp 0x140026a79
mov rax, qword [rsp + 0x100]
lock dec qword [rax]
jne 0x140026bda
lea rcx, [rsp + 0x100]
call fcn.1400b0b10
lea rcx, [rsp + 0x2e0]
call fcn.140027340
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 8], rax
mov qword [rcx], 3
mov rsi, qword [r15 + 0x18]
test rsi, rsi
je 0x140026c31
mov rdi, qword [r15 + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x140026c31
cmp qword [rdi + 0x10], 0x11
jb 0x140026c20
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r15 + 0x28]
test rsi, rsi
je 0x140026c66
mov rdi, qword [r15 + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x140026c66
cmp qword [rdi + 0x10], 0x11
jb 0x140026c55
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r15 + 0x38]
test rsi, rsi
je 0x140026c9b
mov rdi, qword [r15 + 0x40]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x140026c9b
cmp qword [rdi + 0x10], 0x11
jb 0x140026c8a
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r15 + 0x48]
test rsi, rsi
je 0x140026cd0
mov rdi, qword [r15 + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x140026cd0
cmp qword [rdi + 0x10], 0x11
jb 0x140026cbf
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rbp + 0x300]
movaps xmm7, xmmword [rbp + 0x310]
movaps xmm8, xmmword [rbp + 0x320]
lea rsp, [rbp + 0x338]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rsp + 0x78]
mov qword [rax], 1
mov r8, qword [rsp + 0xd8]
test r8, r8
je 0x140026d2c
cmp qword [rsp + 0xe0], 0
je 0x140026d2c
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xb0]
lock dec qword [rax]
je 0x140026e74
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
je 0x140026e93
mov rax, qword [rsp + 0xd0]
lock dec qword [rax]
jne 0x140026d6b
lea rcx, [rsp + 0xd0]
call fcn.140024370
mov r12, qword [rsp + 0x68]
lea rcx, [rsp + 0x2e0]
call fcn.140027340
lock dec qword [r12 + 0x1d8]
je 0x140026de2
jmp 0x140026e39
lock dec qword [r12]
mov r15, qword [rsp + 0x40]
jne 0x140026da6
lea rcx, [rsp + 0xf8]
call fcn.140024600
lock dec qword [r13]
mov r12, qword [rsp + 0x58]
jne 0x140026dba
mov rcx, r13
call fcn.140024700
mov rax, qword [rsp + 0x78]
mov qword [rax], 2
mov qword [rax + 8], rsi
lea rcx, [rsp + 0x2e0]
call fcn.140027340
lock dec qword [r12 + 0x1d8]
jne 0x140026e39
mov rax, qword [r12 + 0x210]
test rax, rax
je 0x140026e39
mov rdi, qword [r12 + 0x200]
add r12, 0x1e0
shl rax, 3
lea rbx, [rax + rax*8]
xor r14d, r14d
xor esi, esi
jmp 0x140026e1c
add r14, 0x48
inc rsi
cmp rbx, r14
je 0x140026e39
mov eax, 3
xchg qword [rdi + r14 + 0x30], rax
cmp rax, 2
jne 0x140026e10
mov rcx, r12
mov rdx, rsi
call fcn.1400238f0
jmp 0x140026e10
mov rax, qword [rsp + 0x68]
lock dec qword [rax]
jne 0x140026bfc
lea rcx, [rsp + 0x68]
call fcn.140024370
jmp 0x140026bfc
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x140026eb7
cmp eax, 0x2b
jne 0x140026ec6
dec r9
je 0x14002582a
lea r10, [r8 + 1]
jmp 0x140026ec9
lea rcx, [rsp + 0xb0]
call fcn.1400b0b10
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x140026d50
lea rcx, [rsp + 0xa0]
call fcn.1400b0b10
mov rax, qword [rsp + 0xd0]
lock dec qword [rax]
je 0x140026d5e
jmp 0x140026d6b
mov r10, r8
cmp r9, 1
je 0x14002582a
jmp 0x140026ec9
mov r10, r8
cmp r9, 0x11
jae 0x140026f14
xor eax, eax
xor edi, edi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14002582a
lea r11, [rdi + rdi*4]
mov edx, edx
lea rdi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140026ee0
mov sil, 1
test rcx, rcx
jne 0x140025831
jmp 0x14002583f
xor r11d, r11d
mov esi, 0xa
xor edi, edi
nop
cmp r9, r11
je 0x140026f03
movzx ebx, byte [r10 + r11]
mov rax, rdi
mul rsi
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x14002582a
test dl, dl
jne 0x14002582a
mov rdi, rax
mov eax, ebx
inc r11
add rdi, rax
jae 0x140026f20
jmp 0x14002582a
cmp al, 2
je 0x14002584a
test rcx, rcx
je 0x14002584a
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14002584a
lea r8, [0x14014e968]
xor ecx, ecx
xor edx, edx
call fcn.140005d60
ud2
mov ecx, pe_nt_image_headers64
mov edx, 0x180
call fcn.1400034d0
ud2
mov ecx, 8
mov edx, 0x400
call fcn.1400034d0
ud2
mov ecx, 8
mov edx, 0x10
call fcn.1400034d0
ud2
ud2
add rcx, rax
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x110], r14
mov qword [rsp + 0x118], rcx
lea rax, [0x14017e6f8]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes
lea r9, [0x14014e878]
lea r8, [rsp + 0x100]
mov edx, 0x2f
call fcn.140008040
ud2
lea rax, [0x14017fb38]
mov qword [rsp + 0x20], rax
lea rcx, [0x14017fa9e]
lea r9, [0x14014e898]
lea r8, [rsp + 0x100]
mov edx, 0x46
call fcn.140008040
ud2
mov ecx, 8
mov edx, 0x30
call fcn.1400034d0
ud2
mov ecx, 8
mov edx, pe_nt_image_headers64
call fcn.1400034d0
ud2
lea rcx, str.assertion_failed:_t.get__.is_null__
lea r8, [0x14014e9f8]
mov edx, 0x23
call fcn.140006a00
ud2
mov qword [rsp + 0x100], rdi
mov byte [rsp + 0x108], sil
lea rax, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rayon_core_1.12.1_src_latch.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14014e8b8]
lea r8, [rsp + 0x100]
mov edx, 0x2b
call fcn.140008040
ud2
call fcn.140003490
ud2
add rcx, 0x10
xor edx, edx
call fcn.140081c70
lea rax, str.too_many_running_threads_in_thread_scope
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], 1
lea rax, str.combase.dll
mov qword [rsp + 0x110], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x118], xmm0
lea rdx, str.library_std_src_thread_scoped.rs
lea rcx, [rsp + 0x100]
call fcn.140005ca0
ud2
mov ecx, pe_nt_image_headers64
mov rdx, r15
call fcn.1400034d0
ud2
mov ecx, 8
mov edx, 0x5f0
call fcn.1400034d0
ud2
mov ecx, pe_nt_image_headers64
mov edx, 0x280
call fcn.1400034d0
ud2
mov ecx, 1
mov rdx, r14
call fcn.1400034d0
ud2
lock dec qword [rsi]
jne 0x140027171
mov rcx, qword [rsp + 0x100]
call fcn.1400da710
lea rax, str.library_std_src_threadlocal.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14017fa9e]
lea r9, [0x140157aa8]
lea r8, [rsp + 0x100]
mov edx, 0x46
call fcn.140008040
ud2