Function at 0x140001d6c
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
bt dword [rcx + 0xac], 0
mov rdi, rcx
jae 0x140001fbc
btr dword [rcx + 0xac], 0
mov rbx, qword [rcx + 0x70]
test rbx, rbx
je 0x140001dcb
mov rax, qword [rcx + 0x58]
mov ecx, dword [rax + 0x74]
add rcx, qword [rax + 0x60]
cmp rbx, rcx
je 0x140001dc6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rdi + 0x70], 0
mov rbx, qword [rdi + 0x58]
lea r9, [0x14000147c]
lea r8, [0x1400045e8]
mov rcx, rbx
lea rdx, [0x140004610]
mov rax, qword [rbx + 0x60]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ntdll.dll_RtlInitializeGenericTableAvl]
mov eax, dword [rbx + 0x74]
add dword [rbx + 0x70], eax
and dword [rbx + 0x74], 0
and dword [rbx + 0x78], 0
lock inc dword [rbx + 0x7c]
and qword [rsp + 0x28], 0
lea r8, [0x140001500]
and dword [rsp + 0x20], 0
mov r9, rbx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rsi, rax
test rax, rax
je 0x140001e3a
mov rcx, rax
call qword [sym.imp.ntdll.dll_NtClose]
jmp 0x140001e72
or eax, 0xffffffff
lock xadd dword [rbx + 0x7c], eax
cmp eax, 1
jne 0x140001e72
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x140001e5e
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
call qword [sym.imp.ntdll.dll_RtlGetFrame]
mov rcx, rax
test rax, rax
je 0x140001e96
lea rax, [0x14000aa88]
cmp qword [rcx + 0x10], rax
je 0x140001e98
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140001e80
xor ecx, ecx
mov edx, 0x28
lea rax, [rcx + 0x40]
test rcx, rcx
mov ebp, 0x40b
cmove rax, rdx
xor r9d, r9d
lea r8d, [rdx - 0x27]
mov edx, ebp
mov rbx, qword [rax]
mov rcx, qword [rbx + 0x70]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x70]
xor r9d, r9d
mov edx, ebp
lea r8d, [r9 + 2]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
mov ebp, 0x401
mov edx, ebp
lea r8d, [r9 + 0x6b]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
mov edx, ebp
lea r8d, [r9 + 0x66]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
mov edx, ebp
lea r8d, [r9 + 0x69]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
mov edx, ebp
lea r8d, [r9 + 0x67]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbx + 0x58]
xor r9d, r9d
mov edx, ebp
lea r8d, [r9 + 0x6d]
call qword [sym.imp.USER32.dll_SendMessageW]
or dword [rdi + 0x9c], 0xffffffff
xor r9d, r9d
and qword [rdi + 0x68], 0
xor r8d, r8d
and qword [rdi + 0x60], 0
and dword [rdi + 0xac], 0xffffffe7
bts dword [rdi + 0xac], 2
mov rcx, qword [rdi + 0x90]
lea edx, [r9 + 0xb]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rdi + 0x90]
mov r9, 0xffffffffffff0000
xor r8d, r8d
mov edx, 0x1101
call qword [sym.imp.USER32.dll_SendMessageW]
btr dword [rdi + 0xac], 2
mov rcx, qword [rdi + 0x88]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x102f
call qword [sym.imp.USER32.dll_SendMessageW]
test rsi, rsi
jne 0x140001fbc
xor edx, edx
mov rcx, rdi
call fcn.140001fd4
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret