Function at 0x1001c4f0
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x30
test dl, dl
je 0x1001c678
test cl, cl
je 0x1001c5bf
cmp byte [0x100504c8], 0
jne 0x1001c59b
lea rcx, [rsp + 0x48]
xor eax, eax
lea r9, [0x100504b0]
mov qword [rsp + 0x28], rcx
lea r8, [0x10006fa0]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [rsp + 0x48]
test rax, rax
mov dword [0x100504b8], ecx
mov qword [0x100504c0], rax
jne 0x1001c5ad
xor ecx, ecx
call fcn.1001f320
lea rdx, [0x1003f470]
lea rcx, [rsp + 0x50]
mov rbx, rax
call fcn.10024b50
lea r8, [0x100504ca]
lea rdx, str._comm__create_thread__s__failed:__s
mov r9, rbx
mov rcx, rax
call fcn.10024c50
mov eax, dword [0x100504b8]
mov dword [0x10050ac8], eax
add rsp, 0x30
pop rbx
ret
mov rcx, qword [0x10050550]
test rcx, rcx
je 0x1001c5ad
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x100504b8]
mov dword [0x10050ac8], eax
add rsp, 0x30
pop rbx
ret
cmp byte [0x10050598], 0
jne 0x1001c654
lea rcx, [rsp + 0x48]
xor eax, eax
lea r9, [0x10050580]
mov qword [rsp + 0x28], rcx
lea r8, [0x10006fa0]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [rsp + 0x48]
test rax, rax
mov dword [0x10050588], ecx
mov qword [0x10050590], rax
jne 0x1001c666
xor ecx, ecx
call fcn.1001f320
lea rdx, [0x1003f470]
lea rcx, [rsp + 0x50]
mov rbx, rax
call fcn.10024b50
lea r8, [0x1005059a]
lea rdx, str._comm__create_thread__s__failed:__s
mov r9, rbx
mov rcx, rax
call fcn.10024c50
mov eax, dword [0x10050588]
mov dword [0x10050acc], eax
add rsp, 0x30
pop rbx
ret
mov rcx, qword [0x10050620]
test rcx, rcx
je 0x1001c666
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x10050588]
mov dword [0x10050acc], eax
add rsp, 0x30
pop rbx
ret
test cl, cl
je 0x1001c739
cmp byte [0x10050328], 0
jne 0x1001c715
lea rcx, [rsp + 0x48]
xor eax, eax
lea r9, [0x10050310]
mov qword [rsp + 0x28], rcx
lea r8, [0x10006fa0]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [rsp + 0x48]
test rax, rax
mov dword [0x10050318], ecx
mov qword [0x10050320], rax
jne 0x1001c727
xor ecx, ecx
call fcn.1001f320
lea rdx, [0x1003f470]
lea rcx, [rsp + 0x50]
mov rbx, rax
call fcn.10024b50
lea r8, [0x1005032a]
lea rdx, str._comm__create_thread__s__failed:__s
mov r9, rbx
mov rcx, rax
call fcn.10024c50
mov eax, dword [0x10050318]
mov dword [0x10050ac8], eax
add rsp, 0x30
pop rbx
ret
mov rcx, qword [0x100503b0]
test rcx, rcx
je 0x1001c727
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x10050318]
mov dword [0x10050ac8], eax
add rsp, 0x30
pop rbx
ret
cmp byte [0x100503f8], 0
jne 0x1001c7ce
lea rcx, [rsp + 0x48]
xor eax, eax
lea r9, [0x100503e0]
mov qword [rsp + 0x28], rcx
lea r8, [0x10006fa0]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [rsp + 0x48]
test rax, rax
mov dword [0x100503e8], ecx
mov qword [0x100503f0], rax
jne 0x1001c7e0
xor ecx, ecx
call fcn.1001f320
lea rdx, [0x1003f470]
lea rcx, [rsp + 0x50]
mov rbx, rax
call fcn.10024b50
lea r8, [0x100503fa]
lea rdx, str._comm__create_thread__s__failed:__s
mov r9, rbx
mov rcx, rax
call fcn.10024c50
mov eax, dword [0x100503e8]
mov dword [0x10050acc], eax
add rsp, 0x30
pop rbx
ret
mov rcx, qword [0x10050480]
test rcx, rcx
je 0x1001c7e0
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x100503e8]
mov dword [0x10050acc], eax
add rsp, 0x30
pop rbx
ret