Function at 0x1800058d0
Capabilities:
Create thread
Terminate thread

Disassembly:
push rsi
push rdi
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm6
mov edi, ecx
lea rax, str.Executing_shellcode..._n
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x48], xmm6
lea rcx, [rsp + 0x30]
call fcn.1800154c0
lea rax, str.Creating_thread_to_execute_shellcode..._n
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 8
movups xmmword [rsp + 0x48], xmm6
lea rcx, [rsp + 0x30]
call fcn.1800154c0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.kernel32.dll_CreateThread]
mov rsi, rax
inc rax
cmp rax, 1
ja 0x1800059e9
call fcn.18000b730
mov rsi, rax
test edx, edx
je 0x1800059e9
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x68], edx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x70], rax
lea rax, [0x18000b760]
mov qword [rsp + 0x78], rax
lea rax, str.Failed_to_create_shellcode_execution_thread._Error:
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rcx, [rsp + 0x30]
call fcn.1800154c0
cmp qword [rsp + 0x60], 0
je 0x180005b61
lea rcx, [rsp + 0x60]
jmp 0x180005b5c
lea rax, str.Shellcode_thread_created_successfully._n
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 8
movups xmmword [rsp + 0x48], xmm6
lea rcx, [rsp + 0x30]
call fcn.1800154c0
mov rcx, rsi
mov edx, edi
call qword [sym.imp.kernel32.dll_WaitForSingleObject]
test eax, eax
je 0x180005aaa
cmp eax, 0x102
jne 0x180005ad2
lea rax, str.Shellcode_execution_timed_out._Terminating_the_thread..._n
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x30]
call fcn.1800154c0
mov rcx, rsi
mov edx, 1
call qword [sym.imp.kernel32.dll_TerminateThread]
test eax, eax
jne 0x180005b2d
call fcn.18000b730
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], edx
test edx, edx
sete cl
test rax, rax
sete al
or al, cl
jne 0x180005b2d
lea rcx, [rsp + 0x30]
call fcn.18000b720
jmp 0x180005b2d
lea rax, str.Shellcode_thread_completed_successfully._n
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
jmp 0x180005b23
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x70], rax
lea rax, [0x18000b5f0]
mov qword [rsp + 0x78], rax
lea rax, str.Failed_to_wait_for_shellcode_thread._Error_code:
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rcx, [rsp + 0x30]
call fcn.1800154c0
mov rcx, rsi
call qword [sym.imp.kernel32.dll_CloseHandle]
test eax, eax
jne 0x180005b61
call fcn.18000b730
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], edx
test edx, edx
sete cl
test rax, rax
sete al
or al, cl
jne 0x180005b61
lea rcx, [rsp + 0x30]
call fcn.18000b720
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rdi
pop rsi
ret