Function at 0x140005870
Capabilities:
Create thread
Terminate thread

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x140017040]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov rbx, r8
xor r14d, r14d
mov edi, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
lea rcx, [rbp + 0x80]
call fcn.14000b450
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
mov rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.14000b450
mov rcx, qword [0x140029c30]
mov rax, qword [rcx + 0xc20]
mov rbx, qword [rax]
cmp rbx, rax
je 0x1400059d6
inc edi
mov rdx, qword [rbx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140005960
mov rdx, qword [rdx]
test rdx, rdx
je 0x140005985
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x140005985
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x1400059bc
mov rcx, qword [0x140029c30]
mov r9, qword [rbx + 0x10]
lea rax, [r9 + 0x20]
cmp qword [rax + 0x18], 0xf
jbe 0x140005997
mov rax, qword [rax]
cmp qword [r9 + 0x18], 0xf
jbe 0x1400059a1
mov r9, qword [r9]
add rcx, 0x1868
mov qword [rsp + 0x20], rax
mov r8d, edi
lea rdx, [0x1400120b0]
call fcn.1400031a0
mov rax, qword [rbx]
mov rbx, rax
mov rcx, qword [0x140029c30]
cmp rax, qword [rcx + 0xc20]
jne 0x140005950
lea rdi, [0x140019d10]
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x140005a08
lea rdx, str.magic.test
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x140005adc
mov rcx, qword [0x140029c30]
add rcx, 0x1868
lea rdx, [0x140012118]
call fcn.1400031a0
mov rcx, qword [0x140029c30]
add rcx, 0x2228
lea rdx, str._MagicBox_:_Module_Starting
call fcn.140008740
mov ebx, r14d
nop dword [rax + rax]
movsxd rax, ebx
imul rdx, rax, 0xe8
add rdx, rdi
lea rcx, [0x1400120a0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
je 0x140005bd6
inc ebx
cmp ebx, 0xfa
jl 0x140005a40
mov rcx, qword [0x140029c30]
add rcx, 0xc40
lea r9, str.MagicThread
lea r8, str.cMagic
mov edx, 2
call fcn.14000d280
mov dword [rbp + 0x34], eax
lea rax, [rbp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x30]
lea r8, [0x1400060c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x34]
imul rdx, rcx, 0xe8
mov qword [rdx + rdi + 0xd8], rax
test rax, rax
je 0x140005adc
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x140005afd
lea rdx, str.magic.kill
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x140005bf7
mov rcx, qword [0x140029c30]
add rcx, 0x1868
lea rdx, [0x140012170]
call fcn.1400031a0
mov rcx, qword [0x140029c30]
add rcx, 0x2228
lea rdx, str._MagicBox_:_Killing_Threads
call fcn.140008740
mov esi, r14d
lea rbx, [0x140019de8]
nop dword [rax + rax]
lea rdx, [0x1400120a0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x140005bb8
lea edx, [rax + 1]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_TerminateThread]
cmp qword [rbx], 0
je 0x140005bb8
mov rcx, qword [0x140029c30]
add rcx, 0x1868
mov r9, rdi
mov r8d, esi
lea rdx, [0x1400121c0]
call fcn.1400031a0
mov rcx, qword [0x140029c30]
add rcx, 0x2228
mov r9, rdi
mov r8d, esi
lea rdx, str._cMagic_:_Killed_Thread:__i___s_
call fcn.140008740
mov qword [rbx], r14
mov qword [rbx - 0x10], r14
mov dword [rbx - 8], r14d
mov byte [rbx - 0xd8], 0
inc esi
add rdi, 0xe8
add rbx, 0xe8
cmp esi, 0xfa
jl 0x140005b40
jmp 0x140005bf7
mov rcx, qword [0x140029c30]
add rcx, 0x1868
lea r8, [0x1400120a0]
lea rdx, [0x140012ff0]
call fcn.1400031a0
lea rbx, vtable.cString.0
mov qword [rbp + 0x100], rbx
mov rcx, qword [rbp + 0x108]
test rcx, rcx
je 0x140005c1d
call fcn.14000f76c
mov qword [rbp + 0x108], r14
mov rcx, qword [rbp + 0x110]
test rcx, rcx
je 0x140005c35
call fcn.14000f76c
mov qword [rbp + 0x110], r14
mov dword [rbp + 0x118], r14d
lea rcx, [rbp + 0x120]
call fcn.140001560
nop
mov qword [rbp + 0x80], rbx
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x140005c68
call fcn.14000f76c
mov qword [rbp + 0x88], r14
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x140005c80
call fcn.14000f76c
mov qword [rbp + 0x90], r14
mov dword [rbp + 0x98], r14d
lea rcx, [rbp + 0xa0]
call fcn.140001560
mov al, 1
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.14000f4d0
add rsp, 0x290
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret