Function at 0x14015a5b8
Capabilities:
Create thread
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x30
mov rax, qword [rcx + 8]
mov rbx, rcx
mov rcx, qword [rcx + 0x460]
or esi, 0xffffffff
xor ebp, ebp
test rcx, rcx
jne 0x14015a5f9
mov byte [rax + 0x30], 1
mov dword [rax + 0x2c], 0x16
jmp 0x14015a930
call fcn.14015c508
test al, al
je 0x14015a768
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x14015a641
mov rax, qword [rbx + 8]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov byte [rax + 0x30], 1
mov dword [rax + 0x2c], 0x16
mov rax, qword [rbx + 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbp
call fcn.140157fbc
or eax, 0xffffffff
jmp 0x14015a76a
mov eax, dword [rbx + 0x468]
inc eax
mov dword [rbx + 0x468], eax
cmp eax, 2
je 0x14015a8e9
lea r14, [0x1401a6580]
mov dword [rbx + 0x48], ebp
mov byte [rbx + 0x24], bpl
mov r8b, byte [rcx]
inc rcx
jmp 0x14015a8c5
cmp dword [rbx + 0x20], ebp
jl 0x14015a8d6
lea eax, [r8 - 0x20]
cmp al, 0x5a
ja 0x14015a694
movsx rax, r8b
sub rax, 0x20
and eax, 0x7f
mov cl, byte [r14 + rax*2 + 1]
jmp 0x14015a697
mov cl, bpl
movzx eax, byte [rbx + 0x24]
movzx ecx, cl
lea rdx, [rax + rcx*8]
and edx, 0x7f
movzx eax, byte [r14 + rdx*2]
mov byte [rbx + 0x24], al
cmp al, 8
jae 0x14015a91d
mov ecx, eax
test al, al
je 0x14015a7eb
sub ecx, 1
je 0x14015a7d4
sub ecx, 1
je 0x14015a785
sub ecx, 1
je 0x14015a734
sub ecx, 1
je 0x14015a72c
sub ecx, 1
je 0x14015a6fe
sub ecx, 1
je 0x14015a6f4
cmp ecx, 1
jne 0x14015a768
mov rcx, rbx
call fcn.14015b238
jmp 0x14015a760
mov rcx, rbx
call fcn.14015af00
jmp 0x14015a760
cmp r8b, 0x2a
je 0x14015a712
lea rdx, [rbx + 0x30]
mov rcx, rbx
call fcn.14015a498
jmp 0x14015a760
mov rcx, qword [rbx + 0x18]
lea rax, [rcx + 8]
mov qword [rbx + 0x18], rax
mov eax, dword [rcx]
test eax, eax
mov ecx, eax
cmovs ecx, esi
mov dword [rbx + 0x30], ecx
jmp 0x14015a75e
mov dword [rbx + 0x30], ebp
jmp 0x14015a8ba
cmp r8b, 0x2a
je 0x14015a740
lea rdx, [rbx + 0x2c]
jmp 0x14015a708
mov rcx, qword [rbx + 0x18]
lea rax, [rcx + 8]
mov qword [rbx + 0x18], rax
mov eax, dword [rcx]
mov dword [rbx + 0x2c], eax
test eax, eax
jns 0x14015a75e
or dword [rbx + 0x28], 4
neg eax
mov dword [rbx + 0x2c], eax
mov al, 1
test al, al
jne 0x14015a8ba
mov eax, esi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
cmp r8b, 0x20
je 0x14015a7cb
cmp r8b, 0x23
je 0x14015a7c2
cmp r8b, 0x2b
je 0x14015a7b9
cmp r8b, 0x2d
je 0x14015a7b0
cmp r8b, 0x30
jne 0x14015a8ba
or dword [rbx + 0x28], 8
jmp 0x14015a8ba
or dword [rbx + 0x28], 4
jmp 0x14015a8ba
or dword [rbx + 0x28], 1
jmp 0x14015a8ba
or dword [rbx + 0x28], 0x20
jmp 0x14015a8ba
or dword [rbx + 0x28], 2
jmp 0x14015a8ba
mov qword [rbx + 0x28], rbp
mov byte [rbx + 0x38], bpl
mov dword [rbx + 0x30], esi
mov dword [rbx + 0x34], ebp
mov byte [rbx + 0x4c], bpl
jmp 0x14015a8ba
mov rdi, qword [rbx + 8]
mov byte [rbx + 0x4c], bpl
cmp byte [rdi + 0x28], bpl
jne 0x14015a801
mov rcx, rdi
call fcn.14015c490
movsx r8, byte [rbx + 0x39]
mov r9, r8
cmp r8d, esi
jl 0x14015a877
mov rax, qword [rdi + 0x18]
mov rcx, qword [rax]
mov eax, 0x8000
test word [rcx + r8*2], ax
je 0x14015a877
mov rax, qword [rbx + 0x460]
mov r8, qword [rbx + 8]
mov edx, dword [rax + 0x14]
nop
shr edx, 0xc
test dl, 1
je 0x14015a845
mov rax, qword [rbx + 0x460]
cmp qword [rax + 8], rbp
je 0x14015a858
mov rdx, qword [rbx + 0x460]
mov ecx, r9d
call fcn.14016b3b8
cmp eax, esi
je 0x14015a85d
inc dword [rbx + 0x20]
jmp 0x14015a860
mov dword [rbx + 0x20], esi
mov rax, qword [rbx + 0x10]
mov r8b, byte [rax]
inc rax
mov qword [rbx + 0x10], rax
mov byte [rbx + 0x39], r8b
test r8b, r8b
je fcn.14015a8f1
mov rax, qword [rbx + 0x460]
mov rdx, qword [rbx + 8]
mov ecx, dword [rax + 0x14]
nop
shr ecx, 0xc
test cl, 1
je 0x14015a89b
mov rax, qword [rbx + 0x460]
cmp qword [rax + 8], rbp
je 0x14015a8b2
movsx ecx, r8b
mov r8, rdx
mov rdx, qword [rbx + 0x460]
call fcn.14016b3b8
cmp eax, esi
je 0x14015a8b7
inc dword [rbx + 0x20]
jmp 0x14015a8ba
mov dword [rbx + 0x20], esi
mov rax, qword [rbx + 0x10]
mov r8b, byte [rax]
lea rcx, [rax + 1]
mov qword [rbx + 0x10], rcx
mov byte [rbx + 0x39], r8b
test r8b, r8b
jne 0x14015a671
inc dword [rbx + 0x468]
cmp dword [rbx + 0x468], 2
jne 0x14015a65f
mov eax, dword [rbx + 0x20]
jmp 0x14015a76a
mov eax, dword [rax + 0x8c]