Function at 0x180127070
Capabilities:
Create thread

Disassembly:
mov r11, rsp
push rdi
push r14
push r15
sub rsp, 0x80
mov qword [r11 - 0x68], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r14, rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
mov qword [r11 - 0x30], rax
mov rdx, rcx
lea rcx, [r11 - 0x40]
call fcn.1801035a0
nop
lea rcx, [r14 + 0x50]
call fcn.18011f5c0
mov ebp, eax
xor esi, esi
mov edi, esi
test eax, eax
jle 0x180127107
mov edx, edi
lea rcx, [r14 + 0x50]
call fcn.18011f530
mov rbx, rax
test rax, rax
je 0x180127101
cmp dword [rax + 0x40], 0x9105d3bb
jne 0x1801270f8
cmp qword [rax + 0x1b8], rsi
jne 0x180127101
cmp dword [rax + 0x1d4], 4
je 0x180127149
inc edi
cmp edi, ebp
jl 0x1801270d3
lea rdi, [r14 + 0xd0]
cmp ebp, dword [0x180377e58]
jl 0x180127169
xor r9d, r9d
lea r8, str.max_number_of_thread_already_running.
xor edx, edx
mov rcx, rdi
call fcn.180127650
mov r9d, dword [0x180377e58]
lea r8, str.threadPoolSize
xor edx, edx
mov rcx, rdi
call fcn.180127560
mov bl, 1
jmp 0x1801271cc
lea rdi, [r14 + 0xd0]
xor r9d, r9d
lea r8, str.found_idle_thread.
xor edx, edx
mov rcx, rdi
call fcn.180127650
jmp 0x1801272cf
cmp dword [r14 + 0x38], 0xdefe2276
jne 0x1801271b6
xor r9d, r9d
lea r8, str.Creating_worker_thread...
xor edx, edx
mov rcx, rdi
call fcn.180127650
mov ecx, dword [r14 + 0x4c]
lea eax, [rcx + 1]
mov dword [r14 + 0x4c], eax
mov rdx, rdi
call fcn.180126e60
mov rbx, rax
test rax, rax
jne 0x180127203
xor r9d, r9d
lea r8, str.Failed_to_create_worker_thread_object.
xor edx, edx
mov rcx, rdi
call fcn.180127650
xor r9d, r9d
lea r8, str.failed_to_create_worker_thread.
xor edx, edx
mov rcx, rdi
call fcn.180127650
xor bl, bl
lea rcx, [rsp + 0x58]
call fcn.180103680
movzx eax, bl
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.18007b140
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x180126a20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbp, rax
test rax, rax
je 0x180127236
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbp, rbp
jne 0x18012725a
xor r9d, r9d
lea r8, str.Failed_to_start_worker_thread.
xor edx, edx
mov rcx, rdi
call fcn.180127650
mov rcx, rbx
call fcn.1800ba630
mov rbx, rsi
xor r9d, r9d
lea r8, str.Waiting_for_worker_thread_to_start...
xor edx, edx
mov rcx, rdi
call fcn.180127650
test rbx, rbx
je 0x180127290
cmp byte [rbx + 0x1ce], 0
jne 0x180127290
mov ecx, 1
call fcn.180104b90
inc esi
cmp esi, 0x3e8
jl 0x180127273
lea rax, str.Worker_thread_started.
lea r8, str.Worker_thread_did_not_start.
test rbx, rbx
cmovne r8, rax
xor r9d, r9d
xor edx, edx
mov rcx, rdi
call fcn.180127650
test rbx, rbx
je 0x1801271b6
mov rdx, rbx
lea rcx, [r14 + 0x50]
call fcn.18011f290
test al, al
je 0x1801271ca
lea rcx, [rsp + 0x58]
call fcn.180103680
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.1801035a0
nop
lea rcx, [r14 + 0x90]
xor edx, edx
call fcn.18011fc70
mov rsi, rax
test rax, rax
jne 0x180127332
xor r9d, r9d
lea r8, str.No_waiting_tasks__nothing_to_do.
xor edx, edx
mov rcx, rdi
call fcn.180127650
nop
lea rcx, [rsp + 0x40]
call fcn.180103680
mov al, 1
jmp 0x1801271d9
lea rcx, [rsp + 0x40]
call fcn.180103680
cmp dword [rsi + 0x390], 0xb92a11ce
je 0x18012736a
xor ecx, ecx
call fcn.1800c57e0
xor r9d, r9d
lea r8, str.Internal_error:_invalid_task_object.
xor edx, edx
mov rcx, rdi
call fcn.180127650
xor al, al
jmp 0x1801271d9
xor r9d, r9d
xor edx, edx
mov rcx, rdi
cmp byte [rsi + 0x67c], dl
je 0x180127395
lea r8, str.Task_is_already_canceled__discarding_it.
call fcn.180127650
mov rcx, rsi
call fcn.1800ba630
mov al, 1
jmp 0x1801271d9
lea r8, str.Starting_a_new_task...
call fcn.180127650
cmp dword [rbx + 0x40], 0x9105d3bb
jne 0x1801273c9
mov rcx, qword [rbx + 0x1c0]
test rcx, rcx
je 0x1801273c9
cmp dword [rsi + 0x390], 0xb92a11ce
je 0x1801273ce
xor ecx, ecx
call fcn.1800c57e0
xor sil, sil
jmp 0x180127433
cmp qword [rbx + 0x1b8], 0
je 0x1801273fe
mov rcx, rsi
call fcn.1800ba630
xor r9d, r9d
lea r8, str.Task_already_exists_
mov edx, dword [rbx + 0x1c8]
lea rcx, [rbx + 0x48]
call fcn.180127650
xor sil, sil
jmp 0x180127433
mov qword [rbx + 0x1b8], rsi
lea rdx, [rbx + 0x48]
call fcn.180197a70
movzx esi, al
test al, al
jne 0x18012742e
xor r9d, r9d
lea r8, str.Failed_to_give_green_light.
mov edx, dword [rbx + 0x1c8]
lea rcx, [rbx + 0x48]
call fcn.180127650
test sil, sil
jne 0x180127447
xor r9d, r9d
lea r8, str.Failed_to_start_task.
xor edx, edx
mov rcx, rdi
call fcn.180127650
movzx eax, sil
jmp 0x1801271d9