Function at 0x14000f1ac
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 r12, rdx
mov qword [rsp + 0x88], rcx
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x14000f5a3
mov esi, 0xffff
cmp rbx, rsi
cmovb rsi, rbx
mov qword [rsp + 0x50], r12
mov dil, byte [r12 + 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 + 0x48], rax
mov qword [r14], rax
test rsi, rsi
je 0x14000f253
lea rcx, [rsp + 0x200]
mov rdx, rsi
call fcn.14000d0bc
mov rcx, r14
mov rdx, rsi
call fcn.14000d0ea
lea r12, [rsp + 0x300]
lea r13, [rsp + 0x200]
mov qword [rsp + 0x38], rsi
sub rsi, 1
jb 0x14000f332
test dil, dil
je 0x14000f28e
lea rcx, [rsp + 0xc0]
call fcn.14000d270
mov rax, qword [rsp + 0xc0]
jmp 0x14000f2df
push 0x40
pop rcx
call fcn.14000d38c
mov rbx, rax
mov r15, rdx
mov rcx, rax
call fcn.14000d3eb
mov qword [rsp + 0x300], rax
lea rax, [rsp + 0x380]
movaps xmmword [rax], xmm6
mov rcx, r12
call fcn.14000d414
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd0], r15
mov byte [rsp + 0xd8], 1
lock inc qword [rax]
jle 0x14001015b
mov cl, byte [rsp + 0xd8]
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
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.14000d2d5
jmp 0x14000f268
lea rdi, [rsp + 0x218]
mov r13, qword [rdi - 0x18]
mov rax, qword [rdi - 0x10]
mov qword [rsp + 0x80], rax
mov rax, qword [rdi - 8]
mov qword [rsp + 0x30], rax
mov rbx, qword [rdi]
mov rax, qword [rdi + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rdi - 0x10], xmm0
movups xmmword [rdi + 8], xmm0
push 8
pop rax
mov qword [rdi - 0x18], rax
mov qword [rdi], rax
mov rsi, qword [rsp + 0x38]
test rsi, rsi
je 0x14000f3a2
lea rcx, [rsp + 0x200]
mov rdx, rsi
call fcn.14000d0bc
mov rcx, rdi
mov rdx, rsi
call fcn.14000d0ea
lea r14, [rsp + 0xc0]
lea r15, [rsp + 0x200]
lea r12, [rsp + 0x300]
sub rsi, 1
jb 0x14000f420
mov rcx, r14
call fcn.14000d270
mov rax, qword [rsp + 0xc0]
lock inc qword [rax]
jle 0x14001015b
mov cl, byte [rsp + 0xd8]
movups xmm0, xmmword [rsp + 0xc0]
movups xmm1, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x300], xmm0
movaps xmmword [rsp + 0x310], xmm1
mov qword [rsp + 0x320], rax
mov byte [rsp + 0x328], cl
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.14000d2d5
jmp 0x14000f3ba
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 + 0x58], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x60], rax
mov r15, qword [rsp + 0x68]
test r15, r15
mov rsi, qword [rsp + 0x38]
je 0x14000f4ad
movabs rax, 0x1c71c71c71c71c8
xor edi, edi
cmp r15, rax
setb al
jae 0x14001015f
imul r14, r15, 0x48
mov dil, al
shl rdi, 3
mov rcx, rdi
mov rdx, r14
call fcn.14000d470
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140010166
mov rcx, r15
shl rcx, 4
lea rax, [rbx + rcx]
mov qword [rsp + 0x300], rbx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x308], rdx
mov qword [rsp + 0x318], rax
xor r14d, r14d
xorps xmm0, xmm0
mov rdx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000f557
mov r8, qword [rbx]
mov r9b, byte [rbx + 8]
movups xmmword [rsp + 0x206], xmm0
and word [rsp + 0x216], 0
movups xmmword [rsp + 0xc6], xmm0
and qword [rdx], 0
and word [rdx + 8], 0
add rbx, 0x10
movups xmm1, xmmword [rsp + 0x200]
movups xmmword [rdx + 0xa], xmm1
mov r10, qword [rsp + 0x210]
mov qword [rdx + 0x1a], r10
movups xmm1, xmmword [rsp + 0xc0]
movups xmmword [rdx + 0x22], xmm1
mov r10, qword [rsp + 0xce]
mov qword [rdx + 0x30], r10
mov qword [rdx + 0x38], r8
mov byte [rdx + 0x40], r9b
inc r14
add rcx, 0xfffffffffffffff0
add rdx, 0x48
jmp 0x14000f4e0
lea rcx, [rsp + 0x300]
mov qword [rcx + 0x10], rax
call fcn.14000d51d
test rsi, rsi
mov qword [rsp + 0x130], r12
je 0x14000f6c2
mov rdi, rsi
shl rdi, 7
mov ecx, pe_nt_image_headers64
mov rdx, rdi
call fcn.14000d470
test rax, rax
jne 0x14000f6c7
mov ecx, pe_nt_image_headers64
mov rdx, rdi
jmp 0x14001016c
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildErrorGlobalPoolAlreadyInitializedCurrentThreadAlreadyInPoolIOError
lea rsi, [rsp + 0x300]
mov rcx, rsi
call fcn.1400392c0
lea rdi, [rsp + 0x200]
mov rcx, rdi
mov rdx, rsi
call fcn.140010297
mov rsi, qword [rdi]
test rsi, rsi
je 0x14000f60f
mov rdi, qword [rsp + 0x208]
mov r8, qword [rsp + 0x210]
lea r14, [rsp + 0x300]
mov rcx, r14
mov rdx, rsi
call fcn.140008e30
mov r15b, byte [r14]
mov rbx, qword [r14 + 8]
mov rcx, rsi
mov rdx, rdi
call fcn.14000d7dc
test r15b, r15b
je 0x14000f67b
lea rdx, [0x140051dd9]
lea rsi, [rsp + 0x300]
mov rcx, rsi
call fcn.1400392c0
lea rdi, [rsp + 0x200]
mov rcx, rdi
mov rdx, rsi
call fcn.140010297
mov rsi, qword [rdi]
test rsi, rsi
je 0x14000f684
mov rdi, qword [rsp + 0x208]
mov r8, qword [rsp + 0x210]
lea r14, [rsp + 0x300]
mov rcx, r14
mov rdx, rsi
call fcn.140008e30
mov r15b, byte [r14]
mov rbx, qword [r14 + 8]
mov rcx, rsi
mov rdx, rdi
call fcn.14000d7dc
test r15b, r15b
jne 0x14000f684
test rbx, rbx
jne 0x14000f1f9
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 ebx, dword [rsi + 0x20]
test rbx, rbx
jne 0x14000f1f9
lea rcx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
call fcn.14000caf2
push 1
pop rbx
jmp 0x14000f1f9
mov eax, pe_nt_image_headers64
mov qword [rsp + 0x40], rax
add rax, 0x10
xor r12d, r12d
cmp rsi, r12
je 0x14000f6ef
and qword [rax - 0x10], 0
inc r12
and word [rax - 8], 0
and qword [rax], 0
sub rax, 0xffffffffffffff80
jmp 0x14000f6d3
lea rdi, [rsp + 0x200]
mov rcx, rdi
call fcn.14000d478
mov rax, qword [rsp + 0x1d0]
lea rcx, [rsp + 0x370]
mov rsi, qword [rsp + 0x50]
movups xmm6, xmmword [rsi + 0x18]
movups xmm7, xmmword [rsi + 0x38]
movups xmm8, xmmword [rsi + 0x48]
and qword [rsi + 0x18], 0
mov qword [rcx - 0x59], rax
and qword [rsi + 0x38], 0
movaps xmm0, xmmword [rsp + 0x1c0]
and qword [rsi + 0x48], 0
movups xmmword [rcx - 0x69], xmm0
movups xmm0, xmmword [rcx - 0x70]
mov rax, qword [rcx - 0x61]
mov rdx, qword [rcx - 0x59]
lea r15, [rsp + 0x108]
mov qword [r15 - 0x39], rax
mov qword [r15 - 0x31], rdx
movaps xmmword [r15 - 0x48], xmm0
mov r8d, 0x100
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov ecx, 0x280
mov edx, pe_nt_image_headers64
call fcn.14000ca01
mov rdi, rax
push 1
pop rbx
mov qword [rax], rbx
mov qword [rax + 8], rbx
lea rcx, [rax + 0x10]
lea rdx, [rsp + 0x300]
mov r8d, 0x170
call sub.msvcrt.dll_memcpy
movaps xmmword [rdi + 0x180], xmm6
movaps xmmword [rdi + 0x190], xmm7
movaps xmmword [rdi + 0x1a0], xmm8
and qword [rdi + 0x1b0], 0
mov byte [rdi + 0x1b8], 0
movaps xmm0, xmmword [r15 - 0x48]
movups xmmword [rdi + 0x1b9], xmm0
movups xmm0, xmmword [r15 - 0x39]
movups xmmword [rdi + 0x1c8], xmm0
mov qword [rdi + 0x1d8], rbx
mov rax, qword [rsp + 0x40]
mov qword [rdi + 0x1e0], rax
mov rax, qword [rsp + 0x38]
mov qword [rdi + 0x1e8], rax
mov qword [rdi + 0x1f0], r12
mov r12, rsi
and qword [rdi + 0x1f8], 0
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x200], rax
mov rax, qword [rsp + 0x68]
mov qword [rdi + 0x208], rax
mov qword [rdi + 0x210], r14
mov qword [rsp + 0x70], rdi
mov rax, qword [rsp + 0x30]
shl rax, 5
add rax, r13
mov r8, qword [rsp + 0x60]
shl r8, 4
mov rdx, qword [rsp + 0x130]
add r8, rdx
xorps xmm6, xmm6
movups xmmword [rsp + 0x188], xmm6
movups xmmword [rsp + 0x198], xmm6
mov qword [rsp + 0x148], r13
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], r13
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rdx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x180], r8
cmp r13, qword [rsp + 0x30]
je 0x14000ffbe
lea r14, [r13 + 0x20]
mov qword [rsp + 0x158], r14
mov r13b, byte [r13 + 0x18]
cmp r13b, 2
je 0x14000ffbe
mov rax, qword [r14 - 0x10]
mov qword [rsp + 0x310], rax
movups xmm0, xmmword [r14 - 0x20]
movaps xmmword [rsp + 0x300], xmm0
mov eax, dword [r14 - 7]
mov ecx, dword [r14 - 4]
lea rdx, [rsp + 0x370]
mov dword [rdx - 0x54], ecx
mov dword [rdx - 0x57], eax
mov byte [rsp + 0x318], r13b
mov rax, qword [rsp + 0x178]
cmp rax, qword [rsp + 0x180]
je 0x14000ffb1
lea rcx, [rax + 0x10]
mov qword [rsp + 0x178], rcx
mov rbx, qword [rax]
mov dil, byte [rax + 8]
mov rax, qword [r14 - 0x10]
mov qword [rsp + 0x1f0], rax
movups xmm0, xmmword [r14 - 0x20]
movaps xmmword [rsp + 0x1e0], xmm0
mov eax, dword [r14 - 7]
mov ecx, dword [r14 - 4]
mov dword [rsp + 0x7b], ecx
mov dword [rsp + 0x78], eax
mov rsi, qword [rsp + 0x1a0]
lea rax, [rsi + 1]
mov qword [rsp + 0x1a0], rax
mov rdx, qword [r12 + 0x28]
test rdx, rdx
je 0x14000f99a
mov rax, qword [r12 + 0x30]
lea rcx, [rsp + 0x300]
mov r8, rsi
call qword [rax + 0x20]
jmp 0x14000f9a3
and qword [rsp + 0x300], 0
mov r8, qword [r12]
mov r12, qword [r12 + 8]
mov r15, qword [rsp + 0x70]
lock inc qword [r15]
jle 0x14001015b
mov rax, qword [rsp + 0x310]
lea rdx, [rsp + 0x108]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0x300]
movups xmmword [rdx], xmm0
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xc8], r12
mov rax, qword [rsp + 0x1f0]
mov qword [rdx - 0x18], rax
movaps xmm0, xmmword [rsp + 0x1e0]
movups xmmword [rdx - 0x28], xmm0
mov byte [rsp + 0xf8], r13b
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x7b]
mov dword [rdx - 0xc], ecx
mov dword [rdx - 0xf], eax
mov qword [rsp + 0xd0], rbx
mov byte [rsp + 0xd8], dil
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x120], rsi
test rsi, rsi
jne 0x14000fae4
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x58], 0
je 0x14000fae4
call fcn.140010240
test rax, rax
jne 0x14000ffe8
push 0xd
pop rcx
lea rdx, [rsp + 0x200]
mov rdi, rdx
lea rsi, [rsp + 0xc0]
rep movsq qword [rdi], qword [rsi]
lea rdi, [rsp + 0x300]
mov rcx, rdi
call fcn.14000dc24
mov ecx, 0x180
mov edx, pe_nt_image_headers64
call fcn.14000ca01
mov rsi, rax
mov r8d, 0x180
mov rcx, rax
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rcx, rsi
call fcn.14000dee3
mov rcx, qword [r15 + 0x200]
mov rdx, qword [r15 + 0x210]
xor r8d, r8d
lea r9, [0x140051be0]
call fcn.14000df2a
mov rcx, rax
call fcn.14000df4f
mov r13, r14
mov r12, qword [rsp + 0x50]
jmp 0x14000f8b9
lea rcx, [rsp + 0x108]
mov rax, qword [rcx - 8]
mov qword [rsp + 0x230], rax
movups xmm0, xmmword [rcx - 0x38]
movups xmm1, xmmword [rcx - 0x28]
mov rax, qword [rcx - 0x18]
mov qword [rsp + 0x220], rax
mov al, byte [rcx - 0x10]
mov byte [rsp + 0x228], al
mov eax, dword [rcx - 0xf]
mov dword [rsp + 0x229], eax
movzx eax, word [rcx - 0xb]
mov word [rsp + 0x22d], ax
mov al, byte [rcx - 9]
mov byte [rsp + 0x22f], al
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
mov r15, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov r13, qword [rsp + 0x118]
test r15, r15
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x68], r15
je 0x14000fb9f
mov rcx, r13
xor edx, edx
call fcn.14000ee6a
mov r14, rax
mov rbx, rdx
mov rcx, rax
mov rdx, r15
mov r8, r13
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x38]
mov r15, r13
jmp 0x14000fbac
xor r14d, r14d
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x330], rax
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x320], xmm2
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
test r8, r8
cmovne rdi, r12
mov r8, rdi
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], r15
jne 0x14000fd49
mov r8, qword [0x14005d0d0]
test r8, r8
je 0x14000fc1a
dec r8
jmp 0x14000fd49
mov qword [rsp + 0x30], r13
lea rcx, [rsp + 0x90]
lea rdx, str.RUST_MIN_STACKlibrary_std_src_sys_common_thread_info.rs
push 0xe
pop r8
call fcn.140037d20
mov al, byte [rsp + 0xa8]
cmp al, 2
je 0x14000fd29
mov r13, qword [rsp + 0x90]
mov r15, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
test al, al
jne 0x14000fceb
test r8, r8
je 0x14000fcf0
lea rax, [r8 + r13]
mov rdx, r13
lea rcx, [rdx + 1]
mov r9b, byte [rdx]
test r9b, r9b
jns 0x14000fce3
cmp r9b, 0xe0
jae 0x14000fc95
add rdx, 2
cmp rcx, rax
cmovne rcx, rdx
jmp 0x14000fce3
cmp r9b, 0xed
jne 0x14000fcbc
cmp rcx, rax
je 0x14000fceb
lea rcx, [rdx + 2]
cmp rcx, rax
je 0x14000fceb
cmp byte [rdx + 1], 0x9f
ja 0x14000ff98
add rdx, 3
mov rcx, rdx
jmp 0x14000fce3
add rdx, 2
cmp rcx, rax
cmove rdx, rcx
xor ecx, ecx
cmp rdx, rax
setne cl
add rcx, rdx
cmp r9b, 0xf0
jb 0x14000fce3
xor edx, edx
cmp rcx, rax
setne dl
add rcx, rdx
mov rdx, rcx
cmp rcx, rax
jne 0x14000fc76
test r13, r13
je 0x14000fd29
lea rcx, [rsp + 0x90]
mov rdx, r13
call fcn.140008e30
mov bl, byte [rsp + 0x90]
mov r8, qword [rsp + 0x98]
test r15, r15
je 0x14000fd25
mov rcx, r13
mov r13, r8
push 1
pop rdx
call fcn.140003560
mov r8, r13
test bl, bl
je 0x14000fd2f
mov r8d, 0x200000
lea rax, [r8 + 1]
mov qword [0x14005d0d0], rax
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov r13, qword [rsp + 0x30]
test r14, r14
mov qword [rsp + 0x80], r8
je 0x14000fd6f
cmp r15, 0xf
ja 0x14000fd73
xor edx, edx
cmp r15, rdx
je 0x14000fd82
cmp byte [r14 + rdx], 0
je 0x14000fd89
inc rdx
jmp 0x14000fd5e
xor ecx, ecx
jmp 0x14000fdbd
xor ecx, ecx
mov rdx, r14
mov r8, r15
call fcn.140008020
jmp 0x14000fd8c
mov rdx, r15
xor eax, eax
jmp 0x14000fd8c
push 1
pop rax
test rax, rax
jne 0x140010180
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], r15
lea rcx, [rsp + 0x90]
call fcn.140003c30
mov rcx, rax
call fcn.140017e20
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x30], rax
lock inc qword [rax]
jle 0x14001015b
mov rbx, r13
push 0x30
pop rcx
push 8
pop rdx
call fcn.14000ca01
mov r15, rax
push 1
pop rax
mov qword [r15], rax
mov qword [r15 + 8], rax
movups xmmword [r15 + 0x10], xmm6
mov qword [rsp + 0x140], r15
lock inc qword [r15]
jle 0x14001015b
xor ecx, ecx
call fcn.140039920
mov r13, rax
test rax, rax
mov qword [rsp + 0x48], rdi
je 0x14000fe2f
lock inc qword [r13]
jle 0x14001015b
mov rcx, r13
jmp 0x14000fe31
xor ecx, ecx
call fcn.140039920
lea rdi, [r15 + 0x10]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x90]
call fcn.14000ec4d
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000fe62
lock inc qword [rcx + 0x18]
jle 0x1400101bb
mov ecx, pe_nt_image_headers64
push 8
pop rdi
mov rdx, rdi
call fcn.14000ca01
mov r14, rax
mov rax, qword [rsp + 0x30]
mov qword [r14], rax
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], r13
mov rax, qword [rsp + 0x38]
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], r12
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 + 0x68]
mov qword [r14 + 0x60], rax
mov rax, qword [rsp + 0x40]
mov qword [r14 + 0x68], rax
mov qword [r14 + 0x70], rbx
mov qword [r14 + 0x78], rsi
mov al, byte [0x14005d198]
push 0x10
pop rcx
mov rdx, rdi
call fcn.1400034d0
test rax, rax
je 0x140010173
mov rsi, rax
mov qword [rax], r14
lea rax, [0x140051aa0]
mov qword [rsi + 8], rax
and qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
xor ecx, ecx
mov rdx, qword [rsp + 0x80]
lea r8, [0x14003a250]
mov r9, rsi
call sub.KERNEL32.dll_CreateThread
test rax, rax
mov r12, qword [rsp + 0x50]
je 0x1400100eb
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], r15
mov qword [rsp + 0x1b8], rax
mov rcx, rax
call sub.KERNEL32.dll_CloseHandle
lea rcx, [rsp + 0x1a8]
call fcn.14000ec76
lea rcx, [rsp + 0x1b0]
call fcn.14000ec64
mov r13, qword [rsp + 0x158]
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x30], rax
jmp 0x14000f8b9
test r15, r15
je 0x14000fd29
mov rcx, r13
push 1
pop rdx
call fcn.140003560
jmp 0x14000fd29
lea rcx, [rsp + 0x300]
call fcn.14000d574
lea rcx, [rsp + 0x148]
call fcn.14001025e
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 8], rax
mov qword [rcx], 3
jmp 0x140010070
mov rax, qword [rsp + 0x88]
mov qword [rax], 1
lea rcx, [rsp + 0xc0]
call fcn.14000d5ea
mov r12, qword [rsp + 0x50]
lea rcx, [rsp + 0x148]
call fcn.14001025e
lock dec qword [r15 + 0x1d8]
jne 0x140010066
imul rdi, qword [r15 + 0x210], 0x48
mov rbx, qword [r15 + 0x200]
add r15, 0x1e0
xor esi, esi
push 3
pop r14
test rdi, rdi
je 0x140010066
mov rax, r14
xchg qword [rbx + 0x30], rax
cmp rax, 2
jne 0x140010059
mov rcx, r15
mov rdx, rsi
call fcn.14000e870
add rbx, 0x48
add rdi, 0xffffffffffffffb8
inc rsi
jmp 0x14001003c
lea rcx, [rsp + 0x70]
call fcn.14000d62c
mov rcx, qword [r12 + 0x18]
mov rdx, qword [r12 + 0x20]
call fcn.14000c9d0
mov rsi, qword [r12 + 0x28]
test rsi, rsi
je 0x1400100a3
mov rdi, qword [r12 + 0x30]
mov rcx, rsi
call qword [rdi]
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
call fcn.1400015d3
mov rcx, qword [r12 + 0x38]
mov rdx, qword [r12 + 0x40]
call fcn.14000c9d0
mov rcx, qword [r12 + 0x48]
mov rdx, qword [r12 + 0x50]
call fcn.14000c9d0
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 r14, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, r14
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x14001010a
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.140003560
push 8
pop rdx
mov rcx, rsi
call fcn.140003560
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
lea rcx, [rsp + 0x140]
call fcn.14000ec64
lea rcx, [rsp + 0x138]
call fcn.14000ec76
mov rax, qword [rsp + 0x88]
mov qword [rax], 2
mov qword [rax + 8], rsi
mov r15, qword [rsp + 0x70]
jmp 0x140010009
ud2
call fcn.140003a60
ud2
mov rcx, rdi
mov rdx, r14
call fcn.140003aa0
ud2
push 8
pop rcx
push 0x10
pop rdx
call fcn.140003aa0
ud2
lea r8, [rsp + 0x90]
mov qword [r8], r14
mov qword [r8 + 8], rbx
mov qword [r8 + 0x10], r15
mov qword [r8 + 0x18], rdx
lea rax, [0x140051a88]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_std_src_threadmod.rs
lea r9, [0x140051ac0]
push 0x2f
pop rdx
call fcn.140005f00
ud2
add rcx, 0x10
xor edx, edx
call fcn.14001b810
lea rax, str.too_many_running_threads_in_thread_scope_5
lea rcx, [rsp + 0x90]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_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_5
call fcn.140004800
ud2