Function at 0x14000d560
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], xmm8
movdqa xmmword [rbp + 0x390], xmm7
movaps xmmword [rbp + 0x380], xmm6
and rsp, 0xffffffffffffff80
mov rbx, rsp
mov qword [rbx + 0x3f0], rbp
mov qword [rbp + 0x378], 0xfffffffffffffffe
mov qword [rbx + 0xc0], rcx
mov r14, qword [rdx + 0x10]
test r14, r14
mov qword [rbx + 0x88], rdx
jne 0x14000d8fe
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildErrorGlobalPoolAlreadyInitializedCurrentThreadAlreadyInPoolIOError
lea rcx, [rbx + 0x180]
mov r8d, 0x11
call fcn.14001d7a0
mov rcx, qword [rbx + 0x180]
movabs rsi, 0x8000000000000000
cmp rcx, rsi
je 0x14000d7b3
mov r8, qword [rbx + 0x188]
mov r9, qword [rbx + 0x190]
cmp byte [rbx + 0x198], 0
jne 0x14000d6ae
test r9, r9
je 0x14000d6b3
lea rax, [r8 + r9]
mov r10, r8
jmp 0x14000d648
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop word cs:[rax + rax]
mov r10, rdx
cmp rdx, rax
je 0x14000d6ae
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x14000d640
cmp r11b, 0xe0
jb 0x14000d626
cmp r11b, 0xed
jne 0x14000d683
cmp rdx, rax
je 0x14000d6ae
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x14000d6ae
cmp byte [r10 + 1], 0x9f
ja 0x14000d79c
add r10, 3
mov rdx, r10
jmp 0x14000d640
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x14000d640
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x14000d640
test r9, r9
jne 0x14000d6e7
xor edi, edi
test rcx, rcx
je 0x14000d6c9
mov rcx, qword [0x14006ebc8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test dil, dil
je 0x14000d7b3
test r14, r14
mov rdx, qword [rbx + 0x88]
je 0x14000d8bf
jmp 0x14000d8fe
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14000d700
cmp eax, 0x2b
jne 0x14000d70b
dec r9
je 0x14000d6b3
lea r10, [r8 + 1]
jmp 0x14000d70e
mov r10, r8
cmp r9, 1
je 0x14000d6b3
jmp 0x14000d70e
mov r10, r8
cmp r9, 0x11
jae 0x14000d750
xor eax, eax
xor r14d, r14d
nop dword [rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14000d6b3
lea r11, [r14 + r14*4]
mov edx, edx
lea r14, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14000d720
mov dil, 1
test rcx, rcx
jne 0x14000d6ba
jmp 0x14000d6c9
xor r11d, r11d
mov edi, 0xa
xor r14d, r14d
nop dword [rax + rax]
cmp r9, r11
je 0x14000d73f
movzx r15d, byte [r10 + r11]
mov rax, r14
mul rdi
seto dl
add r15d, 0xffffffd0
cmp r15d, 9
ja 0x14000d6b3
test dl, dl
jne 0x14000d6b3
mov r14, rax
mov eax, r15d
inc r11
add r14, rax
jae 0x14000d760
jmp 0x14000d6b3
shl rcx, 1
test rcx, rcx
je 0x14000d7b3
mov rcx, qword [0x14006ebc8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rdx, [0x1400594d1]
lea rcx, [rbx + 0x180]
mov r8d, 0x11
call fcn.14001d7a0
mov rcx, qword [rbx + 0x180]
cmp rcx, rsi
je 0x14000d8bf
mov r8, qword [rbx + 0x188]
mov r9, qword [rbx + 0x190]
cmp byte [rbx + 0x198], 0
jne 0x14000d88e
test r9, r9
je 0x14000d897
lea rax, [r8 + r9]
mov r10, r8
jmp 0x14000d828
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop word cs:[rax + rax]
mov r10, rdx
cmp rdx, rax
je 0x14000d88e
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x14000d820
cmp r11b, 0xe0
jb 0x14000d809
cmp r11b, 0xed
jne 0x14000d863
cmp rdx, rax
je 0x14000d88e
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x14000d88e
cmp byte [r10 + 1], 0x9f
ja 0x14000ee59
add r10, 3
mov rdx, r10
jmp 0x14000d820
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x14000d820
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x14000d820
test r9, r9
jne 0x14000ed3b
xor esi, esi
test rcx, rcx
je 0x14000d8ad
mov rcx, qword [0x14006ebc8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r14, r14
setne al
test sil, al
mov rdx, qword [rbx + 0x88]
jne 0x14000d8fe
pxor xmm0, xmm0
movdqa xmmword [rbx + 0x1a0], xmm0
movdqa xmmword [rbx + 0x190], xmm0
movdqa xmmword [rbx + 0x180], xmm0
lea rcx, [rbx + 0x180]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rdx, qword [rbx + 0x88]
mov r14d, dword [rbx + 0x1a0]
cmp r14d, 1
adc r14d, 0
cmp r14, 0xffff
mov edi, 0xffff
cmovb rdi, r14
movzx r14d, byte [rdx + 0x59]
mov qword [rbx + 0x180], 0
mov qword [rbx + 0x188], 8
xorps xmm6, xmm6
movups xmmword [rbx + 0x190], xmm6
mov qword [rbx + 0x1a0], 8
mov qword [rbx + 0x1a8], 0
lea rcx, [rbx + 0x180]
mov rdx, rdi
call fcn.14004b880
mov rax, qword [rbx + 0x198]
mov rdx, qword [rbx + 0x1a8]
sub rax, rdx
cmp rax, rdi
jae 0x14000d97d
lea rcx, [rbx + 0x198]
mov r8, rdi
call fcn.14004b940
mov rax, rdi
mov qword [rbx + 0x90], rdi
jmp 0x14000d9bb
mov r12, qword [rbx + 0x1a0]
mov rax, r15
shl rax, 4
mov qword [r12 + rax], r13
mov byte [r12 + rax + 8], sil
lea r13, [r15 + 1]
mov qword [rbx + 0x1a8], r13
dec rdi
je 0x14000db9c
movzx eax, byte [0x14006ec58]
mov edx, 0x400
xor ecx, ecx
test r14b, r14b
je 0x14000da80
call fcn.14002f810
test rax, rax
je 0x14000ee9a
mov r15, rax
movzx eax, byte [0x14006ec58]
mov edx, 0x10
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000eea9
mov rsi, rax
mov qword [rax], r15
mov qword [rax + 8], 0x40
movzx eax, byte [0x14006ec58]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ee8b
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r13, [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 [r13]
jg 0x14000db1b
jmp 0x14000ee89
call fcn.14002f810
test rax, rax
je 0x14000ee9a
mov r15, rax
movzx eax, byte [0x14006ec58]
mov edx, 0x10
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000eea9
mov rsi, rax
mov qword [rax], r15
mov qword [rax + 8], 0x40
movzx eax, byte [0x14006ec58]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ee8b
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r13, [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 [r13]
jle 0x14000ee89
mov rdx, qword [rbx + 0x190]
cmp rdx, qword [rbx + 0x180]
jne 0x14000db3e
lea rcx, [rbx + 0x180]
call fcn.14000f0c0
mov rdx, qword [rbx + 0x190]
mov rax, qword [rbx + 0x188]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov qword [rax + rcx + 8], r15
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], sil
inc rdx
mov qword [rbx + 0x190], rdx
mov r15, qword [rbx + 0x1a8]
cmp r15, qword [rbx + 0x198]
jne 0x14000d990
lea rcx, [rbx + 0x198]
mov rdx, r15
call fcn.14000f180
mov r15, qword [rbx + 0x1a8]
jmp 0x14000d990
mov rax, qword [rbx + 0x180]
mov qword [rbx + 0xd0], rax
mov rax, qword [rbx + 0x188]
mov qword [rbx + 0xc8], rax
mov rax, qword [rbx + 0x190]
mov qword [rbx + 0x98], rax
mov rax, qword [rbx + 0x198]
mov qword [rbx + 0xa8], rax
mov qword [rbx + 0x180], 0
mov qword [rbx + 0x188], 8
pxor xmm0, xmm0
movdqu xmmword [rbx + 0x190], xmm0
mov qword [rbx + 0x1a0], 8
mov qword [rbx + 0x1a8], 0
lea rcx, [rbx + 0x180]
mov rsi, qword [rbx + 0x90]
mov rdx, rsi
call fcn.14004b880
mov rax, qword [rbx + 0x198]
mov rdx, qword [rbx + 0x1a8]
sub rax, rdx
mov rcx, rsi
cmp rax, rsi
jae 0x14000dc91
lea rcx, [rbx + 0x198]
mov rsi, qword [rbx + 0x90]
mov r8, rsi
call fcn.14004b940
mov rcx, rsi
jmp 0x14000dc91
mov rcx, qword [rbx + 0xa0]
mov rdi, qword [rbx + 0x1a0]
mov rax, r14
shl rax, 4
mov qword [rdi + rax], rsi
mov byte [rdi + rax + 8], 0
inc r14
mov qword [rbx + 0x1a8], r14
dec rcx
je 0x14000ddc4
mov qword [rbx + 0xa0], rcx
movzx eax, byte [0x14006ec58]
mov edx, 0x400
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ee9a
mov r14, rax
movzx eax, byte [0x14006ec58]
mov edx, 0x10
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000eea9
mov rdi, rax
mov qword [rax], r14
mov qword [rax + 8], 0x40
movzx eax, byte [0x14006ec58]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ee8b
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
mov qword [rsi + 0x80], 1
mov qword [rsi + 0x88], 1
mov qword [rsi + 0x100], rdi
pxor xmm0, xmm0
movdqa xmmword [rsi + 0x180], xmm0
lock inc qword [rsi + 0x80]
jle 0x14000ee89
mov rdx, qword [rbx + 0x190]
cmp rdx, qword [rbx + 0x180]
jne 0x14000dd62
lea rcx, [rbx + 0x180]
call fcn.14000f0c0
mov rdx, qword [rbx + 0x190]
sub rsi, 0xffffffffffffff80
mov rax, qword [rbx + 0x188]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rsi
mov qword [rax + rcx + 8], r14
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], 0
inc rdx
mov qword [rbx + 0x190], rdx
mov r14, qword [rbx + 0x1a8]
cmp r14, qword [rbx + 0x198]
jne 0x14000dc60
lea rcx, [rbx + 0x198]
mov rdx, r14
call fcn.14000f180
mov r14, qword [rbx + 0x1a8]
jmp 0x14000dc60
mov rcx, qword [rbx + 0x198]
movdqu xmm0, xmmword [rbx + 0x180]
movdqa xmmword [rbx + 0x350], xmm0
mov rax, qword [rbx + 0x190]
mov qword [rbx + 0x360], rax
test r13, r13
mov qword [rbx + 0xa0], rcx
je 0x14000ea4d
movabs rax, 0x1c71c71c71c71c8
cmp r13, rax
jae 0x14000efc2
lea rax, [r13*8]
lea rsi, [rax + rax*8]
movzx eax, byte [0x14006ec58]
xor ecx, ecx
mov rdx, rsi
call fcn.14002f810
test rax, rax
je 0x14000efff
mov rdx, r13
shl rdx, 4
add rdx, r12
lea rcx, [rbx + 0x186]
lea r9, [rbx + 0xde]
movabs r8, 0xfffffffffffffff
and r15, r8
inc r15
pxor xmm0, xmm0
mov qword [rbx + 0x140], rax
mov r8, rax
mov rax, r9
mov r9, r12
nop
mov r10, qword [r9]
movzx r11d, byte [r9 + 8]
movdqu xmmword [rcx], xmm0
mov word [rcx + 0x10], 0
movdqu xmmword [rax], xmm0
mov qword [r8], 0
mov word [r8 + 8], 0
movups xmm1, xmmword [rbx + 0x180]
movups xmmword [r8 + 0xa], xmm1
mov rsi, qword [rbx + 0x190]
mov qword [r8 + 0x1a], rsi
movdqu xmm1, xmmword [rbx + 0xd8]
movdqu xmmword [r8 + 0x22], xmm1
mov rsi, qword [rbx + 0xe6]
mov qword [r8 + 0x30], rsi
mov qword [r8 + 0x38], r10
mov byte [r8 + 0x40], r11b
add r8, 0x48
add r9, 0x10
cmp r9, rdx
jne 0x14000de70
mov rax, qword [rbx + 0xa8]
test rax, rax
je 0x14000def7
mov rcx, qword [0x14006ebc8]
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rbx + 0x90]
mov rsi, r12
shl rsi, 7
movzx eax, byte [0x14006ec58]
lea rdx, [rsi + 0x80]
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000efc7
mov r8, rax
and r8, 0xffffffffffffff80
mov qword [r8 + 0x78], rax
sub r8, 0xffffffffffffff80
cmp r12, 1
jne 0x14000df3c
xor ecx, ecx
jmp 0x14000dfa9
mov ecx, eax
and ecx, 0x7f
mov edx, r12d
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 0x14000df60
test byte [rbx + 0x90], 1
je 0x14000dfc6
shl rcx, 7
mov qword [r8 + rcx], 0
mov word [r8 + rcx + 8], 0
mov qword [r8 + rcx + 0x10], 0
mov r12, r8
movzx eax, byte [0x14006ec58]
mov edx, 0x5f0
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000efd4
mov rsi, rax
mov r8d, 0x5f0
mov rcx, rax
xor edx, edx
call fcn.14003c510
mov rax, qword [rbx + 0x360]
mov qword [rbx + 0xef], rax
movaps xmm0, xmmword [rbx + 0x350]
movups xmmword [rbx + 0xdf], xmm0
mov rax, qword [rbx + 0x88]
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 [rbx + 0xd8]
mov rax, qword [rbx + 0xe7]
mov qword [rbx + 0x18f], rax
mov rax, qword [rbx + 0xef]
mov qword [rbx + 0x197], rax
movaps xmmword [rbx + 0x180], xmm0
movzx eax, byte [0x14006ec58]
mov edx, 0x300
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000efe3
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], rsi
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x188], rsi
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 [rbx + 0x180]
movups xmmword [rcx + 0x239], xmm0
movdqu xmm0, xmmword [rbx + 0x18f]
movdqu xmmword [rcx + 0x248], xmm0
mov qword [rcx + 0x258], 1
mov rax, qword [rbx + 0x90]
mov qword [rcx + 0x260], rax
mov qword [rcx + 0x268], r12
mov qword [rcx + 0x270], rax
mov qword [rcx + 0x278], 0
mov qword [rcx + 0x280], r13
mov rax, qword [rbx + 0x140]
mov qword [rcx + 0x288], rax
mov qword [rcx + 0x290], r15
xorps xmm6, xmm6
movups xmmword [rbx + 0x3d0], xmm6
movups xmmword [rbx + 0x3e0], xmm6
mov r10, qword [rbx + 0xc8]
mov qword [rbx + 0x390], r10
mov qword [rbx + 0x398], r10
mov rax, qword [rbx + 0xd0]
mov qword [rbx + 0x3a0], rax
mov rdx, qword [rbx + 0x98]
mov rax, rdx
shl rax, 5
add rax, r10
mov qword [rbx + 0xd0], rax
mov qword [rbx + 0x3a8], rax
mov qword [rbx + 0x3b0], rdi
mov qword [rbx + 0x3b8], rdi
mov rax, qword [rbx + 0xa0]
mov qword [rbx + 0x3c0], rax
lea r13, [rcx + 0x80]
mov qword [rbx + 0xb0], r13
shl r14, 4
add r14, rdi
mov qword [rbx + 0x3c8], r14
test rdx, rdx
mov r8, qword [rbx + 0x88]
je 0x14000ea8a
xor esi, esi
movdqa xmm7, xmmword [0x14004f7e0]
lea r15, [rbx + 0x180]
jmp 0x14000e245
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, qword [rbx + 0xa8]
mov rdi, qword [rbx + 0x90]
mov rax, qword [rbx + 0xa0]
mov r10, rax
cmp rax, qword [rbx + 0xd0]
mov r8, qword [rbx + 0x88]
je 0x14000ea8a
lea r9, [r10 + 0x20]
mov qword [rbx + 0x398], r9
movzx r12d, byte [r10 + 0x18]
cmp r12b, 2
je 0x14000ea8a
mov rax, qword [r10 + 0x10]
mov qword [rbx + 0x190], rax
movups xmm0, xmmword [r10]
movaps xmmword [rbx + 0x180], xmm0
mov eax, dword [r10 + 0x19]
mov ecx, dword [r10 + 0x1c]
lea rdx, [rbx + 0x199]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov byte [rbx + 0x198], r12b
cmp rdi, r14
je 0x14000ea71
mov qword [rbx + 0xa0], r9
lea rax, [r10 + 0x19]
lea rcx, [rdi + 0x10]
mov qword [rbx + 0x90], rcx
mov qword [rbx + 0x3b8], rcx
mov r11, qword [rdi]
movzx edi, byte [rdi + 8]
mov rcx, qword [r10 + 0x10]
mov qword [rbx + 0x380], rcx
movups xmm0, xmmword [r10]
movaps xmmword [rbx + 0x370], xmm0
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rbx + 0xbb], eax
mov dword [rbx + 0xb8], ecx
lea rax, [rsi + 1]
mov qword [rbx + 0xa8], rax
mov qword [rbx + 0x3e8], rax
mov rdx, qword [r8 + 0x28]
test rdx, rdx
je 0x14000e330
mov rax, qword [r8 + 0x30]
mov rcx, r15
mov r8, rsi
mov r15, r11
call qword [rax + 0x20]
mov r11, r15
mov r8, qword [rbx + 0x88]
mov r15, qword [r8]
mov r9, qword [r8 + 8]
lock inc qword [r13]
jg 0x14000e353
jmp 0x14000ee89
movabs rax, 0x8000000000000000
mov qword [rbx + 0x180], rax
mov r15, qword [r8]
mov r9, qword [r8 + 8]
lock inc qword [r13]
jle 0x14000ee89
mov rax, qword [rbx + 0x190]
lea rdx, [rbx + 0xe8]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rbx + 0x180]
movups xmmword [rdx], xmm0
mov qword [rbx + 0xd8], r15
mov qword [rbx + 0xe0], r9
mov rax, qword [rbx + 0x380]
lea rcx, [rbx + 0x110]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rbx + 0x370]
movdqu xmmword [rcx], xmm0
mov byte [rbx + 0x128], r12b
mov eax, dword [rbx + 0xb8]
mov ecx, dword [rbx + 0xbb]
mov dword [rdx + 0x44], ecx
mov dword [rdx + 0x41], eax
mov qword [rbx + 0x100], r11
mov byte [rbx + 0x108], dil
mov qword [rbx + 0x130], r13
mov qword [rbx + 0x138], rsi
test rsi, rsi
jne 0x14000e520
cmp byte [r8 + 0x58], 0
je 0x14000e520
mov eax, dword [0x14006ec5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x48], 0
jne 0x14000ebe2
lea r15, [rbx + 0x180]
mov rcx, r15
lea rdx, [rbx + 0xd8]
call fcn.14000bfd0
movzx eax, byte [0x14006ec58]
mov edx, 0x200
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ee8b
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
mov rdx, r15
call fcn.14003bd90
mov eax, dword [0x14006ec5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x48], 0
jne 0x14000ef20
mov eax, dword [0x14006ec5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x48], rsi
cmp qword [r13 + 0x210], 0
je 0x14000ee79
mov rsi, qword [r13 + 0x208]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14006ec50]
shl rax, 1
test rax, rax
jne 0x14000e731
xor edi, edi
movzx eax, byte [rsi + 8]
test al, al
jne 0x14000ef38
mov byte [rsi + 9], 1
lea rcx, [rsi + 0x10]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
test dil, dil
jne 0x14000e210
mov rax, qword [0x14006ec50]
shl rax, 1
test rax, rax
je 0x14000e210
call fcn.14004c0f0
test al, al
jne 0x14000e210
mov byte [rsi + 8], 1
jmp 0x14000e210
mov rdi, qword [rbx + 0xf8]
movabs rsi, 0x8000000000000000
cmp qword [rbx + 0xe8], rsi
jne 0x14000e550
test r15, r15
jne 0x14000e5a7
jmp 0x14000e631
mov rsi, qword [rbx + 0xf0]
test rdi, rdi
je 0x14000e580
js 0x14000efc2
movzx eax, byte [0x14006ec58]
xor ecx, ecx
mov rdx, rdi
call fcn.14002f810
mov r12, rax
test rax, rax
jne 0x14000e586
jmp 0x14000eff2
mov r12d, 1
mov rcx, r12
mov rdx, rsi
mov r8, rdi
call fcn.14003bd90
test r15, r15
je 0x14000e62e
mov r9, qword [rbx + 0xe0]
mov rsi, rdi
mov rax, qword [rbx + 0x138]
mov qword [rbx + 0x1e0], rax
movups xmm0, xmmword [rbx + 0x128]
movaps xmmword [rbx + 0x1d0], xmm0
movups xmm0, xmmword [rbx + 0x118]
movaps xmmword [rbx + 0x1c0], xmm0
movdqu xmm0, xmmword [rbx + 0xd8]
movdqu xmm1, xmmword [rbx + 0xe8]
movups xmm2, xmmword [rbx + 0xf8]
movups xmm3, xmmword [rbx + 0x108]
movaps xmmword [rbx + 0x1b0], xmm3
movaps xmmword [rbx + 0x1a0], xmm2
movdqa xmmword [rbx + 0x190], xmm1
movdqa xmmword [rbx + 0x180], xmm0
movabs rax, 0x8000000000000000
cmp rsi, rax
mov qword [rbx + 0xc8], r9
jne 0x14000e6b9
xor ecx, ecx
jmp 0x14000e7c7
mov rsi, rdi
mov rax, qword [rbx + 0x138]
mov qword [rbx + 0x1e0], rax
movups xmm0, xmmword [rbx + 0x128]
movaps xmmword [rbx + 0x1d0], xmm0
movups xmm0, xmmword [rbx + 0x118]
movaps xmmword [rbx + 0x1c0], xmm0
movdqu xmm0, xmmword [rbx + 0xd8]
movdqu xmm1, xmmword [rbx + 0xe8]
movups xmm2, xmmword [rbx + 0xf8]
movups xmm3, xmmword [rbx + 0x108]
movaps xmmword [rbx + 0x1b0], xmm3
movaps xmmword [rbx + 0x1a0], xmm2
movdqa xmmword [rbx + 0x190], xmm1
movdqa xmmword [rbx + 0x180], xmm0
call fcn.14002c700
mov r9, rax
movabs rax, 0x8000000000000000
cmp rsi, rax
mov qword [rbx + 0xc8], r9
je 0x14000e627
cmp rdi, 0x10
jae 0x14000e6e8
test rdi, rdi
je 0x14000e7a3
xor ecx, ecx
nop word [rax + rax]
cmp byte [r12 + rcx], 0
je 0x14000eebb
inc rcx
cmp rdi, rcx
jne 0x14000e6d0
jmp 0x14000e7a3
lea rax, [r12 + 7]
and rax, 0xfffffffffffffff8
sub rax, r12
movabs r8, 0x8080808080808080
je 0x14000e729
cmp rax, rdi
cmovae rax, rdi
test rax, rax
je 0x14000e729
xor ecx, ecx
nop
cmp byte [r12 + rcx], 0
je 0x14000eebb
inc rcx
cmp rax, rcx
jne 0x14000e710
lea rcx, [rdi - 0x10]
jmp 0x14000e750
lea rcx, [rdi - 0x10]
xor eax, eax
jmp 0x14000e755
call fcn.14004c0f0
mov edi, eax
xor dil, 1
movzx eax, byte [rsi + 8]
test al, al
je 0x14000e4d1
jmp 0x14000ef38
cmp rax, rcx
ja 0x14000e780
movdqu xmm0, xmmword [r12 + rax]
movdqa xmm1, xmm0
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
test rdx, r8
jne 0x14000e780
add rax, 0x10
jmp 0x14000e750
mov rdx, rdi
sub rdx, rax
je 0x14000e7a3
lea r8, [r12 + rax]
xor ecx, ecx
nop
cmp byte [r8 + rcx], 0
je 0x14000eeb8
inc rcx
cmp rdx, rcx
jne 0x14000e790
mov qword [rbx + 0x150], rsi
mov qword [rbx + 0x158], r12
mov qword [rbx + 0x160], rdi
lea rcx, [rbx + 0x150]
call fcn.140006b50
mov rcx, rax
call fcn.140016ee0
lock inc qword [rax]
jle 0x14000ee89
mov rdi, rax
movzx eax, byte [0x14006ec58]
mov edx, 0x30
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ef02
mov r12, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rbx + 0x148], rax
lock inc qword [rax]
jle 0x14000ee89
movzx eax, byte [0x14006eb20]
test al, al
je 0x14000e8b0
mov byte [0x14006eb20], 1
mov eax, dword [0x14006ec5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
je 0x14000e858
lea rax, [rax + 0x98]
jmp 0x14000e866
call fcn.140022ad0
test rax, rax
je 0x14000f01e
mov rsi, qword [rax]
mov qword [rax], 0
test rsi, rsi
je 0x14000e8b0
lock inc qword [rsi]
jle 0x14000ee89
mov byte [0x14006eb20], 1
mov eax, dword [0x14006ec5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
je 0x14000e8ec
lea rax, [rax + 0x98]
jmp 0x14000e908
movzx eax, byte [0x14006eb20]
test al, al
je 0x14000e8e8
mov byte [0x14006eb20], 1
mov eax, dword [0x14006ec5c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x90], 0
je 0x14000e915
lea rax, [rax + 0x98]
jmp 0x14000e923
xor esi, esi
jmp 0x14000e93f
mov qword [rbx + 0x98], rsi
call fcn.140022ad0
test rax, rax
mov rsi, qword [rbx + 0x98]
je 0x14000f00c
mov rcx, qword [rax]
mov qword [rax], rsi
test rcx, rcx
jne 0x14000e934
jmp 0x14000e93f
call fcn.140022ad0
test rax, rax
je 0x14000f01e
mov rcx, qword [rax]
mov qword [rax], 0
xor esi, esi
test rcx, rcx
je 0x14000e93f
lock dec qword [rcx]
jne 0x14000e93f
call fcn.14000c490
mov r15, qword [rbx + 0x148]
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x14000e95a
lock inc qword [rcx + 0x18]
jle 0x14000ef71
movzx eax, byte [0x14006ec58]
mov edx, 0x80
xor ecx, ecx
call fcn.14002f810
test rax, rax
je 0x14000ef11
mov qword [rax], rdi
mov qword [rax + 8], r12
mov qword [rax + 0x10], rsi
movaps xmm0, xmmword [rbx + 0x180]
movdqa xmm1, xmmword [rbx + 0x190]
movaps xmm2, xmmword [rbx + 0x1a0]
movaps xmm3, xmmword [rbx + 0x1b0]
movups xmmword [rax + 0x18], xmm0
movdqu xmmword [rax + 0x28], xmm1
movups xmmword [rax + 0x38], xmm2
movups xmmword [rax + 0x48], xmm3
movaps xmm0, xmmword [rbx + 0x1c0]
movups xmmword [rax + 0x58], xmm0
movdqa xmm0, xmmword [rbx + 0x1d0]
movdqu xmmword [rax + 0x68], xmm0
mov rcx, qword [rbx + 0x1e0]
mov qword [rax + 0x78], rcx
mov rcx, qword [rbx + 0xc8]
mov rdx, rax
lea r8, [0x140059188]
call fcn.14002cb00
mov rsi, rdx
test rax, rax
jne 0x14000ec60
mov qword [rbx + 0x338], rdi
mov qword [rbx + 0x340], r15
mov qword [rbx + 0x348], rsi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lock dec qword [rdi]
jne 0x14000ea24
mov rcx, qword [rbx + 0x338]
call fcn.14000b460
mov rax, qword [rbx + 0x340]
lock dec qword [rax]
lea r15, [rbx + 0x180]
jne 0x14000e219
lea rcx, [rbx + 0x340]
call fcn.14000c4e0
jmp 0x14000e219
mov eax, 8
mov qword [rbx + 0x140], rax
xor r15d, r15d
mov rax, qword [rbx + 0xa8]
test rax, rax
jne 0x14000dee5
jmp 0x14000def7
mov rax, qword [rbx + 0x180]
lock dec qword [rax]
jne 0x14000ea8a
lea rcx, [rbx + 0x180]
call fcn.140035390
lea rcx, [rbx + 0x390]
call fcn.14000f240
mov rcx, qword [rbx + 0x88]
mov rax, qword [rbx + 0xb0]
mov rdx, qword [rbx + 0xc0]
mov qword [rdx + 8], rax
mov qword [rdx], 3
mov rsi, qword [rcx + 0x18]
test rsi, rsi
je 0x14000eafa
mov rdi, qword [rcx + 0x20]
mov rcx, rsi
call qword [rdi]
mov rcx, qword [rbx + 0x88]
cmp qword [rdi + 8], 0
je 0x14000eafa
cmp qword [rdi + 0x10], 0x11
jb 0x14000eae1
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14006ebc8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbx + 0x88]
mov rsi, qword [rcx + 0x28]
test rsi, rsi
je 0x14000eb3e
mov rdi, qword [rcx + 0x30]
mov rcx, rsi
call qword [rdi]
mov rcx, qword [rbx + 0x88]
cmp qword [rdi + 8], 0
je 0x14000eb3e
cmp qword [rdi + 0x10], 0x11
jb 0x14000eb25
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14006ebc8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbx + 0x88]
mov rsi, qword [rcx + 0x38]
test rsi, rsi
je 0x14000eb82
mov rdi, qword [rcx + 0x40]
mov rcx, rsi
call qword [rdi]
mov rcx, qword [rbx + 0x88]
cmp qword [rdi + 8], 0
je 0x14000eb82
cmp qword [rdi + 0x10], 0x11
jb 0x14000eb69
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14006ebc8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rbx + 0x88]
mov rsi, qword [rcx + 0x48]
test rsi, rsi
je 0x14000ebb8
mov rdi, qword [rcx + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14000ebb8
cmp qword [rdi + 0x10], 0x11
jb 0x14000eba6
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14006ebc8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm6, xmmword [rbp + 0x380]
movaps xmm7, xmmword [rbp + 0x390]
movaps xmm8, xmmword [rbp + 0x3a0]
lea rsp, [rbp + 0x3b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbx + 0xc0]
mov qword [rax], 1
mov rax, qword [rbx + 0xe8]
shl rax, 1
test rax, rax
jne 0x14000ed5c
mov rax, qword [rbx + 0x110]
lock dec qword [rax]
je 0x14000ed83
mov rax, qword [rbx + 0x100]
lock dec qword [rax]
je 0x14000eda0
mov rax, qword [rbx + 0x130]
lock dec qword [rax]
jne 0x14000ec3e
lea rcx, [rbx + 0x130]
call fcn.14000c240
mov r13, qword [rbx + 0xb0]
lea rcx, [rbx + 0x390]
call fcn.14000f240
lock dec qword [r13 + 0x1d8]
je 0x14000eca8
jmp 0x14000ed09
lock dec qword [r15]
jne 0x14000ec72
lea rcx, [rbx + 0x148]
call fcn.14000c4e0
lock dec qword [rdi]
jne 0x14000ec80
mov rcx, rdi
call fcn.14000b460
mov rax, qword [rbx + 0xc0]
mov qword [rax], 2
mov qword [rax + 8], rsi
lea rcx, [rbx + 0x390]
call fcn.14000f240
lock dec qword [r13 + 0x1d8]
jne 0x14000ed09
mov rax, qword [r13 + 0x210]
test rax, rax
je 0x14000ed09
mov rdi, qword [r13 + 0x208]
add r13, 0x1e0
shl rax, 3
lea r14, [rax + rax*8]
xor r15d, r15d
xor esi, esi
jmp 0x14000ecec
add r15, 0x48
inc rsi
cmp r14, r15
je 0x14000ed09
mov eax, 3
xchg qword [rdi + r15 + 0x30], rax
cmp rax, 2
jne 0x14000ece0
mov rcx, r13
mov rdx, rsi
call fcn.14000bbe0
jmp 0x14000ece0
mov rax, qword [rbx + 0xb0]
lock dec qword [rax]
jne 0x14000ed22
lea rcx, [rbx + 0xb0]
call fcn.14000c240
mov rcx, qword [rbx + 0x88]
mov rsi, qword [rcx + 0x18]
test rsi, rsi
jne 0x14000eabf
jmp 0x14000eafa
movzx eax, byte [r8]
cmp eax, 0x2d
je 0x14000edc2
cmp eax, 0x2b
jne 0x14000edd1
dec r9
je 0x14000d897
lea r10, [r8 + 1]
jmp 0x14000edd4
mov r8, qword [rbx + 0xf0]
mov rcx, qword [0x14006ebc8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbx + 0x110]
lock dec qword [rax]
jne 0x14000ec14
lea rcx, [rbx + 0x110]
call fcn.140035390
mov rax, qword [rbx + 0x100]
lock dec qword [rax]
jne 0x14000ec25
lea rcx, [rbx + 0x100]
call fcn.140035390
mov rax, qword [rbx + 0x130]
lock dec qword [rax]
je 0x14000ec32
jmp 0x14000ec3e
mov r10, r8
cmp r9, 1
je 0x14000d897
jmp 0x14000edd4
mov r10, r8
cmp r9, 0x11
jae 0x14000ee14
xor eax, eax
xor r14d, r14d
nop
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14000d897
lea r11, [r14 + r14*4]
mov edx, edx
lea r14, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14000ede0
mov sil, 1
test rcx, rcx
jne 0x14000d89e
jmp 0x14000d8ad
xor r11d, r11d
mov esi, 0xa
xor r14d, r14d
nop
cmp r9, r11
je 0x14000ee03
movzx edi, byte [r10 + r11]
mov rax, r14
mul rsi
seto dl
add edi, 0xffffffd0
cmp edi, 9
ja 0x14000d897
test dl, dl
jne 0x14000d897
mov r14, rax
mov eax, edi
inc r11
add r14, rax
jae 0x14000ee20
jmp 0x14000d897
shl rcx, 1
test rcx, rcx
je 0x14000d8bf
mov rcx, qword [0x14006ebc8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14000d8bf
lea r8, [0x1400592d8]
xor ecx, ecx
xor edx, edx
call fcn.140049c70
ud2
mov ecx, 0x80
mov edx, 0x180
call fcn.140049ae0
mov ecx, 8
mov edx, 0x400
call fcn.140049ae0
mov ecx, 8
mov edx, 0x10
call fcn.140049ae0
add rcx, rax
mov qword [rbx + 0x150], rsi
mov qword [rbx + 0x158], r12
mov qword [rbx + 0x160], rdi
mov qword [rbx + 0x168], rcx
lea rax, [0x140059170]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_std_src_threadmod.rs
lea r9, [0x1400591c8]
lea r8, [rbx + 0x150]
mov edx, 0x2f
call fcn.14004a050
mov ecx, 8
mov edx, 0x30
call fcn.140049ae0
mov ecx, 8
mov edx, 0x80
call fcn.140049ae0
lea rcx, str.assertion_failed:_t.get__.is_null__
lea r8, [0x140059368]
mov edx, 0x23
call fcn.140049d70
mov qword [rbx + 0x180], rsi
mov byte [rbx + 0x188], dil
lea rax, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rayon_core_1.12.1_srclatch.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x1400591e8]
lea r8, [rbx + 0x180]
mov edx, 0x2b
call fcn.14004a050
add rcx, 0x10
xor edx, edx
call fcn.140019780
lea rax, str.too_many_running_threads_in_thread_scope
mov qword [rbx + 0x150], rax
mov qword [rbx + 0x158], 1
lea rax, str.called__Result::unwrap____on_an__Err__value
mov qword [rbx + 0x160], rax
pxor xmm0, xmm0
movdqu xmmword [rbx + 0x168], xmm0
lea rdx, str.library_std_src_thread_scoped.rs
lea rcx, [rbx + 0x150]
call fcn.140049bb0
call fcn.140006a80
mov ecx, 0x80
mov rdx, rsi
call fcn.140049ae0
mov ecx, 8
mov edx, 0x5f0
call fcn.140049ae0
mov ecx, 0x80
mov edx, 0x280
call fcn.140049ae0
mov ecx, 1
mov rdx, rdi
call fcn.140049ae0
mov ecx, 8
mov rdx, rsi
call fcn.140049ae0
lock dec qword [rsi]
jne 0x14000f01e
mov rcx, qword [rbx + 0x98]
call fcn.14000c490
lea rax, [0x14005b2e8]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
lea r9, [0x14005a2c0]
lea r8, [rbx + 0x150]
mov edx, 0x46
call fcn.14004a050
int3