Function at 0x18004c717
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], xmm6
and rsp, 0xffffffffffffff80
mov rbx, rsp
mov qword [rbx + 0x490], rbp
mov qword [rbp + 0x418], 0xfffffffffffffffe
mov r14, rdx
mov qword [rbx + 0xe0], rcx
mov rdi, qword [rdx + 0x10]
test rdi, rdi
mov qword [rbx + 0x40], rdx
jne 0x18004c8a1
lea rdx, str.RAYON_NUM_THREADSRAYON_RS_NUM_CPUSThreadPoolBuildError
lea rsi, [rbx + 0x180]
mov r8d, 0x11
mov rcx, rsi
call fcn.18005e510
mov rax, qword [rsi]
movabs r14, 0x8000000000000000
cmp rax, r14
je 0x18004c814
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x18004c7c7
test rax, rax
je 0x18004c814
mov r8, qword [rbx + 0x188]
mov rcx, qword [0x1800a14a8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x18004c814
mov r15, qword [rbx + 0x188]
cmp r15, r14
je 0x18004c814
lea rdi, [rbx + 0x180]
mov rsi, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
mov rcx, rdi
mov rdx, rsi
call fcn.180023820
mov r12b, byte [rdi]
mov rdi, qword [rdi + 8]
test r15, r15
je 0x18004c80b
mov rcx, qword [0x1800a14a8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test r12b, r12b
je 0x18004d9ee
lea rdx, [0x180086b99]
lea rsi, [rbx + 0x180]
mov r8d, 0x11
mov rcx, rsi
call fcn.18005e510
mov rax, qword [rsi]
cmp rax, r14
je 0x18004c866
movabs rcx, 0x8000000000000001
cmp rax, rcx
je 0x18004d67d
test rax, rax
je 0x18004c866
mov r8, qword [rbx + 0x188]
mov rcx, qword [0x1800a14a8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r14, qword [rbx + 0x40]
xorps xmm0, xmm0
lea rsi, [rbx + 0x180]
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov edi, dword [rsi + 0x20]
test rdi, rdi
jne 0x18004c8a1
lea rcx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
call fcn.18002815a
mov edi, 1
mov r13d, 0xffff
cmp rdi, r13
cmovb r13, rdi
mov r15b, byte [r14 + 0x59]
xor eax, eax
mov qword [rbx + 0x180], rax
mov ecx, 8
mov qword [rbx + 0x188], rcx
xorps xmm0, xmm0
movups xmmword [rbx + 0x190], xmm0
mov qword [rbx + 0x1a0], rcx
mov qword [rbx + 0x1a8], rax
test r13, r13
mov qword [rbx + 0x50], r13
jne 0x18004d751
mov rsi, qword [rbx + 0x1a0]
mov rdx, qword [rbx + 0x1a8]
mov qword [rbx + 0x58], rdx
xor eax, eax
mov rcx, qword [rbx + 0x180]
mov qword [rbx + 0xf8], rcx
mov rdi, qword [rbx + 0x188]
mov rcx, qword [rbx + 0x190]
mov qword [rbx + 0xc8], rcx
mov rcx, qword [rbx + 0x198]
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x180], rax
mov ecx, 8
mov qword [rbx + 0x188], rcx
xorps xmm0, xmm0
movups xmmword [rbx + 0x190], xmm0
mov qword [rbx + 0x1a0], rcx
mov qword [rbx + 0x1a8], rax
mov edx, 0
mov r14, qword [rbx + 0x50]
test r14, r14
jne 0x18004d90e
mov qword [rbx + 0xe8], rdi
sub rax, rdx
cmp rax, r14
jb 0x18004d92f
mov rdi, r14
lea rcx, [rbx + 0x380]
call fcn.18004a990
mov r14, qword [rbx + 0x380]
lock inc qword [r14]
jle 0x18004db8d
mov r13b, byte [rbx + 0x398]
movups xmm0, xmmword [rbx + 0x380]
movups xmm1, xmmword [rbx + 0x390]
movaps xmmword [rbx + 0x100], xmm0
movaps xmmword [rbx + 0x110], xmm1
mov rdx, qword [rbx + 0x190]
cmp rdx, qword [rbx + 0x180]
jne 0x18004c9e4
lea rcx, [rbx + 0x180]
call fcn.18004aa40
mov rdx, qword [rbx + 0x190]
mov rax, qword [rbx + 0x188]
mov rcx, rdx
shl rcx, 5
movaps xmm0, xmmword [rbx + 0x100]
movaps xmm1, xmmword [rbx + 0x110]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rdx
mov qword [rbx + 0x190], rdx
mov r12, qword [rbx + 0x1a8]
cmp r12, qword [rbx + 0x198]
jne 0x18004ca39
lea rcx, [rbx + 0x198]
mov rdx, r12
call fcn.18004aa76
mov r12, qword [rbx + 0x1a8]
mov r15, qword [rbx + 0x1a0]
mov rax, r12
shl rax, 4
mov qword [r15 + rax], r14
mov byte [r15 + rax + 8], r13b
inc r12
mov qword [rbx + 0x1a8], r12
dec rdi
jne 0x18004c981
mov rax, qword [rbx + 0x190]
mov qword [rbx + 0x350], rax
movups xmm0, xmmword [rbx + 0x180]
movaps xmmword [rbx + 0x340], xmm0
mov rdi, qword [rbx + 0x198]
mov rdx, qword [rbx + 0x58]
test rdx, rdx
je 0x18004cad5
movabs rax, 0x1c71c71c71c71c7
cmp rdx, rax
ja 0x18004daf5
lea rax, [rdx*8]
lea r13, [rax + rax*8]
mov al, byte [0x1800a1528]
xor ecx, ecx
mov rdx, r13
call fcn.180061f70
mov rdx, qword [rbx + 0x58]
test rax, rax
mov r14, qword [rbx + 0x40]
jne 0x18004cade
mov ecx, 8
jmp 0x18004db48
mov eax, 8
mov r14, qword [rbx + 0x40]
mov qword [rbx + 0xf0], rdi
mov rcx, rdx
shl rcx, 4
add rcx, rsi
mov qword [rbx + 0x100], rdx
mov qword [rbx + 0x108], rax
mov qword [rbx + 0x110], 0
mov qword [rbx + 0x180], rsi
mov qword [rbx + 0x188], rsi
mov r8, qword [rbx + 0x48]
mov qword [rbx + 0x190], r8
mov qword [rbx + 0x198], rcx
test rdx, rdx
je 0x18004cbb3
lea r8, [rbx + 0x386]
lea r9, [rbx + 0x66]
xor r10d, r10d
xorps xmm0, xmm0
xor edx, edx
mov r13, qword [rbx + 0x50]
mov r11, qword [rsi]
mov dil, byte [rsi + 8]
mov word [r8 + 0x10], r10w
movups xmmword [r8], xmm0
movups xmmword [r9], xmm0
mov qword [rax], 0
mov word [rax + 8], r10w
movups xmm1, xmmword [rbx + 0x380]
movups xmmword [rax + 0xa], xmm1
mov r14, qword [rbx + 0x390]
mov qword [rax + 0x1a], r14
movups xmm1, xmmword [rbx + 0x60]
movups xmmword [rax + 0x22], xmm1
mov r14, qword [rbx + 0x6e]
mov qword [rax + 0x30], r14
mov qword [rax + 0x38], r11
mov byte [rax + 0x40], dil
inc rdx
add rax, 0x48
add rsi, 0x10
cmp rsi, rcx
jne 0x18004cb48
mov qword [rbx + 0x188], rcx
mov r14, qword [rbx + 0x40]
jmp 0x18004cbb9
xor edx, edx
mov r13, qword [rbx + 0x50]
mov qword [rbx + 0x110], rdx
lea rcx, [rbx + 0x180]
call fcn.18004ac1c
movups xmm0, xmmword [rbx + 0x100]
movaps xmmword [rbx + 0x80], xmm0
mov rax, qword [rbx + 0x110]
mov qword [rbx + 0x90], rax
test r13, r13
je 0x18004cc62
mov rdi, r13
shl rdi, 7
mov al, byte [0x1800a1528]
lea rdx, [rdi + 0x80]
xor ecx, ecx
call fcn.180061f70
test rax, rax
je 0x18004db50
mov rcx, rax
and rcx, 0xffffffffffffff80
lea rdx, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rbx + 0x180], r13
mov qword [rbx + 0x188], rdx
mov qword [rbx + 0x190], 0
add rcx, 0x90
xor edx, edx
xor eax, eax
inc rax
mov qword [rcx - 0x10], rdx
mov word [rcx - 8], 0
mov qword [rcx], rdx
sub rcx, 0xffffffffffffff80
cmp r13, rax
jne 0x18004cc47
jmp 0x18004cc81
mov qword [rbx + 0x180], r13
mov qword [rbx + 0x188], 0x80
mov qword [rbx + 0x190], 0
xor eax, eax
lea rsi, [rbx + 0x1f0]
movups xmm0, xmmword [rsi - 0x70]
movaps xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], rax
lea rdi, [rbx + 0x380]
mov rcx, rdi
call fcn.18004abb9
mov rax, qword [rbx + 0x350]
mov qword [rsi - 0x59], rax
movaps xmm0, xmmword [rbx + 0x340]
movups xmmword [rsi - 0x69], xmm0
mov rax, qword [r14 + 0x18]
mov qword [rbx + 0x50], rax
mov rax, qword [r14 + 0x20]
mov qword [rbx + 0x58], rax
xor eax, eax
mov qword [r14 + 0x18], rax
mov rcx, qword [r14 + 0x38]
mov qword [rbx + 0x48], rcx
mov rcx, qword [r14 + 0x40]
mov qword [rbx + 0x160], rcx
mov qword [r14 + 0x38], rax
mov rcx, r14
mov r14, qword [r14 + 0x48]
mov r13, qword [rcx + 0x50]
mov qword [rcx + 0x48], rax
mov rax, qword [rsi - 0x61]
mov qword [rbx + 0x10f], rax
mov rax, qword [rsi - 0x59]
mov qword [rbx + 0x117], rax
movups xmm0, xmmword [rsi - 0x70]
movaps xmmword [rbx + 0x100], xmm0
mov r8d, 0x100
mov rcx, rsi
mov rdx, rdi
call fcn.180073920
mov al, byte [0x1800a1528]
mov edx, 0x300
xor ecx, ecx
call fcn.180061f70
test rax, rax
je 0x18004db34
mov rsi, rax
and rsi, 0xffffffffffffff80
lea rcx, [rsi + 0x80]
mov qword [rbx + 0xd0], rcx
mov qword [rsi + 0x78], rax
mov edi, 1
mov qword [rsi + 0x80], rdi
mov qword [rsi + 0x88], rdi
lea rcx, [rsi + 0x90]
lea rdx, [rbx + 0x180]
mov r8d, 0x170
call fcn.180073920
mov rax, qword [rbx + 0x50]
mov qword [rsi + 0x200], rax
mov rax, qword [rbx + 0x58]
mov qword [rsi + 0x208], rax
mov rax, qword [rbx + 0x48]
mov qword [rsi + 0x210], rax
mov rax, qword [rbx + 0x160]
mov qword [rsi + 0x218], rax
mov qword [rsi + 0x220], r14
mov qword [rsi + 0x228], r13
xor eax, eax
mov qword [rsi + 0x230], rax
mov byte [rsi + 0x238], 0
lea rdx, [rbx + 0x120]
movaps xmm0, xmmword [rdx - 0x20]
movups xmmword [rsi + 0x239], xmm0
movups xmm0, xmmword [rdx - 0x11]
movups xmmword [rsi + 0x248], xmm0
mov qword [rsi + 0x258], rdi
movaps xmm0, xmmword [rbx + 0x60]
movaps xmmword [rsi + 0x260], xmm0
mov rcx, qword [rbx + 0x70]
mov qword [rsi + 0x270], rcx
mov qword [rsi + 0x278], rax
movaps xmm0, xmmword [rbx + 0x80]
movaps xmmword [rsi + 0x280], xmm0
mov rax, qword [rbx + 0x90]
mov qword [rsi + 0x290], rax
xorps xmm6, xmm6
movups xmmword [rdx + 0x20], xmm6
movups xmmword [rdx + 0x30], xmm6
mov r9, qword [rbx + 0xe8]
mov qword [rdx - 0x20], r9
mov qword [rdx - 0x18], r9
mov rax, qword [rbx + 0xf8]
mov qword [rdx - 0x10], rax
mov rcx, qword [rbx + 0xc8]
mov rax, rcx
shl rax, 5
add rax, r9
mov qword [rbx + 0xf8], rax
mov qword [rdx - 8], rax
mov qword [rdx], r15
mov qword [rdx + 8], r15
mov rax, qword [rbx + 0xf0]
mov qword [rdx + 0x10], rax
shl r12, 4
add r12, r15
mov qword [rdx + 0x18], r12
test rcx, rcx
mov r14, qword [rbx + 0x40]
je 0x18004d5d4
xor esi, esi
lea r8, [r9 + 0x20]
mov qword [rbx + 0x108], r8
mov dil, byte [r9 + 0x18]
cmp dil, 2
je 0x18004d5d4
mov rax, qword [r9 + 0x10]
mov qword [rbx + 0x190], rax
movups xmm0, xmmword [r9]
movaps xmmword [rbx + 0x180], xmm0
mov eax, dword [r9 + 0x19]
mov ecx, dword [r9 + 0x1c]
lea rdx, [rbx + 0x199]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov byte [rbx + 0x198], dil
cmp r15, r12
je 0x18004d5bb
mov qword [rbx + 0x50], r8
lea rax, [r9 + 0x19]
lea rcx, [r15 + 0x10]
mov qword [rbx + 0x58], rcx
mov qword [rbx + 0x128], rcx
mov r13, qword [r15]
mov r15b, byte [r15 + 8]
mov rcx, qword [r9 + 0x10]
mov qword [rbx + 0x370], rcx
movups xmm0, xmmword [r9]
movaps xmmword [rbx + 0x360], xmm0
mov ecx, dword [rax]
mov eax, dword [rax + 3]
mov dword [rbx + 0xdb], eax
mov dword [rbx + 0xd8], ecx
lea rax, [rsi + 1]
mov qword [rbx + 0x48], rax
mov qword [rbx + 0x158], rax
mov rdx, qword [r14 + 0x28]
test rdx, rdx
je 0x18004cf61
mov rax, qword [r14 + 0x30]
lea rcx, [rbx + 0x180]
mov r8, rsi
call qword [rax + 0x20]
jmp 0x18004cf72
movabs rax, 0x8000000000000000
mov qword [rbx + 0x180], rax
mov rax, r14
mov r14, qword [r14]
mov rax, qword [rax + 8]
mov rdx, qword [rbx + 0xd0]
lock inc qword [rdx]
jle 0x18004db8d
mov rcx, qword [rbx + 0x190]
lea r8, [rbx + 0x390]
mov qword [r8 + 0x10], rcx
movups xmm0, xmmword [rbx + 0x180]
movups xmmword [r8], xmm0
mov qword [rbx + 0x380], r14
mov qword [rbx + 0x388], rax
mov rax, qword [rbx + 0x370]
mov qword [r8 + 0x38], rax
movaps xmm0, xmmword [rbx + 0x360]
movups xmmword [r8 + 0x28], xmm0
mov byte [rbx + 0x3d0], dil
mov eax, dword [rbx + 0xd8]
mov ecx, dword [rbx + 0xdb]
mov dword [r8 + 0x44], ecx
mov dword [r8 + 0x41], eax
mov qword [rbx + 0x3a8], r13
mov byte [rbx + 0x3b0], r15b
mov qword [rbx + 0x3d8], rdx
mov qword [rbx + 0x3e0], rsi
test rsi, rsi
jne 0x18004d124
mov rax, qword [rbx + 0x40]
cmp byte [rax + 0x58], 0
je 0x18004d124
lea rcx, [0x180001b10]
call fcn.18004ba4f
test rax, rax
jne 0x18004d6e4
lea rdi, [rbx + 0x180]
mov rcx, rdi
lea rdx, [rbx + 0x380]
call fcn.18004b6f1
mov al, byte [0x1800a1528]
mov edx, 0x200
xor ecx, ecx
call fcn.180061f70
test rax, rax
mov r14, qword [rbx + 0x40]
je 0x18004da24
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
mov rdx, rdi
call fcn.180073920
mov eax, dword [0x1800a152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0xd0], 0
jne 0x18004da69
mov eax, dword [0x1800a152c]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0xd0], rsi
mov rax, qword [rbx + 0xd0]
cmp qword [rax + 0x210], 0
je 0x18004da14
mov rsi, qword [rax + 0x208]
mov rcx, rsi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1800a1520]
shl rax, 1
test rax, rax
jne 0x18004d21d
xor edi, edi
mov al, byte [rsi + 8]
test al, al
jne 0x18004da81
mov byte [rsi + 9], 1
lea rcx, [rsi + 0x10]
call qword [sym.imp.kernel32.dll_WakeAllConditionVariable]
mov rcx, rsi
mov edx, edi
call fcn.18005d820
jmp 0x18004d59d
movabs rax, 0x8000000000000000
mov rdi, rax
cmp qword [rbx + 0x390], rax
mov r13, qword [rbx + 0xf0]
mov r15, qword [rbx + 0xc8]
je 0x18004d195
mov rsi, qword [rbx + 0x398]
mov r13, qword [rbx + 0x3a0]
test r13, r13
je 0x18004d17e
js 0x18004daf5
mov al, byte [0x1800a1528]
xor ecx, ecx
mov rdx, r13
call fcn.180061f70
mov r15, rax
test rax, rax
jne 0x18004d184
jmp 0x18004db43
mov r15d, 1
mov rcx, r15
mov rdx, rsi
mov r8, r13
call fcn.180073920
mov rdi, r13
test r14, r14
mov qword [rbx + 0xc8], r15
je 0x18004d1ad
mov rdx, qword [rbx + 0x388]
jmp 0x18004d285
mov rdx, qword [0x1800a1468]
test rdx, rdx
je 0x18004d1c1
dec rdx
jmp 0x18004d285
mov r8d, 0xe
lea rcx, [rbx + 0x180]
lea rdx, str._VQF__Q2a_Dbg_fatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
call fcn.18005d3f0
mov r14, qword [rbx + 0x180]
movabs rax, 0x8000000000000000
cmp r14, rax
je 0x18004d275
mov rsi, qword [rbx + 0x188]
mov r8, qword [rbx + 0x190]
lea r15, [rbx + 0x60]
mov rcx, r15
mov rdx, rsi
call fcn.180020d30
cmp qword [rbx + 0x60], 0
je 0x18004d22d
xor r15d, r15d
jmp 0x18004d24c
call fcn.180079cf0
mov edi, eax
xor dil, 1
jmp 0x18004d0fc
mov rdx, qword [rbx + 0x68]
mov r8, qword [rbx + 0x70]
mov rcx, r15
call fcn.180023820
xor r15d, r15d
cmp byte [rbx + 0x60], 0
sete r15b
mov rdx, qword [rbx + 0x68]
test r14, r14
je 0x18004d269
mov rcx, qword [0x1800a14a8]
mov r14, rdx
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdx, r14
test r15, r15
mov r15, qword [rbx + 0xc8]
jne 0x18004d27a
mov edx, 0x200000
lea rax, [rdx + 1]
mov qword [0x1800a1468], rax
movabs rax, 0x8000000000000000
cmp rdi, rax
mov qword [rbx + 0xf0], r13
mov qword [rbx + 0xe8], rdx
jne 0x18004d2a9
xor ecx, ecx
jmp 0x18004d410
cmp r13, 0x10
jae 0x18004d2ce
test r13, r13
lea rcx, [rbx + 0x60]
je 0x18004d2e1
xor edx, edx
cmp byte [r15 + rdx], 0
je 0x18004d2e7
inc rdx
cmp r13, rdx
jne 0x18004d2ba
mov rdx, r13
jmp 0x18004d2e3
xor ecx, ecx
mov rdx, r15
mov r8, r13
call fcn.180022e50
lea rcx, [rbx + 0x60]
jmp 0x18004d2ec
xor edx, edx
xor eax, eax
jmp 0x18004d2ec
mov eax, 1
test rax, rax
jne 0x18004dafa
mov qword [rbx + 0x80], rdi
mov qword [rbx + 0x88], r15
mov qword [rbx + 0x90], r13
cmp rdi, r13
je 0x18004d314
mov r14, r15
jmp 0x18004d392
mov rsi, r13
inc rsi
je 0x18004db62
test rdi, rdi
je 0x18004d33a
mov qword [rbx + 0x180], r15
mov qword [rbx + 0x190], rdi
mov eax, 1
jmp 0x18004d33c
xor eax, eax
mov rdx, rsi
not rdx
shr rdx, 0x3f
mov qword [rbx + 0x188], rax
mov r8, rsi
lea r9, [rbx + 0x180]
call fcn.18001b240
cmp qword [rbx + 0x60], 0
mov rcx, qword [rbx + 0x68]
je 0x18004d37e
mov r14, r15
movabs rax, 0x8000000000000001
cmp rcx, rax
je 0x18004d392
jmp 0x18004db5d
mov qword [rbx + 0x88], rcx
mov qword [rbx + 0x80], rsi
mov r14, rcx
mov rdi, rsi
mov rsi, r13
cmp r13, rdi
jne 0x18004d3c2
mov byte [rbx + 0x3f], 0
lea rcx, [rbx + 0x80]
mov rdx, r13
call fcn.18001b2d0
mov rsi, qword [rbx + 0x90]
mov rdi, qword [rbx + 0x80]
mov r14, qword [rbx + 0x88]
mov byte [r14 + rsi], 0
inc rsi
mov qword [rbx + 0x90], rsi
cmp rdi, rsi
jbe 0x18004d3fd
mov rcx, qword [0x1800a14a8]
xor edx, edx
test rsi, rsi
je 0x18004d402
mov r8, r14
mov r9, rsi
call qword [sym.imp.kernel32.dll_HeapReAlloc]
mov rcx, rax
test rax, rax
jne 0x18004d410
jmp 0x18004db6d
mov rcx, r14
jmp 0x18004d410
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
mov ecx, 1
mov rdx, rsi
call fcn.180057a60
lock inc qword [rax]
jle 0x18004db8d
mov r13, rax
mov al, byte [0x1800a1528]
mov edx, 0x30
xor ecx, ecx
call fcn.180061f70
test rax, rax
je 0x18004da33
mov rsi, rax
mov eax, 1
mov qword [rsi], rax
mov qword [rsi + 8], rax
movups xmmword [rsi + 0x10], xmm6
mov qword [rbx + 0x60], rsi
lock inc qword [rsi]
jle 0x18004db8d
xor ecx, ecx
call fcn.180060d20
mov rdi, rax
test rax, rax
je 0x18004d47f
lock inc qword [rdi]
jle 0x18004db8d
mov rcx, rdi
jmp 0x18004d481
xor ecx, ecx
call fcn.180060d20
test rax, rax
je 0x18004d499
lock dec qword [rax]
jne 0x18004d499
mov rcx, rax
call fcn.18004baa0
mov r14, qword [rbx + 0x60]
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x18004d4b1
lock inc qword [rcx + 0x18]
jle 0x18004dab3
mov al, byte [0x1800a1528]
mov edx, 0x80
xor ecx, ecx
call fcn.180061f70
test rax, rax
je 0x18004da42
mov qword [rax], r13
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rdi
mov rdi, rax
add rdi, 0x18
mov ecx, 0xd
lea rsi, [rbx + 0x380]
rep movsq qword [rdi], qword [rsi]
mov rdi, rax
mov al, byte [0x1800a1528]
mov edx, 0x10
xor ecx, ecx
call fcn.180061f70
test rax, rax
je 0x18004da51
mov rsi, rax
mov qword [rax], rdi
lea rax, [0x1800866d0]
mov qword [rsi + 8], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x10000
xor ecx, ecx
mov rdx, qword [rbx + 0xe8]
lea r8, [0x1800615d0]
mov r9, rsi
call qword [sym.imp.kernel32.dll_CreateThread]
test rax, rax
je 0x18004d70e
mov qword [rbx + 0x168], r13
mov qword [rbx + 0x170], r14
mov qword [rbx + 0x178], rax
mov rcx, rax
call qword [sym.imp.kernel32.dll_CloseHandle]
lock dec qword [r13]
jne 0x18004d580
mov rcx, qword [rbx + 0x168]
call fcn.180027c7d
mov rax, qword [rbx + 0x170]
lock dec qword [rax]
mov r14, qword [rbx + 0x40]
jne 0x18004d59d
lea rcx, [rbx + 0x170]
call fcn.18004baee
mov rsi, qword [rbx + 0x48]
mov r15, qword [rbx + 0x58]
mov rax, qword [rbx + 0x50]
mov r9, rax
cmp rax, qword [rbx + 0xf8]
jne 0x18004ce9e
jmp 0x18004d5d4
mov rax, qword [rbx + 0x180]
lock dec qword [rax]
jne 0x18004d5d4
lea rcx, [rbx + 0x180]
call fcn.18004ac7b
lea rcx, [rbx + 0x100]
call case.0x180023e1e.246
lea rcx, [rbx + 0x120]
call fcn.18004ac1c
mov rax, qword [rbx + 0xe0]
mov rcx, qword [rbx + 0xd0]
mov qword [rax + 8], rcx
mov qword [rax], 3
mov rcx, qword [r14 + 0x18]
mov rdx, qword [r14 + 0x20]
call fcn.180001db5
mov rsi, qword [r14 + 0x28]
test rsi, rsi
je 0x18004d648
mov rdi, qword [r14 + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x18004d648
cmp qword [rdi + 0x10], 0x11
jb 0x18004d636
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1800a14a8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [r14 + 0x38]
mov rdx, qword [r14 + 0x40]
call fcn.180001db5
mov rcx, qword [r14 + 0x48]
mov rdx, qword [r14 + 0x50]
call fcn.180001db5
movaps xmm6, 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 r15, qword [rbx + 0x188]
cmp r15, r14
mov r14, qword [rbx + 0x40]
je 0x18004c86a
lea rdi, [rbx + 0x180]
mov rsi, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
mov rcx, rdi
mov rdx, rsi
call fcn.180023820
mov r14b, byte [rdi]
mov rdi, qword [rdi + 8]
test r15, r15
je 0x18004d6c9
mov rcx, qword [0x1800a14a8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test r14b, r14b
mov r14, qword [rbx + 0x40]
jne 0x18004c86a
test rdi, rdi
jne 0x18004c8a1
jmp 0x18004c86a
mov rax, qword [rbx + 0xe0]
mov qword [rax], 1
lea rcx, [rbx + 0x380]
call fcn.18004ace9
mov r14, qword [rbx + 0x40]
lea rdi, [rbx + 0x120]
jmp 0x18004d9b0
mov rcx, qword [rsi]
mov qword [rbx + 0x58], rsi
mov rax, qword [rsi + 8]
mov qword [rbx + 0x48], rcx
mov qword [rbx + 0x50], rax
call qword [rax]
mov rax, qword [rbx + 0x50]
cmp qword [rax + 8], 0
lea rdi, [rbx + 0x120]
mov rsi, qword [rbx + 0x58]
je 0x18004d95a
cmp qword [rax + 0x10], 0x11
jae 0x18004d943
mov r8, qword [rbx + 0x48]
jmp 0x18004d94b
lea rdi, [rbx + 0x180]
mov rcx, rdi
xor edx, edx
mov r8, r13
call fcn.18007823e
mov rax, qword [rdi + 0x18]
mov rdx, qword [rdi + 0x28]
sub rax, rdx
cmp rax, r13
jb 0x18004da00
lea r14, [rbx + 0x380]
xorps xmm6, xmm6
test r15b, r15b
je 0x18004d79c
mov rcx, r14
call fcn.18004a990
mov r12, qword [rbx + 0x380]
jmp 0x18004d83c
mov edx, 0x40
mov rcx, r14
call fcn.18004aaac
mov rsi, r14
mov rcx, r14
call fcn.18004ab0e
mov rdi, qword [rbx + 0x388]
mov edx, 0x40
mov rcx, rdi
call fcn.18004ab78
mov r14, rax
mov al, byte [0x1800a1528]
mov edx, 0x200
xor ecx, ecx
call fcn.180061f70
test rax, rax
je 0x18004da24
mov rcx, rax
and rcx, 0xffffffffffffff80
lea r12, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov eax, 1
mov qword [rcx + 0x80], rax
mov qword [rcx + 0x88], rax
mov qword [rcx + 0x100], r14
movaps xmmword [rcx + 0x180], xmm6
mov qword [rbx + 0x380], r12
mov qword [rbx + 0x388], rdi
mov qword [rbx + 0x390], 0x40
mov byte [rbx + 0x398], 1
mov r14, rsi
lock inc qword [r12]
jle 0x18004db8d
mov dil, byte [rbx + 0x398]
movups xmm0, xmmword [rbx + 0x380]
movups xmm1, xmmword [rbx + 0x390]
movaps xmmword [rbx + 0x100], xmm0
movaps xmmword [rbx + 0x110], xmm1
mov rdx, qword [rbx + 0x190]
cmp rdx, qword [rbx + 0x180]
jne 0x18004d88d
lea rcx, [rbx + 0x180]
call fcn.18004aa40
mov rdx, qword [rbx + 0x190]
mov rax, qword [rbx + 0x188]
mov rcx, rdx
shl rcx, 5
movaps xmm0, xmmword [rbx + 0x100]
movaps xmm1, xmmword [rbx + 0x110]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rdx
mov qword [rbx + 0x190], rdx
mov rdx, qword [rbx + 0x1a8]
cmp rdx, qword [rbx + 0x198]
jne 0x18004d8df
lea rcx, [rbx + 0x198]
call fcn.18004aa76
mov rdx, qword [rbx + 0x1a8]
mov rsi, qword [rbx + 0x1a0]
mov rax, rdx
shl rax, 4
mov qword [rsi + rax], r12
mov byte [rsi + rax + 8], dil
inc rdx
mov qword [rbx + 0x1a8], rdx
dec r13
jne 0x18004d783
jmp 0x18004c8fa
lea r15, [rbx + 0x180]
mov rcx, r15
xor edx, edx
mov r8, r14
call fcn.18007823e
mov rax, qword [r15 + 0x18]
mov rdx, qword [r15 + 0x28]
jmp 0x18004c96b
lea rcx, [rbx + 0x198]
mov r8, r14
call fcn.180078ce5
jmp 0x18004c97e
mov r8, qword [rbx + 0x48]
mov r8, qword [r8 - 8]
mov rcx, qword [0x1800a14a8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1800a14a8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
call qword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
lock dec qword [r14]
jne 0x18004d987
lea rcx, [rbx + 0x60]
call fcn.18004baee
or rsi, 2
lock dec qword [r13]
mov r14, qword [rbx + 0x40]
jne 0x18004d99e
mov rcx, r13
call fcn.180027c7d
mov rax, qword [rbx + 0xe0]
mov qword [rax], 2
mov qword [rax + 8], rsi
lea rcx, [rbx + 0x100]
call case.0x180023e1e.246
mov rcx, rdi
call fcn.18004ac1c
mov rsi, qword [rbx + 0xd0]
lea rcx, [rsi + 0x80]
call fcn.18004dd47
lock dec qword [rsi]
jne 0x18004d605
mov rcx, rsi
call fcn.18004ad55
jmp 0x18004d605
test rdi, rdi
mov r14, qword [rbx + 0x40]
jne 0x18004c8a1
jmp 0x18004c86a
lea rcx, [rbx + 0x198]
mov r8, r13
call fcn.180078ce5
jmp 0x18004d779
lea r8, str.__arL9_A___i__x__J_n_b_e__Y__1____bRBx___3e______W5U__P_v6__7_HN____e_YAY_P_Aq_7XD__xW_KqMJL_____The_global_thread_pool_has_not_been_initialized.
xor ecx, ecx
xor edx, edx
call fcn.180076220
mov ecx, 0x80
mov edx, 0x180
call fcn.180074c70
mov ecx, 8
mov edx, 0x30
call fcn.180074c70
mov ecx, 8
mov edx, 0x80
call fcn.180074c70
mov qword [rbx + 0x40], rdi
mov ecx, 8
mov edx, 0x10
call fcn.180074c70
jmp 0x18004db8d
lea rcx, str.assertion_failed:_t.get__.is_null__
lea r8, str.__arL9_A___i__x__J_n_b_e__Y__1____bRBx___3e______W5U__P_v6__7_HN____e_YAY_P_Aq_7XD__xW_KqMJL_____The_global_thread_pool_has_not_been_initialized.
mov edx, 0x23
call fcn.180076320
lea r8, [rbx + 0x180]
mov qword [r8], rsi
mov byte [r8 + 8], dil
lea rax, str.qLG_wN_FWryjtZ6______u___t2s_L_3K___s8_U_N__N__ZT_BoPHB__kG_1___pyK_R_fgCa_N_m_4BU___Z_Q_d__C
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x180086750]
mov edx, 0x2b
call fcn.1800766b0
add rcx, 0x10
xor edx, edx
call fcn.1800598d0
lea rax, [0x180088268]
lea rcx, [rbx + 0x180]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x180091580]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._X___kiR________kj_4___pc_g___6_x
call fcn.180076160
call fcn.18001b1c0
lea r8, [rbx + 0x180]
mov qword [r8], rdi
mov qword [r8 + 8], r15
mov qword [r8 + 0x10], r13
mov qword [r8 + 0x18], rdx
lea rax, [0x1800866b8]
mov qword [rsp + 0x20], rax
lea rcx, str.thread_name_may_not_contain_interior_null_bytes_5MSZ1__q__C__3RUqVvFqG5___1_J_z___hQ___Gv_zL_sb_uA__hvT_x_hD__hmm1__aj45__uA
lea r9, [0x180086730]
mov edx, 0x2f
call fcn.1800766b0
mov ecx, 0x80
mov edx, 0x280
call fcn.180074c70
mov ecx, 1
mov rdx, r13
call fcn.180074c70
mov ecx, 0x80
mov rdx, rdi
call fcn.180074c70
test rcx, rcx
jne 0x18004db80
mov byte [rbx + 0x3f], 0
call fcn.18001b1c0
jmp 0x18004db8d
mov qword [rbx + 0x40], r14
mov ecx, 1
mov rdx, rsi
call fcn.180074c70
jmp 0x18004db8d
mov rdx, qword [rbx + 0x70]
mov byte [rbx + 0x3f], 0
call fcn.180074c70
ud2