Function at 0x18002e4c0
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 0x18002e510
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 0x18002e54b
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea r12, [0x1801360a0]
cmovne r12, rax
cmp byte [r12 + 0x18], 2
jne 0x18002e73e
mov rax, qword [r14 + 0x2b0]
mov qword [rbp + 0x90], rax
test byte [rdi + 0x28], 1
je 0x18002e64f
mov r12d, dword [rdi + 0x2c]
test byte [rdi + 0x18], 1
je 0x18002e705
test r12d, 0x8000000
je 0x18002f705
mov eax, r12d
and eax, 0x7ffffff
movzx ecx, byte [r14 + 0x2b8]
shr rax, cl
mov rdx, qword [rsi + 0x58]
cmp rax, rdx
jae 0x18002f71d
mov rcx, qword [rsi + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x18002f72c
mov r9, qword [rcx + rax]
movzx ecx, byte [r9 + 0x10]
test cl, 1
je 0x18002e705
mov rax, qword [rdi + 0x20]
mov r10d, 1
test cl, 2
je 0x18002e5e2
cmp rdx, 0xc
jbe 0x18002f837
mov r10d, dword [r9 + 0x19]
cmp rax, r10
jae 0x18002e705
lea r10, [rax + 1]
xor r8d, r8d
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], r10
test cl, 2
je 0x18002e637
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x18002e637
lea rcx, [rax*4 + 0xd]
mov rax, rdx
sub rax, rcx
jb 0x18002f889
cmp rax, 3
jbe 0x18002f895
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 0x18002e4fa
mov qword [rdi + 0x30], r15
test r15, r15
je 0x18002e71e
lea rax, [r15 - 1]
cmp rax, qword [r8 + 0x10]
jae 0x18002e71e
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 0x18002e945
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 0x18002e945
mov r13d, 4
cmp r13d, 5
je 0x18002e992
jmp 0x18002ec39
mov r15, qword [rdi + 0x30]
inc r15
mov qword [rdi + 0x30], r15
cmp r15, r11
ja 0x18002e4fa
jmp 0x18002e992
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 0x18002e956
jmp 0x18002e963
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 0x18002e83a
mov r10d, dword [rdi + 0x2c]
test byte [rdi + 0x18], 1
je 0x18002e90f
test r10d, 0x8000000
je 0x18002f705
mov eax, r10d
and eax, 0x7ffffff
movzx ecx, byte [r14 + 0x2b8]
shr rax, cl
mov rdx, qword [rsi + 0x58]
cmp rax, rdx
jae 0x18002f71d
mov rcx, qword [rsi + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x18002f72c
mov rax, qword [rcx + rax]
movzx r9d, byte [rax + 0x10]
test r9b, 1
je 0x18002e90f
mov r15, qword [rdi + 0x20]
mov ecx, 1
test r9b, 2
je 0x18002e7db
cmp rdx, 0xc
jbe 0x18002f837
mov ecx, dword [rax + 0x19]
cmp r15, rcx
jae 0x18002e90f
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 0x18002e823
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r10d
call fcn.180027730
mov rcx, rax
mov rdx, r15
call fcn.1800508c0
mov rcx, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], eax
jmp 0x18002e4fa
mov qword [rdi + 0x30], r15
test r15, r15
je 0x18002e928
lea rax, [r15 - 1]
cmp rax, qword [r8 + 0x10]
jae 0x18002e928
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 0x18002ed64
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 0x18002ed64
mov eax, 4
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
cmp ecx, 2
je 0x18002f470
cmp ecx, 1
jne 0x18002f238
test r15, r15
je 0x18002f81f
dec r15
jmp 0x18002f460
mov r15, qword [rdi + 0x30]
inc r15
mov qword [rdi + 0x30], r15
cmp r15, r11
ja 0x18002e4fa
jmp 0x18002ed8f
mov eax, dword [r8 + 4]
mov r9b, 2
movzx ecx, r9b
mov rdx, qword [rsi + 0x40]
cmp rdx, rcx
ja 0x18002ed7e
jmp 0x18002f6f9
movzx r13d, byte [r14 + r12 + 0x90]
movzx ecx, r13b
test ebx, ebx
je 0x18002e963
cmp ebx, 1
jne 0x18002ebdf
add rcx, 6
mov rdx, qword [rsi + 0x40]
cmp rcx, rdx
jae 0x18002f6f9
mov rax, qword [rsi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18002f2d2
mov r12d, eax
mov r13d, 5
cmp r13d, 5
jne 0x18002ec39
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov qword [rsi], 0
cmp rdx, 1
jne 0x18002e9c1
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 0x18002e9f3
inc r15
mov qword [rdi + 0x30], r15
test byte [rsi], 1
mov r12d, edx
je 0x18002f6bd
mov qword [rsi + 0x10], r15
cmp r15, r11
jae 0x18002ea90
cmp r15, r13
jae 0x18002f6d5
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 0x18002f6b1
mov rax, qword [rsi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18002ea5b
cmp edx, 0x7ffffff
jbe 0x18002e9e0
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], edx
mov eax, edx
test eax, 0x10000000
jne 0x18002e9e0
jmp 0x18002eb88
shl r8d, 8
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
call fcn.180111910
test eax, eax
jne 0x18002f238
mov r11, qword [rbp + 0xa8]
cmp edx, 0x7ffffff
jbe 0x18002e9e0
jmp 0x18002ea43
cmp r11, r13
jae 0x18002eafd
movzx r13d, byte [rbx + r11]
movzx eax, byte [r14 + r13 + 0x190]
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x18002f6b1
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x18002f38e
mov eax, r15d
test eax, 0x8000000
jne 0x18002f517
test eax, 0x20000000
je 0x18002f55d
mov ecx, r13d
mov rdx, r11
call fcn.180013720
mov r11, qword [rbp + 0xa8]
jmp 0x18002f55f
movzx ecx, byte [r14 + 0x28f]
inc rcx
mov eax, r12d
and eax, 0x7ffffff
add eax, ecx
mov rdx, qword [rsi + 0x28]
cmp rdx, rax
jbe 0x18002f810
mov rdx, qword [rsi + 0x20]
mov r15d, dword [rdx + rax*4]
test r15d, r15d
js 0x18002f3cb
xor eax, eax
test r15d, 0x8000000
je 0x18002f55f
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x18002eb75
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.180027730
mov rcx, rax
xor edx, edx
call fcn.1800508c0
mov r11, qword [rbp + 0xa8]
mov qword [rdi], 1
mov qword [rdi + 8], r13
mov dword [rdi + 0x10], eax
jmp 0x18002f55d
test eax, 0x8000000
jne 0x18002ece7
test eax, 0x40000000
jne 0x18002ed33
test eax, 0x20000000
je 0x18002f854
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x18002f7d7
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 0x18002f463
movzx eax, byte [r14 + 0x81]
mov r12d, r9d
cmp al, 2
je 0x18002ec24
test al, 1
je 0x18002ec24
mov rax, qword [rbp + 0x90]
cmp qword [rax + 0x168], r12
jbe 0x18002f2a6
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [rsi + 0x40]
cmp rcx, rdx
jb 0x18002e970
jmp 0x18002f6f9
mov r13, r12
shl r13, 0x20
or r13, 2
cmp r13d, 5
je 0x18002e992
lea ecx, [r13 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x18002ec8d
cmp eax, 1
jne 0x18002ecbc
test r15, r15
je 0x18002f81f
movzx eax, byte [0x1801d91a1]
mov ecx, 0x10
mov edx, 8
call fcn.1800093d0
test rax, rax
je 0x18002f760
dec r15
mov byte [rax], 0
mov byte [rax + 1], r12b
mov qword [rax + 8], r15
jmp 0x18002e4fc
movzx eax, byte [0x1801d91a1]
mov ecx, 0x10
mov edx, 8
call fcn.1800093d0
test rax, rax
je 0x18002f760
mov byte [rax], 3
mov dword [rax + 4], r13d
mov dword [rax + 8], r12d
jmp 0x18002e4fc
movzx eax, byte [0x1801d91a1]
mov ecx, 0x10
mov edx, 8
call fcn.1800093d0
test rax, rax
je 0x18002f760
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x18002e4fc
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x18002ed25
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
call fcn.180027730
mov rcx, rax
xor edx, edx
call fcn.1800508c0
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 0x18002f7d7
mov rcx, rax
sub rcx, r15
neg rcx
sub rax, r15
cmovbe rax, rcx
add qword [rsi + 0x158], rax
jmp 0x18002e4fa
movzx r9d, byte [r14 + r10 + 0x90]
movzx ecx, r9b
mov rdx, qword [rsi + 0x40]
cmp rdx, rcx
jbe 0x18002f6f9
mov rdx, qword [rsi + 0x38]
movsxd r10, dword [rdx + rcx*4]
test r10, r10
js 0x18002f406
mov rdx, qword [rsi]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov qword [rsi], 0
cmp rdx, 1
jne 0x18002edbe
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 0x18002ee40
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
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
movzx eax, byte [r14 + 0x81]
mov byte [rbp + 0x9f], al
mov qword [rbp + 0x58], r9
jmp 0x18002ee67
mov r9, qword [r8 + 0x10]
jmp 0x18002f138
mov eax, 4
cmp eax, 5
mov rcx, qword [rbp + 0x18]
jne 0x18002f444
mov r15, rcx
cmp rcx, r11
jae 0x18002f138
cmp r15, r9
jae 0x18002f6e7
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 0x18002f6b1
mov rdx, qword [rsi + 0x20]
mov r12d, dword [rdx + rcx*4]
test r12d, r12d
js 0x18002f06f
cmp r12d, 0x7ffffff
jbe 0x18002f002
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r12d
mov eax, r12d
test eax, 0x10000000
je 0x18002f245
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 0x18002e4fa
mov rcx, qword [rbp - 0x40]
cmp rcx, r15
jbe 0x18002eff4
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 0x18002ee5b
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], r11
cmp r9, r11
jb 0x18002f76f
cmp qword [rbp - 8], rcx
jb 0x18002f76f
mov qword [rbp + 0x18], rcx
lea r15, [rcx - 1]
cmp r15, r9
jae 0x18002f027
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 0x18002efe9
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 0x18002ee49
movzx r12d, byte [r14 + r10 + 0x90]
jmp 0x18002f032
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 0x18002f6bd
mov qword [rsi + 0x10], r15
mov r10d, r12d
cmp r15, r11
jb 0x18002ee67
jmp 0x18002f135
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], rsi
mov r12b, 2
movzx ecx, r12b
test ebx, ebx
je 0x18002f0c1
cmp ebx, 2
jne 0x18002f0bd
mov r10, qword [rbp + 0x48]
mov rax, qword [rbp + 8]
test byte [rbp + 0x9f], 1
je 0x18002ee4e
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
cmp qword [rax + 0x168], rdx
jbe 0x18002f0e6
add rcx, qword [rbp + 0x10]
jmp 0x18002f0c1
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.180111910
test eax, eax
jne 0x18002f238
mov r12d, edx
mov r8, rbx
mov r11, qword [rbp + 0xa8]
mov rbx, r13
mov r9, qword [rbp + 0x58]
cmp r12d, 0x7ffffff
ja 0x18002eebc
jmp 0x18002f002
add rcx, 6
mov rdx, qword [rsi + 0x40]
cmp rcx, rdx
jae 0x18002f6f9
mov rax, qword [rsi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18002f101
mov r10d, eax
mov eax, 5
jmp 0x18002ee4e
lea rcx, [rbp + 0x20]
call fcn.180027780
mov r9, qword [rbp + 0x58]
mov r11, qword [rbp + 0xa8]
mov r8, r13
test eax, eax
jns 0x18002f0d9
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.180112650
mov r9, qword [rbp + 0x58]
mov r11, qword [rbp + 0xa8]
mov r8, r13
mov r10, rax
shr r10, 0x20
jmp 0x18002ee4e
mov r10d, r12d
cmp r11, r9
jae 0x18002f1a9
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 0x18002f6b1
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x18002f47f
mov eax, r15d
test eax, 0x8000000
jne 0x18002f5f7
test eax, 0x20000000
je 0x18002f63a
mov ecx, r12d
mov rdx, r11
call fcn.180013720
mov r11, qword [rbp + 0xa8]
jmp 0x18002f63c
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 0x18002f848
mov r12, r9
mov rax, qword [rsi + 0x20]
mov r15d, dword [rax + rcx*4]
test r15d, r15d
js 0x18002f4bf
test r15d, 0x8000000
je 0x18002f63a
mov rax, qword [rbp + 0x50]
cmp qword [rax + 0x168], 1
mov eax, 0
je 0x18002f225
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.180027730
mov rcx, rax
xor edx, edx
call fcn.1800508c0
mov r11, qword [rbp + 0xa8]
mov qword [rdi], 1
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], eax
jmp 0x18002f63a
mov rcx, r15
call fcn.180013770
jmp 0x18002e4fc
test eax, 0x8000000
jne 0x18002f311
test eax, 0x40000000
jne 0x18002f35d
test eax, 0x20000000
je 0x18002f854
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x18002f7d7
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 0x18002f463
lea rcx, [rbp + 0x20]
mov r12, rbx
mov rbx, r8
mov dword [rbp + 0x58], r9d
call fcn.180027780
mov r9d, dword [rbp + 0x58]
mov r11, qword [rbp + 0xa8]
mov r8, rbx
mov rbx, r12
test eax, eax
jns 0x18002e97f
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.180112650
mov r11, qword [rbp + 0xa8]
mov r8, rbx
mov r13, rax
mov r12, rax
shr r12, 0x20
cmp r13d, 5
je 0x18002e992
jmp 0x18002ec39
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rbp + 0x50]
cmp qword [rcx + 0x168], 1
je 0x18002f34f
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
call fcn.180027730
mov rcx, rax
xor edx, edx
call fcn.1800508c0
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 0x18002f7d7
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rsi + 0x158], r15
jmp 0x18002e4fa
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.180111910
test eax, eax
je 0x18002f4ff
mov rbx, qword [rbp + 0xa8]
mov rcx, rbx
call fcn.180013770
mov r11, rbx
mov r15d, r12d
jmp 0x18002f55f
call fcn.180013030
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r12d
mov r8d, eax
call fcn.180111910
test eax, eax
je 0x18002f5b6
mov rcx, r13
call fcn.180013770
mov r15d, r12d
mov r11, qword [rbp + 0xa8]
jmp 0x18002f55f
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.180112650
mov r11, qword [rbp + 0xa8]
mov r8, rbx
mov rbx, r13
mov r10, rax
shr r10, 0x20
cmp eax, 5
jne 0x18002e8de
jmp 0x18002ed8f
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
cmp ecx, 2
je 0x18002f470
cmp ecx, 1
jne 0x18002f5d1
mov ecx, r10d
mov rdx, r15
call fcn.180013720
jmp 0x18002e4fc
mov ecx, eax
mov edx, r10d
call fcn.1800137b0
jmp 0x18002e4fc
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.180111910
test eax, eax
je 0x18002f5df
mov rbx, qword [rbp + 0xa8]
mov rcx, rbx
call fcn.180013770
mov r11, rbx
mov r15d, r13d
jmp 0x18002f63c
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.180111910
test eax, eax
je 0x18002f698
mov rcx, r12
call fcn.180013770
mov r15d, ebx
mov r11, qword [rbp + 0xa8]
jmp 0x18002f63c
mov r15d, edx
mov r11, qword [rbp + 0xa8]
mov eax, r15d
test eax, 0x8000000
je 0x18002eadb
xor eax, eax
mov rcx, qword [rbp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x18002f54f
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.180027730
mov rcx, rax
xor edx, edx
call fcn.1800508c0
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 0x18002f582
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x18002f73c
mov rcx, r11
sub rcx, rax
neg rcx
sub r11, rax
cmovb r11, rcx
add qword [rsi + 0x158], r11
mov rax, rdx
jmp 0x18002e4fc
mov r15d, edx
mov r11, qword [rbp + 0xa8]
xor eax, eax
test r15d, 0x8000000
jne 0x18002eb3f
jmp 0x18002f55f
mov rcx, qword [rbp + 0x18]
call fcn.180013770
jmp 0x18002e4fc
mov r15d, edx
mov r11, qword [rbp + 0xa8]
mov eax, r15d
test eax, 0x8000000
je 0x18002f187
xor eax, eax
mov rcx, qword [rbp + 0x50]
cmp qword [rcx + 0x168], 1
je 0x18002f62c
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rsi
lea rcx, [rbp + 0x60]
mov edx, r15d
call fcn.180027730
mov rcx, rax
xor edx, edx
call fcn.1800508c0
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 0x18002f660
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 0x18002f7ef
mov rdx, r11
sub rdx, rcx
neg rdx
sub r11, rcx
cmovb r11, rdx
add qword [rsi + 0x158], r11
jmp 0x18002e4fc
mov r15d, edx
mov r11, qword [rbp + 0xa8]
test r15d, 0x8000000
jne 0x18002f1ed
jmp 0x18002f63a
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
call fcn.180116e40
lea rcx, str.no_in_progress_search_to_update
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov edx, 0x1f
call fcn.180116cb0
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.180116e40
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.180116e40
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
call fcn.180116e40
lea rcx, str.assertion_failed:_id.is_match__
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov edx, 0x1f
call fcn.180116db0
lea r8, [0x1801356b8]
mov rcx, rax
call fcn.180116e40
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.180116e40
mov qword [rbp + 0xa8], rdx
lea rcx, [0x18013612c]
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov edx, 0x1f
call fcn.180116cb0
jmp 0x18002f80e
mov ecx, 8
mov edx, 0x10
call fcn.180116ac0
mov qword [rbp - 0x20], r9
lea rax, [rbp - 0x30]
mov qword [rbp + 0x20], rax
lea rax, [0x1800136b0]
mov qword [rbp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x30], rax
lea rax, [fcn.18010fc00]
mov qword [rbp + 0x38], rax
lea rax, [0x1801367f0]
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.180116d10
lea rcx, [0x18013612c]
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov edx, 0x1f
call fcn.180116cb0
mov qword [rbp + 0xa8], rax
lea rcx, [0x18013612c]
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov edx, 0x1f
call fcn.180116cb0
ud2
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov rcx, rax
call fcn.180116e40
lea rcx, str.no_quit_in_start_without_look_behind
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
mov edx, 0x24
call fcn.180116cb0
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
mov ecx, 0xd
call fcn.1801171a0
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srchybriddfa.rs
call fcn.180116e40
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.180116d10
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.7_srcutildeterminize_state.rs
call fcn.180117130
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.1801171a0
int3