Function at 0x140009830
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov rax, qword [0x1400650c0]
xor rax, rsp
mov qword [rbp + 0x37], rax
xor r15d, r15d
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
mov r9, rcx
lea r8, [0x140009b20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
jne 0x140009a7e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, [rbp + 0x34]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea eax, [rcx + rdx]
add al, al
sub r8b, al
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x1400098a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x49], xmm1
lea rax, [rbp + 0x34]
cmp r9, rax
jne 0x1400098f5
movdqa xmm0, xmmword [0x140058c80]
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x59], r15b
jmp 0x140009909
lea r8, [rbp + 0x34]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 0x59]
call fcn.140001ca0
nop
mov r8, qword [rbp - 0x49]
mov rcx, qword [rbp - 0x41]
mov rax, rcx
sub rax, r8
mov r14d, 0x1d
lea rdi, str.create_thread_failed._error:
cmp rax, r14
jb 0x1400099a1
lea rax, [r8 + 0x1d]
mov qword [rbp - 0x49], rax
lea rbx, [rbp - 0x59]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x59]
lea rax, [0x1400574cd]
cmp rax, rbx
jbe 0x140009965
lea rax, [rbx + r8]
cmp rdi, rax
ja 0x140009965
cmp rbx, rdi
ja 0x14000995d
mov rsi, r15
jmp 0x140009968
mov rsi, rbx
sub rsi, rdi
jmp 0x140009968
mov rsi, r14
lea rcx, [rbx + 0x1d]
inc r8
mov rdx, rbx
call fcn.140046e50
mov r8, rsi
mov rdx, rdi
mov rcx, rbx
call fcn.140046e50
lea rcx, [rbx + rsi]
sub r14, rsi
lea rdx, [rdi + 0x1d]
add rdx, rsi
mov r8, r14
call fcn.140046e50
lea rax, [rbp - 0x59]
jmp 0x1400099b7
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.140008bd0
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x29], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x39], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x29], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp - 0x39]
xor ecx, ecx
call fcn.140002860
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 0xf
jbe 0x140009a2b
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009a26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009b0c
call fcn.14001ee3c
movdqa xmm0, xmmword [0x140058c80]
movdqu xmmword [rbp - 0x29], xmm0
mov byte [rbp - 0x39], 0
mov rdx, qword [rbp - 0x41]
cmp rdx, 0xf
jbe 0x140009a77
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009a72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009b06
call fcn.14001ee3c
mov eax, 0xffffffff
jmp 0x140009add
mov edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
movups xmmword [rbp - 1], xmm0
movups xmmword [rbp + 0xf], xmm0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x11]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x140009adb
lea rcx, [rbp - 0x11]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x11]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x11]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x140009ab1
xor eax, eax
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14001ede0
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140025cfc
nop
call fcn.140025cfc
nop
int3