Function at 0x140102a10
Capabilities:
Terminate process

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
mov rcx, qword [rcx - 0x10]
movsxd rax, dword [rcx + 0x14]
cmp byte [rax + rsi + 0xa8], 0
je 0x140102ae3
movsxd rax, dword [rcx + 4]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rbp
xor ebp, ebp
mov qword [rsp + 0x48], rdi
mov rdi, qword [rax + rsi + 0x20]
mov rbx, qword [rax + rsi + 0x18]
cmp rbx, rdi
je 0x140102ad4
nop word [rax + rax]
mov rdx, qword [rsi - 0x10]
movsxd rcx, dword [rdx + 0x14]
movsxd rax, dword [rcx + rsi + 0xac]
test eax, eax
js 0x140102a9f
mov r8d, dword [rbx + 4]
imul rdx, rax, 0x78
add rdx, qword [rcx + rsi + 0x78]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov edx, dword [rbx]
call fcn.140027690
test al, al
jne 0x140102ac5
mov rdx, qword [rsi - 0x10]
movsxd rax, dword [rdx + 0x1c]
lea rcx, [rsi - 0x10]
mov r8d, dword [rbx + 4]
add rcx, rax
movsxd rax, dword [rdx + 0xc]
movsxd rdx, ebp
mov r10, qword [rcx]
mov rax, qword [rax + rsi]
lea r9, [rax + rdx*8]
mov edx, dword [rbx]
call qword [r10]
add rbx, 8
inc ebp
cmp rbx, rdi
jne 0x140102a60
mov rcx, qword [rsi - 0x10]
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0x10]
lea rdx, [rsi + 8]
add rdx, rax
mov rax, qword [rdx - 0x10]
movsxd rcx, dword [rax + 0xc]
mov rax, qword [rcx + rdx]
mov qword [rcx + rdx + 8], rax
mov rax, qword [rdx - 0x10]
movsxd rcx, dword [rax + 8]
add rcx, rdx
add rcx, 0x68
add rsp, 0x20
pop rsi
jmp 0x140039ef0
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbp, rcx
xor esi, esi
mov rcx, qword [rcx - 0x10]
movsxd rax, dword [rcx + 0xc]
movsxd rdx, dword [rcx + 0x14]
mov rbx, qword [rax + rbp]
mov rax, qword [rax + rbp + 8]
cmp byte [rdx + rbp + 0xa8], sil
jne 0x140102faf
mov rdi, rax
sub rdi, rbx
add rdi, 7
shr rdi, 3
cmp rbx, rax
cmova rdi, rsi
test rdi, rdi
je 0x14010305e
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbx]
movsxd r14, dword [rax + 0x24]
test rdx, rdx
je 0x140102f9e
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov edx, 1
mov rax, qword [rcx]
call qword [rax]
inc dword [r14 + rbp - 8]
add rbx, 8
inc rsi
cmp rsi, rdi
jne 0x140102f70
jmp 0x14010305e
movsxd rdi, dword [rcx + 4]
mov qword [rsp + 0x48], r15
mov r15, rax
sub r15, rbx
add r15, 7
mov rdi, qword [rdi + rbp + 0x18]
shr r15, 3
cmp rbx, rax
cmova r15, rsi
test r15, r15
je 0x140103059
nop dword [rax + rax]
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 0x14]
movsxd rax, dword [rcx + rbp + 0xac]
test eax, eax
js 0x140103049
mov r8d, dword [rdi + 4]
imul rdx, rax, 0x78
add rdx, qword [rcx + rbp + 0x78]
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov edx, dword [rdi]
call fcn.140027690
test al, al
je 0x140103049
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbx]
movsxd r14, dword [rax + 0x24]
test rdx, rdx
je 0x140103049
mov rax, qword [rdx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdx
mov edx, 1
mov rax, qword [rcx]
call qword [rax]
inc dword [r14 + rbp - 8]
add rdi, 8
add rbx, 8
inc rsi
cmp rsi, r15
jne 0x140102fe0
mov r15, qword [rsp + 0x48]
mov rax, qword [rbp - 0x10]
movsxd rcx, dword [rax + 0x20]
add rcx, rbp
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
jmp 0x140102a10
movsxd rax, dword [rcx - 4]
sub rcx, rax
jmp 0x140102f10