Function at 0x14000e423
Capabilities:
Create thread
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 + 0x140], rcx
mov rdi, qword [rdx + 0x10]
test rdi, rdi
je 0x14000e839
mov eax, 0xffff
cmp rdi, rax
cmovb rax, rdi
mov rdi, rax
mov qword [rsp + 0xa8], 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 + 0x88], rax
mov qword [r14], rax
test rdi, rdi
je 0x14000e4d2
lea rcx, [rsp + 0x200]
mov rdx, rdi
call fcn.14000c271
mov rcx, r14
mov rdx, rdi
call fcn.14000c29f
lea r12, [rsp + 0x300]
lea r13, [rsp + 0x200]
mov qword [rsp + 0x98], rdi
sub rdi, 1
jb 0x14000e5b4
test sil, sil
je 0x14000e510
lea rcx, [rsp + 0xd0]
call fcn.14000c450
mov rax, qword [rsp + 0xd0]
jmp 0x14000e561
push 0x40
pop rcx
call fcn.14000c56c
mov rbx, rax
mov r15, rdx
mov rcx, rax
call fcn.14000c5c1
mov qword [rsp + 0x300], rax
lea rax, [rsp + 0x380]
movaps xmmword [rax], xmm6
mov rcx, r12
call fcn.14000c5ea
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 0x14000f551
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.14000c4b5
jmp 0x14000e4ea
lea rsi, [rsp + 0x218]
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsi - 0x10]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsi - 8]
mov qword [rsp + 0xa0], rax
mov r13, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x90], 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 + 0x98]
mov rdx, rdi
call fcn.14000c271
mov rcx, rsi
mov rdx, rdi
call fcn.14000c29f
lea r15, [rsp + 0xd0]
lea r12, [rsp + 0x300]
sub rdi, 1
jb 0x14000e6a4
mov rcx, r15
call fcn.14000c450
mov rax, qword [rsp + 0xd0]
lock inc qword [rax]
jle 0x14000f551
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.14000c4b5
jmp 0x14000e63e
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x1c0], xmm0
mov r12, qword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x150], rax
mov r14, qword [rsp + 0x228]
mov r15, rbx
test rbx, rbx
mov rdi, qword [rsp + 0x98]
je 0x14000e727
movabs rax, 0x1c71c71c71c71c7
cmp r15, rax
ja 0x14000f555
imul rsi, r15, 0x48
push 8
pop rcx
mov rdx, rsi
call fcn.14000c646
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14000f55c
mov r8, r15
shl r8, 4
add r8, r13
mov qword [rsp + 0x300], r13
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x308], rax
mov qword [rsp + 0x310], r13
mov qword [rsp + 0x318], r8
lea rax, [rsp + 0x206]
lea rcx, [rsp + 0xd6]
xor ebx, ebx
xorps xmm0, xmm0
mov rdx, qword [rsp + 0x88]
cmp r13, r8
je 0x14000e7f4
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 rbx
mov r13, qword [rsp + 0x310]
mov r8, qword [rsp + 0x318]
add rdx, 0x48
jmp 0x14000e776
lea rcx, [rsp + 0x300]
call fcn.14000c64e
test rdi, rdi
mov qword [rsp + 0xb0], r14
je 0x14000e94e
mov rsi, rdi
shl rsi, 7
mov ecx, pe_nt_image_headers64
mov rdx, rsi
call fcn.14000c646
test rax, rax
jne 0x14000e953
mov ecx, pe_nt_image_headers64
jmp 0x14000f55f
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
lea rsi, [rsp + 0x300]
mov rcx, rsi
call fcn.140035f30
lea rdi, [rsp + 0x200]
mov rcx, rdi
mov rdx, rsi
call fcn.14000f688
mov rsi, qword [rdi]
test rsi, rsi
je 0x14000e8a0
mov r8, qword [rsp + 0x210]
lea rdi, [rsp + 0x300]
mov rcx, rdi
mov rdx, rsi
call fcn.140008350
mov bl, byte [rdi]
mov rdi, qword [rdi + 8]
mov rdx, qword [rsp + 0x208]
mov rcx, rsi
call fcn.14000c9af
test bl, bl
je 0x14000e907
lea rdx, [0x14004f119]
lea rsi, [rsp + 0x300]
mov rcx, rsi
call fcn.140035f30
lea rdi, [rsp + 0x200]
mov rcx, rdi
mov rdx, rsi
call fcn.14000f688
mov rsi, qword [rdi]
test rsi, rsi
je 0x14000e910
mov r8, qword [rsp + 0x210]
lea rdi, [rsp + 0x300]
mov rcx, rdi
mov rdx, rsi
call fcn.140008350
mov bl, byte [rdi]
mov rdi, qword [rdi + 8]
mov rdx, qword [rsp + 0x208]
mov rcx, rsi
call fcn.14000c9af
test bl, bl
jne 0x14000e910
test rdi, rdi
jne 0x14000e470
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 0x14000e470
lea rcx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
call fcn.14000bad6
push 1
pop rdi
jmp 0x14000e470
mov eax, pe_nt_image_headers64
mov qword [rsp + 0x90], rax
add rax, 0x10
xor r14d, r14d
cmp rdi, r14
je 0x14000e97e
and qword [rax - 0x10], 0
inc r14
and word [rax - 8], 0
and qword [rax], 0
sub rax, 0xffffffffffffff80
jmp 0x14000e962
lea rsi, [rsp + 0x200]
mov rcx, rsi
call fcn.14000c71b
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x148], r15
mov r15, qword [rsp + 0xa8]
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, 0x100
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov ecx, 0x280
mov edx, pe_nt_image_headers64
call fcn.14000ba52
mov rsi, rax
push 1
pop rax
mov r13, rdi
mov rdi, rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
lea rcx, [rsi + 0x10]
lea rdx, [rsp + 0x300]
mov r8d, 0x170
call sub.msvcrt.dll_memcpy
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 rax, qword [rsp + 0x90]
mov qword [rsi + 0x1e0], rax
mov qword [rsi + 0x1e8], r13
mov qword [rsi + 0x1f0], r14
and qword [rsi + 0x1f8], 0
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0x200], rax
mov rax, qword [rsp + 0x148]
mov qword [rsi + 0x208], rax
mov qword [rsi + 0x210], rbx
mov qword [rsp + 0xc8], rsi
mov rax, qword [rsp + 0xa0]
shl rax, 5
mov r9, qword [rsp + 0xc0]
add rax, r9
mov r8, qword [rsp + 0xb0]
shl r8, 4
add r8, r12
xorps xmm6, xmm6
movups xmmword [rsp + 0x110], xmm6
movups xmmword [rsp + 0x120], xmm6
mov qword [rsp + 0xd0], r9
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], r12
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], r8
mov rax, qword [r15]
mov qword [rsp + 0x90], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0xb8], rax
mov al, byte [r15 + 0x58]
mov byte [rsp + 0x150], al
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x98], rax
mov rdx, qword [r15 + 0x28]
mov rax, qword [r15 + 0x30]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x100]
mov r8, qword [rsp + 0x128]
xor r15d, r15d
mov r12, r9
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xb0], rdx
lea rax, [r15 + r13]
cmp r12, qword [rsp + 0xa0]
je 0x14000f31d
add r12, 0x20
mov sil, byte [r9 + r15*2 + 0x18]
cmp sil, 2
je 0x14000f320
lea rcx, [r9 + r15*2]
movups xmm0, xmmword [rcx]
mov r9, qword [rcx + 0x10]
mov qword [rsp + 0x310], r9
movaps xmmword [rsp + 0x300], xmm0
mov byte [rsp + 0x318], sil
mov r11d, dword [rcx + 0x19]
movzx r10d, word [rcx + 0x1d]
mov cl, byte [rcx + 0x1f]
lea r9, [rsp + 0x370]
mov byte [r9 - 0x51], cl
mov word [r9 - 0x53], r10w
mov dword [r9 - 0x57], r11d
cmp rax, qword [rsp + 0x98]
je 0x14000f33a
mov rcx, r9
mov rdi, qword [r13 + r15]
mov r10b, byte [r13 + r15 + 8]
mov rax, qword [rsp + 0x310]
mov qword [rsp + 0x1f0], rax
movaps xmm0, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x1e0], xmm0
mov eax, dword [r9 - 0x57]
mov ecx, dword [r9 - 0x54]
mov dword [rsp + 0x138], eax
mov dword [rsp + 0x13b], ecx
test rdx, rdx
je 0x14000ecd4
lea rcx, [rsp + 0x300]
mov rbx, r8
mov rax, qword [rsp + 0x148]
mov r14d, r10d
call qword [rax + 0x20]
mov r10d, r14d
mov r8, rbx
jmp 0x14000ecdd
and qword [rsp + 0x300], 0
lea rbx, [r8 + 1]
mov r14, r13
add r13, r15
add r13, 0x10
mov r9, qword [rsp + 0x88]
lock inc qword [r9]
jle 0x14000f539
mov rax, qword [rsp + 0x310]
lea rdx, [rsp + 0x200]
mov qword [rdx + 0x58], rax
movups xmm0, xmmword [rsp + 0x300]
movups xmmword [rdx + 0x48], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x208], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rdx + 0x30], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdx + 0x20], xmm0
mov byte [rsp + 0x238], sil
mov eax, dword [rsp + 0x138]
mov ecx, dword [rsp + 0x13b]
mov dword [rdx + 0x3c], ecx
mov dword [rdx + 0x39], eax
mov qword [rsp + 0x210], rdi
mov byte [rsp + 0x218], r10b
mov qword [rsp + 0x240], r9
mov qword [rsp + 0x260], r8
test r8, r8
jne 0x14000ee48
cmp byte [rsp + 0x150], 0
je 0x14000ee48
call fcn.14000f631
test rax, rax
jne 0x14000f394
lea rdi, [rsp + 0x300]
mov rcx, rdi
lea rdx, [rsp + 0x200]
call fcn.14000d0cb
mov ecx, 0x180
mov edx, pe_nt_image_headers64
call fcn.14000ba52
mov rsi, rax
mov r8d, 0x180
mov rcx, rax
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rsi
call fcn.14000d38a
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x200]
mov rdx, qword [rax + 0x210]
xor r8d, r8d
lea r9, [0x14004ef20]
call fcn.14000d3d1
mov rcx, rax
call fcn.14000d3f6
add r15, 0x10
mov r8, rbx
mov rcx, r12
mov r9, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xb0]
mov r13, r14
jmp 0x14000ebf4
mov qword [rsp + 0x88], r8
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x128], rbx
lea rcx, [rsp + 0x200]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x330], rax
movups xmm0, xmmword [rcx + 0x10]
movups xmm1, xmmword [rcx + 0x20]
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x320], rax
mov al, byte [rcx + 0x38]
mov byte [rsp + 0x328], al
mov eax, dword [rcx + 0x39]
mov dword [rsp + 0x329], eax
movzx eax, word [rcx + 0x3d]
mov word [rsp + 0x32d], ax
mov al, byte [rcx + 0x3f]
mov byte [rsp + 0x32f], al
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
mov rbx, qword [rsp + 0x248]
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0xc0], rax
mov r14, qword [rsp + 0x258]
test rbx, rbx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x98], r14
je 0x14000ef2e
mov rcx, r14
xor edx, edx
call fcn.14000e0ec
mov rdi, rax
mov rsi, rdx
mov rcx, rax
mov rdx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rbx, r14
mov r15, qword [rsp + 0xa8]
push 8
pop r14
jmp 0x14000ef4c
xor edi, edi
mov r15, qword [rsp + 0xa8]
push 8
pop r14
mov rsi, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xb8]
cmp qword [rsp + 0x90], 0
jne 0x14000f09d
mov rdx, qword [0x1400590d8]
test rdx, rdx
je 0x14000ef77
dec rdx
jmp 0x14000f09d
mov r14, rsi
lea rcx, [rsp + 0x158]
lea rdx, str.RUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
push 0xe
pop r8
call fcn.140034f00
mov al, byte [rsp + 0x170]
cmp al, 2
je 0x14000f086
mov r13, qword [rsp + 0x158]
mov r12, qword [rsp + 0x160]
mov r8, qword [rsp + 0x168]
test al, al
jne 0x14000f046
test r8, r8
je 0x14000f04b
lea rax, [r8 + r13]
mov rdx, r13
lea rcx, [rdx + 1]
mov r9b, byte [rdx]
test r9b, r9b
jns 0x14000f03e
cmp r9b, 0xe0
jae 0x14000eff0
add rdx, 2
cmp rcx, rax
cmovne rcx, rdx
jmp 0x14000f03e
cmp r9b, 0xed
jne 0x14000f017
cmp rcx, rax
je 0x14000f046
lea rcx, [rdx + 2]
cmp rcx, rax
je 0x14000f046
cmp byte [rdx + 1], 0x9f
ja 0x14000f304
add rdx, 3
mov rcx, rdx
jmp 0x14000f03e
add rdx, 2
cmp rcx, rax
cmove rdx, rcx
xor ecx, ecx
cmp rdx, rax
setne cl
add rcx, rdx
cmp r9b, 0xf0
jb 0x14000f03e
xor edx, edx
cmp rcx, rax
setne dl
add rcx, rdx
mov rdx, rcx
cmp rcx, rax
jne 0x14000efd1
test r13, r13
je 0x14000f086
lea rcx, [rsp + 0x158]
mov rdx, r13
call fcn.140008350
mov sil, byte [rsp + 0x158]
mov rdx, qword [rsp + 0x160]
test r12, r12
je 0x14000f081
mov rcx, r13
mov r13, rdx
push 1
pop rdx
call fcn.140002f50
mov rdx, r13
test sil, sil
je 0x14000f08b
mov edx, 0x200000
lea rax, [rdx + 1]
mov qword [0x1400590d8], rax
mov rsi, r14
push 8
pop r14
test rdi, rdi
mov qword [rsp + 0xb0], rdx
je 0x14000f0c2
cmp rbx, 0xf
ja 0x14000f0c6
xor edx, edx
cmp rbx, rdx
je 0x14000f0d5
cmp byte [rdi + rdx], 0
je 0x14000f0dc
inc rdx
jmp 0x14000f0b2
xor ecx, ecx
jmp 0x14000f110
xor ecx, ecx
mov rdx, rdi
mov r8, rbx
call fcn.1400078d0
jmp 0x14000f0df
mov rdx, rbx
xor eax, eax
jmp 0x14000f0df
push 1
pop rax
test rax, rax
jne 0x14000f576
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x168], rbx
lea rcx, [rsp + 0x158]
call fcn.140003610
mov rcx, rax
call fcn.140016fc0
mov qword [rsp + 0x198], rax
lock inc qword [rax]
jle 0x14000f551
mov r12, rax
push 0x30
pop rcx
mov rdx, r14
call fcn.14000ba52
mov r13, rax
push 1
pop rax
mov qword [r13], rax
mov qword [r13 + 8], rax
movups xmmword [r13 + 0x10], xmm6
mov qword [rsp + 0x1a0], r13
lock inc qword [r13]
jle 0x14000f551
xor ecx, ecx
call fcn.1400362b0
mov rdi, rax
test rax, rax
je 0x14000f179
lock inc qword [rdi]
jle 0x14000f551
mov rcx, rdi
jmp 0x14000f17b
xor ecx, ecx
call fcn.1400362b0
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x190], rsi
lea rsi, [r13 + 0x10]
mov qword [rsp + 0x158], rax
lea rcx, [rsp + 0x158]
call fcn.14000ddac
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000f1bc
lock inc qword [rcx + 0x18]
jle 0x14000f5b1
mov ecx, pe_nt_image_headers64
mov rdx, r14
call fcn.14000ba52
mov rdx, r14
mov r14, rax
mov qword [rax], r12
mov qword [rax + 8], r13
mov qword [rax + 0x10], rdi
mov rax, qword [rsp + 0x90]
mov qword [r14 + 0x18], rax
mov rax, qword [rsp + 0xb8]
mov qword [r14 + 0x20], rax
movaps xmm0, xmmword [rsp + 0x300]
movaps xmm1, xmmword [rsp + 0x310]
movaps xmm2, xmmword [rsp + 0x320]
movups xmmword [r14 + 0x28], xmm0
movups xmmword [r14 + 0x38], xmm1
movups xmmword [r14 + 0x48], xmm2
mov rax, qword [rsp + 0x330]
mov qword [r14 + 0x58], rax
mov rax, qword [rsp + 0xa0]
mov qword [r14 + 0x60], rax
mov rax, qword [rsp + 0xc0]
mov qword [r14 + 0x68], rax
mov rax, qword [rsp + 0x98]
mov qword [r14 + 0x70], rax
mov rax, qword [rsp + 0x88]
mov qword [r14 + 0x78], rax
mov al, byte [0x140059168]
push 0x10
pop rcx
call fcn.140002ec0
test rax, rax
je 0x14000f569
mov rbx, rax
mov qword [rax], r14
lea rax, fcn.14000ded1
mov qword [rbx + 8], rax
and qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
xor ecx, ecx
mov rdx, qword [rsp + 0xb0]
lea r8, [0x140036990]
mov r9, rbx
call sub.KERNEL32.dll_CreateThread
test rax, rax
je 0x14000f4bd
mov qword [rsp + 0x1a8], r12
mov qword [rsp + 0x1b0], r13
mov qword [rsp + 0x1b8], rax
mov rcx, rax
call sub.KERNEL32.dll_CloseHandle
lea rcx, [rsp + 0x1a8]
call fcn.14000ddcf
lea rcx, [rsp + 0x1b0]
call fcn.14000ddc0
mov r9, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
jmp 0x14000eb96
test r12, r12
je 0x14000f086
mov rcx, r13
push 1
pop rdx
call fcn.140002f50
jmp 0x14000f086
mov r12, rcx
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x128], r8
jmp 0x14000f35f
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x128], r8
lea rcx, [rsp + 0x300]
call fcn.14000c6a5
lea rcx, [rsp + 0xd0]
call fcn.14000f64f
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x140]
mov qword [rcx + 8], rax
mov qword [rcx], 3
mov r15, qword [rsp + 0xa8]
jmp 0x14000f445
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x128], rbx
mov rax, qword [rsp + 0x140]
mov qword [rax], 1
lea rcx, [rsp + 0x200]
call fcn.14000c7c0
mov r15, qword [rsp + 0xa8]
lea rcx, [rsp + 0xd0]
call fcn.14000f64f
mov rcx, qword [rsp + 0x88]
lock dec qword [rcx + 0x1d8]
jne 0x14000f438
imul rdi, qword [rcx + 0x210], 0x48
mov rbx, qword [rcx + 0x200]
add rcx, 0x1e0
xor esi, esi
push 3
pop r14
test rdi, rdi
je 0x14000f438
mov rax, r14
xchg qword [rbx + 0x30], rax
cmp rax, 2
jne 0x14000f42b
mov rdx, rsi
mov r12, rcx
call fcn.14000dc9a
mov rcx, r12
add rbx, 0x48
add rdi, 0xffffffffffffffb8
inc rsi
jmp 0x14000f40b
lea rcx, [rsp + 0xc8]
call fcn.14000c802
mov rcx, qword [r15 + 0x18]
mov rdx, qword [r15 + 0x20]
call fcn.14000ba12
mov rsi, qword [r15 + 0x28]
test rsi, rsi
je 0x14000f479
mov rdi, qword [r15 + 0x30]
mov rcx, rsi
call qword [rdi]
mov r8, qword [rdi + 8]
test r8, r8
je 0x14000f479
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
call fcn.14000ba48
mov rcx, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x40]
call fcn.14000ba12
mov rcx, qword [r15 + 0x48]
mov rdx, qword [r15 + 0x50]
call fcn.14000ba12
movaps xmm6, xmmword [rbp + 0x400]
movaps xmm7, xmmword [rbp + 0x410]
movaps xmm8, xmmword [rbp + 0x420]
lea rsp, [rbp + 0x438]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rsi, qword [rbx]
mov r14, qword [rbx + 8]
mov rcx, rsi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x14000f4dd
mov rdx, qword [r14 + 0x10]
mov rcx, rsi
call fcn.140002f50
push 8
pop rdx
mov rcx, rbx
call fcn.140002f50
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
lea rcx, [rsp + 0x1a0]
call fcn.14000ddc0
lea rcx, [rsp + 0x198]
call fcn.14000ddcf
mov rax, qword [rsp + 0x140]
mov qword [rax], 2
mov qword [rax + 8], rsi
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x88], rax
jmp 0x14000f3d0
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x128], rbx
ud2
call fcn.140003460
ud2
push 8
pop rcx
mov rdx, rsi
call fcn.1400034a0
ud2
push 8
pop rcx
push 0x10
pop rdx
call fcn.1400034a0
ud2
lea r8, [rsp + 0x158]
mov qword [r8], rdi
mov qword [r8 + 8], rsi
mov qword [r8 + 0x10], rbx
mov qword [r8 + 0x18], rdx
lea rax, [0x14004ed88]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadmod.rs
lea r9, [0x14004edc0]
push 0x2f
pop rdx
call fcn.140005c50
ud2
add rcx, 0x10
xor edx, edx
call fcn.140019bb0
lea rax, str.too_many_running_threads_in_thread_scope
lea rcx, [rsp + 0x158]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_threadlocal.rs
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str.library_std_src_thread_scoped.rs
call fcn.140004000
ud2