Function at 0x1400596a0
Capabilities:
Create thread

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xb0
lea rbp, [rsp + 0x30]
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc0], rdi
mov rax, qword [0x14011e7d8]
xor rax, rbp
mov qword [rbp + 0x70], rax
mov qword [rbp], rcx
mov r12, rcx
test rdx, rdx
jne 0x140059731
lea ecx, [rdx + 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, 0x4a13
lea r8, str.F:prog_llmllama.cppggml.c
mov rcx, rax
lea rdx, str.GGML_ASSERT:__s:_d:__s_n
lea rax, str.cplan
mov qword [rsp + 0x20], rax
call fcn.140032e30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
movsxd r14, dword [rdx + 0x10]
test r14d, r14d
jg 0x140059788
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, 0x4a14
lea r8, str.F:prog_llmllama.cppggml.c
mov rcx, rax
lea rdx, str.GGML_ASSERT:__s:_d:__s_n
lea rax, str.cplan__n_threads___0
mov qword [rsp + 0x20], rax
call fcn.140032e30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
cmp qword [rdx], 0
jbe 0x1400597e3
cmp qword [rdx + 8], 0
jne 0x1400597e3
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, 0x4a17
lea r8, str.F:prog_llmllama.cppggml.c
mov rcx, rax
lea rdx, str.GGML_ASSERT:__s:_d:__s_n
lea rax, str.cplan__work_data
mov qword [rsp + 0x20], rax
call fcn.140032e30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov qword [rbp + 0x10], rcx
mov rax, r14
mov qword [rbp + 0x18], rdx
mov r15, r14
mov dword [rbp + 0x30], r14d
xor edx, edx
shl rax, 5
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x34], r14d
lea rcx, [rax + 0xf]
mov dword [rbp + 0x38], 0xffffffff
mov dword [rbp + 0x3c], 2
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], rdx
cmp rcx, rax
ja 0x140059831
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400eb2b0
sub rsp, rcx
lea r13, [rsp + 0x30]
cmp r14d, 1
jle 0x1400598be
mov esi, 1
cmp r15, rsi
jle 0x1400598be
mov edi, esi
lea rbx, [r13 + 0x20]
nop dword [rax + rax]
mov qword [rbp + 0x50], rdx
lea rax, [rbp + 0x10]
mov dword [rbp + 0x68], edx
lea r8, [fcn.140059a10]
mov qword [rsp + 0x28], rdx
xor ecx, ecx
movsxd r9, esi
mov qword [rbp + 0x60], rax
mov dword [rbp + 0x58], esi
vmovups ymm0, ymmword [rbp + 0x50]
shl r9, 5
mov dword [rsp + 0x20], edx
add r9, r13
vmovups ymmword [rbx], ymm0
xor edx, edx
vzeroupper
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x140059967
mov qword [rbx], rax
inc esi
add rbx, 0x20
inc rdi
xor edx, edx
cmp rdi, r15
jl 0x140059860
lea rax, [rbp + 0x10]
mov dword [r13 + 8], edx
mov rcx, r13
mov qword [r13 + 0x10], rax
mov dword [r13 + 0x18], edx
call fcn.140059a10
mov eax, dword [r13 + 0x18]
cmp r14d, 1
jle 0x140059930
cmp r15, 1
jle 0x140059930
mov r14d, 1
lea rsi, [r13 + 0x20]
mov rdi, qword [rsi]
mov edx, 0xffffffff
mov rcx, rdi
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x1400599b5
mov eax, dword [rsi + 0x18]
test eax, eax
cmove eax, r12d
inc r14
add rsi, 0x20
cmp r14, r15
jl 0x1400598f0
mov r12, qword [rbp]
inc dword [r12 + 0x3c]
mov rcx, qword [rbp + 0x70]
xor rcx, rbp
call fcn.1400eafe0
mov rbx, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb8]
mov rdi, qword [rbp + 0xc0]
lea rsp, [rbp + 0x80]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, 0x4a36
lea r8, str.F:prog_llmllama.cppggml.c
mov rcx, rax
lea rdx, str.GGML_ASSERT:__s:_d:__s_n
lea rax, str.rc__0
mov qword [rsp + 0x20], rax
call fcn.140032e30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, 0x4a4d
lea r8, str.F:prog_llmllama.cppggml.c
mov rcx, rax
lea rdx, str.GGML_ASSERT:__s:_d:__s_n
lea rax, str.rc__0
mov qword [rsp + 0x20], rax
call fcn.140032e30
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3