Function at 0x1401bb970
Capabilities:
Inspect section memory permissions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb0], 0xfffffffffffffffe
mov qword [r9], 0
mov r15, qword [r8 + 0x18]
mov r11, qword [r8 + 0x20]
cmp r15, r11
jbe 0x1401bb9c0
xor eax, eax
add rsp, 0x138
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdi, r9
mov rsi, rdx
mov r14, rcx
mov ebx, dword [r8]
lea eax, [rbx - 1]
cmp eax, 2
mov qword [rbp + 0xa8], r11
jb 0x1401bb9fb
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea r12, [0x14038d698]
cmovne r12, rax
cmp byte [r12 + 0x18], 2
jne 0x1401bbbee
mov rax, qword [r14 + 0x2b0]
mov qword [rbp + 0x90], rax
test byte [rdi + 0x28], 1
je 0x1401bbaff
mov r12d, dword [rdi + 0x2c]
test byte [rdi + 0x18], 1
je 0x1401bbbb5
test r12d, 0x8000000
je 0x1401bcbb1
mov eax, r12d
and eax, 0x7ffffff
movzx ecx, byte [r14 + 0x2b8]
shr rax, cl
mov rdx, qword [rsi + 0x58]
cmp rax, rdx
jae 0x1401bcbc9
mov rcx, qword [rsi + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x1401bcbd8
mov r9, qword [rcx + rax]
movzx ecx, byte [r9 + 0x10]
test cl, 1
je 0x1401bbbb5
mov rax, qword [rdi + 0x20]
mov r10d, 1
test cl, 2
je 0x1401bba92
cmp rdx, 0xc
jbe 0x1401bcce0
mov r10d, dword [r9 + 0x19]
cmp rax, r10
jae 0x1401bbbb5
lea r10, [rax + 1]
xor r8d, r8d
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], r10
test cl, 2
je 0x1401bbae7
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x1401bbae7
lea rcx, [rax*4 + 0xd]
mov rax, rdx
sub rax, rcx
jb 0x1401bcd26
cmp rax, 3
jbe 0x1401bcd32
mov r8d, dword [r9 + rcx + 0x10]
mov rax, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], r8d
jmp 0x1401bb9aa
mov qword [rdi + 0x30], r15
test r15, r15
je 0x1401bbbce
lea rax, [r15 - 1]
cmp rax, qword [r8 + 0x10]
jae 0x1401bbbce
mov rcx, qword [r8 + 8]
movzx eax, byte [rcx + rax]
movzx r12d, al
mov r9d, dword [r8 + 4]
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], rsi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1401bbdf5
lea rax, [r14 + 0x290]
mov edx, r12d
shr edx, 3
and edx, 0xfffffff0
mov r13d, r9d
mov r9d, 1
xor r10d, r10d
mov ecx, r12d
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test r12b, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + rdx + 8]
and r9, qword [rax + rdx]
or r9, r10
mov r9d, r13d
je 0x1401bbdf5
mov r13d, 4
cmp r13d, 5
je 0x1401bbe42
jmp 0x1401bc0e3
mov r15, qword [rdi + 0x30]
inc r15
mov qword [rdi + 0x30], r15
cmp r15, r11
ja 0x1401bb9aa
jmp 0x1401bbe42
mov r9d, dword [r8 + 4]
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], rsi
mov r13b, 2
movzx ecx, r13b
test ebx, ebx
jne 0x1401bbe06
jmp 0x1401bbe13
mov rax, qword [r14 + 0x2b0]
mov qword [rbp + 0x50], rax
mov eax, dword [rax + 0x17c]
mov dword [rbp + 0x44], eax
test byte [rdi + 0x28], 1
je 0x1401bbcea
mov r10d, dword [rdi + 0x2c]
test byte [rdi + 0x18], 1
je 0x1401bbdbf
test r10d, 0x8000000
je 0x1401bcbb1
mov eax, r10d
and eax, 0x7ffffff
movzx ecx, byte [r14 + 0x2b8]
shr rax, cl
mov rdx, qword [rsi + 0x58]
cmp rax, rdx
jae 0x1401bcbc9
mov rcx, qword [rsi + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x1401bcbd8
mov rax, qword [rcx + rax]
movzx r9d, byte [rax + 0x10]
test r9b, 1
je 0x1401bbdbf
mov r15, qword [rdi + 0x20]
mov ecx, 1
test r9b, 2
je 0x1401bbc8b
cmp rdx, 0xc
jbe 0x1401bcce0
mov ecx, dword [rax + 0x19]
cmp r15, rcx
jae 0x1401bbdbf
lea rax, [r15 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], rax
xor eax, eax
mov rcx, qword [rbp + 0x50]
cmp qword [rcx + 0x168], 1
je 0x1401bbcd3
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r10d
call fcn.1401ab8a0
mov rcx, rax
mov rdx, r15
call fcn.1401f6870
mov rcx, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], eax
jmp 0x1401bb9aa
mov qword [rdi + 0x30], r15
test r15, r15
je 0x1401bbdd8
lea rax, [r15 - 1]
cmp rax, qword [r8 + 0x10]
jae 0x1401bbdd8
mov rcx, qword [r8 + 8]
movzx eax, byte [rcx + rax]
movzx r10d, al
mov eax, dword [r8 + 4]
mov rcx, qword [r14 + 0x298]
or rcx, qword [r14 + 0x2a8]
mov rdx, qword [r14 + 0x290]
or rdx, qword [r14 + 0x2a0]
or rdx, rcx
je 0x1401bc20e
lea rdx, [r14 + 0x290]
mov r9d, r10d
shr r9d, 3
and r9d, 0xfffffff0
mov rcx, r10
mov r10d, 1
xor r11d, r11d
shld r11, r10, cl
shl r10, cl
xor r13d, r13d
test cl, 0x40
cmovne r11, r10
cmovne r10, r13
and r11, qword [rdx + r9 + 8]
and r10, qword [rdx + r9]
or r10, r11
mov r10, rcx
mov r11, qword [rbp + 0xa8]
je 0x1401bc20e
mov eax, 4
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
cmp ecx, 2
je 0x1401bc91c
cmp ecx, 1
jne 0x1401bc6e2
test r15, r15
je 0x1401bccc8
dec r15
jmp 0x1401bc90c
mov r15, qword [rdi + 0x30]
inc r15
mov qword [rdi + 0x30], r15
cmp r15, r11
ja 0x1401bb9aa
jmp 0x1401bc239
mov eax, dword [r8 + 4]
mov r9b, 2
movzx ecx, r9b
mov rdx, qword [rsi + 0x40]
cmp rdx, rcx
ja 0x1401bc228
jmp 0x1401bcba5
movzx r13d, byte [r14 + r12 + 0x90]
movzx ecx, r13b
test ebx, ebx
je 0x1401bbe13
cmp ebx, 1
jne 0x1401bc089
add rcx, 6
mov rdx, qword [rsi + 0x40]
cmp rcx, rdx
jae 0x1401bcba5
mov rax, qword [rsi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1401bc77c
mov r12d, eax
mov r13d, 5
cmp r13d, 5
jne 0x1401bc0e3
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov qword [rsi], 0
cmp rdx, 1
jne 0x1401bbe71
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], r15
mov rbx, qword [r8 + 8]
mov r13, qword [r8 + 0x10]
jmp 0x1401bbea3
inc r15
mov qword [rdi + 0x30], r15
test byte [rsi], 1
mov r12d, edx
je 0x1401bcb69
mov qword [rsi + 0x10], r15
cmp r15, r11
jae 0x1401bbf40
cmp r15, r13
jae 0x1401bcb81
movzx r8d, byte [rbx + r15]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x1401bcb5d
mov rax, qword [rsi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x1401bbf0b
cmp edx, 0x7ffffff
jbe 0x1401bbe90
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], edx
mov eax, edx
test eax, 0x10000000
jne 0x1401bbe90
jmp 0x1401bc032
shl r8d, 8
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
call fcn.1402f3710
test eax, eax
jne 0x1401bc6e2
mov r11, qword [rbp + 0xa8]
cmp edx, 0x7ffffff
jbe 0x1401bbe90
jmp 0x1401bbef3
mov eax, r12d
and eax, 0x7ffffff
cmp r11, r13
jae 0x1401bbfae
movzx r13d, byte [rbx + r11]
movzx edx, byte [r14 + r13 + 0x190]
mov ecx, eax
add rcx, rdx
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x1401bcb5d
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x1401bc838
mov eax, r15d
test eax, 0x8000000
jne 0x1401bc9c3
test eax, 0x20000000
je 0x1401bca09
mov ecx, r13d
mov rdx, r11
call fcn.1401a8280
mov r11, qword [rbp + 0xa8]
jmp 0x1401bca0b
movzx r8d, byte [r14 + 0x28f]
lea ecx, [r8 + rax]
inc ecx
mov rdx, qword [rsi + 0x28]
cmp rdx, rcx
jbe 0x1401bcc83
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x1401bc875
xor eax, eax
test r15d, 0x8000000
je 0x1401bca0b
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x1401bc01f
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.1401ab8a0
mov rcx, rax
xor edx, edx
call fcn.1401f6870
mov r11, qword [rbp + 0xa8]
mov qword [rdi], 1
mov qword [rdi + 8], r13
mov dword [rdi + 0x10], eax
jmp 0x1401bca09
test eax, 0x8000000
jne 0x1401bc191
test eax, 0x40000000
jne 0x1401bc1dd
test eax, 0x20000000
je 0x1401bccf1
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401bcc8f
mov rcx, rax
sub rcx, r15
neg rcx
sub rax, r15
cmovbe rax, rcx
add qword [rsi + 0x158], rax
movzx ecx, byte [rbx + r15]
jmp 0x1401bc90f
movzx eax, byte [r14 + 0x81]
mov r12d, r9d
cmp al, 2
je 0x1401bc0ce
test al, 1
je 0x1401bc0ce
mov rax, qword [rbp + 0x90]
cmp qword [rax + 0x168], r12
jbe 0x1401bc750
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [rsi + 0x40]
cmp rcx, rdx
jb 0x1401bbe20
jmp 0x1401bcba5
mov r13, r12
shl r13, 0x20
or r13, 2
cmp r13d, 5
je 0x1401bbe42
lea ecx, [r13 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1401bc137
cmp eax, 1
jne 0x1401bc166
test r15, r15
je 0x1401bccc8
movzx eax, byte [0x14049f3b5]
mov ecx, 0x10
mov edx, 8
call fcn.140061f20
test rax, rax
je 0x1401bcc0c
dec r15
mov byte [rax], 0
mov byte [rax + 1], r12b
mov qword [rax + 8], r15
jmp 0x1401bb9ac
movzx eax, byte [0x14049f3b5]
mov ecx, 0x10
mov edx, 8
call fcn.140061f20
test rax, rax
je 0x1401bcc0c
mov byte [rax], 3
mov dword [rax + 4], r13d
mov dword [rax + 8], r12d
jmp 0x1401bb9ac
movzx eax, byte [0x14049f3b5]
mov ecx, 0x10
mov edx, 8
call fcn.140061f20
test rax, rax
je 0x1401bcc0c
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x1401bb9ac
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x1401bc1cf
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
call fcn.1401ab8a0
mov rcx, rax
xor edx, edx
call fcn.1401f6870
mov qword [rdi], 1
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], eax
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401bcc8f
mov rcx, rax
sub rcx, r15
neg rcx
sub rax, r15
cmovbe rax, rcx
add qword [rsi + 0x158], rax
jmp 0x1401bb9aa
movzx r9d, byte [r14 + r10 + 0x90]
movzx ecx, r9b
mov rdx, qword [rsi + 0x40]
cmp rdx, rcx
jbe 0x1401bcba5
mov rdx, qword [rsi + 0x38]
movsxd r10, dword [rdx + rcx*4]
test r10, r10
js 0x1401bc8b2
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov qword [rsi], 0
cmp rdx, 1
jne 0x1401bc268
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], r15
cmp r15, r11
jae 0x1401bc2ea
mov rax, qword [r8 + 8]
mov qword [rbp + 0x90], rax
mov r9, qword [r8 + 0x10]
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
mov qword [rbp - 0x10], rcx
add rax, 0x10
mov qword [rbp - 0x18], rax
mov ecx, dword [r8 + 4]
lea rax, [r11 + 1]
mov qword [rbp - 8], rax
lea rax, [r14 + 0x290]
mov qword [rbp], rax
movzx eax, byte [r14 + 0x81]
mov byte [rbp + 0x9f], al
lea rax, [rcx + rcx*2]
lea rax, [rax*2 + 0xc]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x48], rcx
shl rcx, 0x20
or rcx, rbx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x58], r9
jmp 0x1401bc311
mov r9, qword [r8 + 0x10]
jmp 0x1401bc5e2
mov eax, 4
cmp eax, 5
mov rcx, qword [rbp + 0x18]
jne 0x1401bc8f0
mov r15, rcx
cmp rcx, r11
jae 0x1401bc5e2
cmp r15, r9
jae 0x1401bcb93
mov rax, qword [rbp + 0x90]
movzx eax, byte [rax + r15]
movzx edx, byte [r14 + rax + 0x190]
mov ecx, r10d
and ecx, 0x7ffffff
add rcx, rdx
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x1401bcb5d
mov rdx, qword [rsi + 0x20]
mov r12d, dword [rdx + rcx*4]
test r12d, r12d
js 0x1401bc519
cmp r12d, 0x7ffffff
jbe 0x1401bc4ac
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r12d
mov eax, r12d
test eax, 0x10000000
je 0x1401bc6ef
mov r13, r8
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, qword [rbp - 0x18]
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], r15
lea rcx, [rbp - 0x48]
mov r8, qword [rbp + 0x90]
call qword [rax + 0x40]
test byte [rbp - 0x48], 1
je 0x1401bb9aa
mov rcx, qword [rbp - 0x40]
cmp rcx, r15
jbe 0x1401bc49e
mov qword [rdi + 0x30], rcx
mov r10d, r12d
cmp dword [rbp + 0x44], 0
mov r8, r13
mov r11, qword [rbp + 0xa8]
mov r9, qword [rbp + 0x58]
je 0x1401bc305
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], r11
cmp r9, r11
jb 0x1401bcc1b
cmp qword [rbp - 8], rcx
jb 0x1401bcc1b
mov qword [rbp + 0x18], rcx
lea r15, [rcx - 1]
cmp r15, r9
jae 0x1401bc4d1
mov rax, qword [rbp + 0x90]
movzx eax, byte [rax + r15]
movzx r10d, al
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], rsi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1401bc493
xor eax, eax
mov ecx, r10d
mov edx, 1
shld rax, rdx, cl
mov edx, r10d
shr edx, 3
mov r9d, 1
shl r9, cl
and edx, 0xfffffff0
test r10b, 0x40
cmovne rax, r9
mov ecx, 0
cmovne r9, rcx
mov rcx, qword [rbp]
and rax, qword [rcx + rdx + 8]
and r9, qword [rcx + rdx]
or r9, rax
mov r9, qword [rbp + 0x58]
jne 0x1401bc2f3
movzx r12d, byte [r14 + r10 + 0x90]
jmp 0x1401bc4dc
mov r8, r13
mov r11, qword [rbp + 0xa8]
mov r9, qword [rbp + 0x58]
inc r15
mov qword [rdi + 0x30], r15
test byte [rsi], 1
je 0x1401bcb69
mov qword [rsi + 0x10], r15
mov r10d, r12d
cmp r15, r11
jb 0x1401bc311
jmp 0x1401bc5df
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], rsi
mov r12b, 2
movzx ecx, r12b
test ebx, ebx
je 0x1401bc56b
cmp ebx, 2
jne 0x1401bc567
mov r10, qword [rbp + 0x48]
mov rax, qword [rbp + 8]
test byte [rbp + 0x9f], 1
je 0x1401bc2f8
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
cmp qword [rax + 0x168], rdx
jbe 0x1401bc590
add rcx, qword [rbp + 0x10]
jmp 0x1401bc56b
mov r13, rbx
mov rbx, r8
shl eax, 8
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r10d
mov r8d, eax
call fcn.1402f3710
test eax, eax
jne 0x1401bc6e2
mov r12d, edx
mov r8, rbx
mov r11, qword [rbp + 0xa8]
mov rbx, r13
mov r9, qword [rbp + 0x58]
cmp r12d, 0x7ffffff
ja 0x1401bc366
jmp 0x1401bc4ac
add rcx, 6
mov rdx, qword [rsi + 0x40]
cmp rcx, rdx
jae 0x1401bcba5
mov rax, qword [rsi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1401bc5ab
mov r10d, eax
mov eax, 5
jmp 0x1401bc2f8
lea rcx, [rbp + 0x20]
call fcn.1401ab8f0
mov r9, qword [rbp + 0x58]
mov r11, qword [rbp + 0xa8]
mov r8, r13
test eax, eax
jns 0x1401bc583
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, ebx
mov r8, qword [rbp + 0x48]
mov r9d, r12d
call fcn.1402f4460
mov r9, qword [rbp + 0x58]
mov r11, qword [rbp + 0xa8]
mov r8, r13
mov r10, rax
shr r10, 0x20
jmp 0x1401bc2f8
mov r10d, r12d
cmp r11, r9
jae 0x1401bc653
mov rax, qword [r8 + 8]
movzx r12d, byte [rax + r11]
movzx eax, byte [r14 + r12 + 0x190]
mov ecx, r10d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x1401bcb5d
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x1401bc92b
mov eax, r15d
test eax, 0x8000000
jne 0x1401bcaa3
test eax, 0x20000000
je 0x1401bcae6
mov ecx, r12d
mov rdx, r11
call fcn.1401a8280
mov r11, qword [rbp + 0xa8]
jmp 0x1401bcae8
movzx r8d, byte [r14 + 0x28f]
mov eax, r10d
and eax, 0x7ffffff
lea ecx, [r8 + rax]
inc ecx
mov rdx, qword [rsi + 0x28]
cmp rdx, rcx
jbe 0x1401bcc83
mov r12, r9
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x1401bc96b
test r15d, 0x8000000
je 0x1401bcae6
mov rax, qword [rbp + 0x50]
cmp qword [rax + 0x168], 1
mov eax, 0
je 0x1401bc6cf
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.1401ab8a0
mov rcx, rax
xor edx, edx
call fcn.1401f6870
mov r11, qword [rbp + 0xa8]
mov qword [rdi], 1
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], eax
jmp 0x1401bcae6
mov rcx, r15
call fcn.1401a82d0
jmp 0x1401bb9ac
test eax, 0x8000000
jne 0x1401bc7bb
test eax, 0x40000000
jne 0x1401bc807
test eax, 0x20000000
je 0x1401bccf1
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401bcc8f
mov rcx, r15
sub rcx, rax
neg rcx
mov rdx, r15
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
mov rax, qword [rbp + 0x90]
movzx ecx, byte [rax + r15]
jmp 0x1401bc90f
lea rcx, [rbp + 0x20]
mov r12, rbx
mov rbx, r8
mov dword [rbp + 0x58], r9d
call fcn.1401ab8f0
mov r9d, dword [rbp + 0x58]
mov r11, qword [rbp + 0xa8]
mov r8, rbx
mov rbx, r12
test eax, eax
jns 0x1401bbe2f
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, ebx
mov rbx, r8
mov r8d, r9d
mov r9d, r13d
call fcn.1402f4460
mov r11, qword [rbp + 0xa8]
mov r8, rbx
mov r13, rax
mov r12, rax
shr r12, 0x20
cmp r13d, 5
je 0x1401bbe42
jmp 0x1401bc0e3
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rbp + 0x50]
cmp qword [rcx + 0x168], 1
je 0x1401bc7f9
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
call fcn.1401ab8a0
mov rcx, rax
xor edx, edx
call fcn.1401f6870
mov qword [rdi], 1
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], eax
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401bcc8f
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rsi + 0x158], r15
jmp 0x1401bb9aa
mov r8d, r13d
shl r8d, 8
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
call fcn.1402f3710
test eax, eax
je 0x1401bc9ab
mov rbx, qword [rbp + 0xa8]
mov rcx, rbx
call fcn.1401a82d0
mov r11, rbx
mov r15d, r12d
jmp 0x1401bca0b
inc r8d
shl r8d, 0x10
inc r8d
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
call fcn.1402f3710
test eax, eax
je 0x1401bca62
mov rcx, r13
call fcn.1401a82d0
mov r15d, r12d
mov r11, qword [rbp + 0xa8]
jmp 0x1401bca0b
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, ebx
mov r13, rbx
mov rbx, r8
mov r8d, eax
call fcn.1402f4460
mov r11, qword [rbp + 0xa8]
mov r8, rbx
mov rbx, r13
mov r10, rax
shr r10, 0x20
cmp eax, 5
jne 0x1401bbd8e
jmp 0x1401bc239
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
cmp ecx, 2
je 0x1401bc91c
cmp ecx, 1
jne 0x1401bca7d
mov ecx, r10d
mov rdx, r15
call fcn.1401a8280
jmp 0x1401bb9ac
mov ecx, eax
mov edx, r10d
call fcn.1401a8310
jmp 0x1401bb9ac
mov r8d, r12d
shl r8d, 8
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r10d
mov r13, r10
call fcn.1402f3710
test eax, eax
je 0x1401bca8b
mov rbx, qword [rbp + 0xa8]
mov rcx, rbx
call fcn.1401a82d0
mov r11, rbx
mov r15d, r13d
jmp 0x1401bcae8
inc r8d
shl r8d, 0x10
inc r8d
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r10d
mov rbx, r10
call fcn.1402f3710
test eax, eax
je 0x1401bcb44
mov rcx, r12
call fcn.1401a82d0
mov r15d, ebx
mov r11, qword [rbp + 0xa8]
jmp 0x1401bcae8
mov r15d, edx
mov r11, qword [rbp + 0xa8]
mov eax, r15d
test eax, 0x8000000
je 0x1401bbf8c
xor eax, eax
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x1401bc9fb
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.1401ab8a0
mov rcx, rax
xor edx, edx
call fcn.1401f6870
mov r11, qword [rbp + 0xa8]
mov qword [rdi], 1
mov qword [rdi + 8], r11
mov dword [rdi + 0x10], eax
xor eax, eax
mov rdx, rax
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r15d
test byte [rdi], 1
je 0x1401bca2e
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x1401bcbe8
mov rcx, r11
sub rcx, rax
neg rcx
sub r11, rax
cmovb r11, rcx
add qword [rsi + 0x158], r11
mov rax, rdx
jmp 0x1401bb9ac
mov r15d, edx
mov r11, qword [rbp + 0xa8]
xor eax, eax
test r15d, 0x8000000
jne 0x1401bbfe9
jmp 0x1401bca0b
mov rcx, qword [rbp + 0x18]
call fcn.1401a82d0
jmp 0x1401bb9ac
mov r15d, edx
mov r11, qword [rbp + 0xa8]
mov eax, r15d
test eax, 0x8000000
je 0x1401bc631
xor eax, eax
mov rcx, qword [rbp + 0x50]
cmp qword [rcx + 0x168], 1
je 0x1401bcad8
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.1401ab8a0
mov rcx, rax
xor edx, edx
call fcn.1401f6870
mov r11, qword [rbp + 0xa8]
mov qword [rdi], 1
mov qword [rdi + 8], r11
mov dword [rdi + 0x10], eax
xor eax, eax
lea rdx, [rsi + 8]
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r15d
test byte [rdi], 1
je 0x1401bcb0c
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
cmp qword [rsi], 0
mov rcx, qword [rsi + 8]
mov qword [rsi], 0
movups xmm0, xmmword [rbp + 0x60]
movups xmmword [rdx], xmm0
je 0x1401bcca7
mov rdx, r11
sub rdx, rcx
neg rdx
sub r11, rcx
cmovb r11, rdx
add qword [rsi + 0x158], r11
jmp 0x1401bb9ac
mov r15d, edx
mov r11, qword [rbp + 0xa8]
test r15d, 0x8000000
jne 0x1401bc697
jmp 0x1401bcae6
lea r8, [0x14038d5d8]
call fcn.1402fb4d8
lea rcx, str.no_in_progress_search_to_update
lea r8, [0x14038d710]
mov edx, 0x1f
call fcn.1402fb2f0
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybrid_search.rs_
mov rcx, r15
mov rdx, r13
call fcn.1402fb4d8
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybrid_search.rs_
mov rcx, r15
mov rdx, r9
call fcn.1402fb4d8
lea r8, [0x14038d680]
call fcn.1402fb4d8
lea rcx, str.assertion_failed:_id.is_match__
lea r8, [0x14038d668]
mov edx, 0x1f
call fcn.1402fb3f0
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov rcx, rax
call fcn.1402fb4d8
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.1402fb4d8
mov qword [rbp + 0xa8], rdx
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x14038d6d8]
mov edx, 0x1f
call fcn.1402fb2f0
jmp 0x1401bccc6
mov ecx, 8
mov edx, 0x10
call fcn.1402fb06f
mov qword [rbp - 0x20], r9
lea rax, [rbp - 0x30]
mov qword [rbp + 0x20], rax
lea rax, [0x1401a8210]
mov qword [rbp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x30], rax
lea rax, [fcn.1402e9710]
mov qword [rbp + 0x38], rax
lea rax, [0x14038dd10]
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], 2
mov qword [rbp + 0x80], 0
lea rax, [rbp + 0x20]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], 2
lea rdx, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutil_search.rsinvalid_span__for_haystack_of_length
lea rcx, [rbp + 0x60]
call fcn.1402fb350
lea r8, [0x14038d5f0]
call fcn.1402fb4d8
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x14038d6d8]
mov edx, 0x1f
call fcn.1402fb2f0
mov qword [rbp + 0xa8], rax
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x14038d6d8]
mov edx, 0x1f
call fcn.1402fb2f0
ud2
lea rcx, str.no_quit_in_start_without_look_behind
lea r8, [0x14038d630]
mov edx, 0x24
call fcn.1402fb2f0
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
mov ecx, 0xd
call fcn.1402fb860
lea rax, str.internal_error:_entered_unreachable_code:_sid_being_unknown_is_a_bug
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x68], 1
lea rax, [rbp + 0xa0]
mov qword [rbp + 0x70], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
lea rdx, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybrid_search.rs_
lea rcx, [rbp + 0x60]
call fcn.1402fb350
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
call fcn.1402fb7f0
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutilwire.rs
mov ecx, 4
mov rdx, rax
call fcn.1402fb860
int3