Function at 0x18003a050
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rbx, r9
mov r12, r8
mov r14, rdx
mov rsi, rcx
mov rdx, qword [r9 + 0x40]
mov rcx, r9
call fcn.180039ec0
mov rax, qword [rbx + 0x40]
cmp rax, qword [rbx + 0x48]
jbe 0x18003a094
mov qword [rsi], 0
mov rax, rsi
jmp 0x18003d15f
mov qword [rsp + 0x30], rsi
mov r13d, dword [rbx + 0x30]
lea eax, [r13 - 1]
cmp eax, 2
mov qword [rsp + 0x28], r12
jb 0x18003a0ca
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea r8, [0x180239870]
cmovne r8, rax
cmp byte [r8 + 0x18], 2
jne 0x18003a164
cmp byte [rbx + 0x60], 0
je 0x18003a116
mov rsi, qword [r14 + 0x2b0]
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x18003a1c8
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003bb2f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x18003a375
add rdx, rcx
add rax, qword [rdx]
jmp 0x18003a515
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x18003a264
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003bb2f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x18003a3b2
add rdx, rcx
add rax, qword [rdx]
jmp 0x18003aaec
cmp byte [rbx + 0x60], 0
je 0x18003a300
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0xa8], rax
mov r13d, dword [rax + 0x17c]
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x18003a3da
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003bb2f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x18003b37f
mov rdi, r8
add rdx, rcx
add rax, qword [rdx]
xor ebp, ebp
jmp 0x18003b423
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003a360
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003d4de
mov rax, qword [rbx + 8]
mov r8, rcx
shl r8, 4
mov r9, qword [rax + r8 + 8]
sub qword [rbx + 0x28], r9
mov r15, qword [rax + r8 + 8]
mov qword [rbx + 0x38], r15
mov rax, qword [rax + r8]
cmp r15, 4
jb 0x18003bae5
mov qword [rbx + 0x50], 4
mov eax, dword [rax + r15 - 4]
mov dword [rbx + 0x58], eax
mov r15d, 4
cmp rcx, rdx
jae 0x18003bb2f
mov rax, qword [rbx + 8]
mov r8, rcx
shl r8, 4
mov rax, qword [rax + r8 + 8]
inc rcx
cmp rcx, rdx
jae 0x18003a4ee
add qword [rbx + 0x28], rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x38], 0
jmp 0x18003a4fc
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003a39d
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003d4de
mov rax, qword [rbx + 8]
mov r8, rcx
shl r8, 4
mov r9, qword [rax + r8 + 8]
sub qword [rbx + 0x28], r9
mov r15, qword [rax + r8 + 8]
mov qword [rbx + 0x38], r15
mov rax, qword [rax + r8]
cmp r15, 4
jb 0x18003bb0b
mov qword [rbx + 0x50], 4
mov eax, dword [rax + r15 - 4]
mov dword [rbx + 0x58], eax
mov r15d, 4
cmp rcx, rdx
jae 0x18003bb2f
mov rax, qword [rbx + 8]
mov r8, rcx
shl r8, 4
mov rax, qword [rax + r8 + 8]
inc rcx
cmp rcx, rdx
jae 0x18003aac5
add qword [rbx + 0x28], rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x38], 0
jmp 0x18003aad3
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0xa0], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xa8], eax
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x18003a464
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003bb2f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x18003b3bc
mov rdi, r8
add rdx, rcx
add rax, qword [rdx]
xor ebp, ebp
jmp 0x18003b604
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d519
mov qword [rbx + 0x50], 0
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r12
mov r15b, 2
movzx ecx, r15b
test r13d, r13d
jne 0x18003a584
jmp 0x18003a5c3
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d519
mov qword [rbx + 0x50], 0
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r12
mov r15b, 2
movzx ecx, r15b
test r13d, r13d
jne 0x18003ab58
jmp 0x18003ab66
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003b36a
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003d4de
mov rdi, r8
mov rax, qword [rbx + 8]
shl rcx, 4
mov rax, qword [rax + rcx + 8]
sub qword [rbx + 0x28], rax
mov rcx, rbx
call fcn.18002cdd0
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.18002cdd0
cmp rdx, 4
jb 0x18003ceac
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.18002cdd0
mov r15, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003b3f9
mov qword [rbx + 0x38], 0
jmp 0x18003b407
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003b3a7
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003d4de
mov rdi, r8
mov rax, qword [rbx + 8]
shl rcx, 4
mov rax, qword [rax + rcx + 8]
sub qword [rbx + 0x28], rax
mov rcx, rbx
call fcn.18002cdd0
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.18002cdd0
cmp rdx, 4
jb 0x18003cec7
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.18002cdd0
mov r15, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003b5da
mov qword [rbx + 0x38], 0
jmp 0x18003b5e8
add rax, qword [rbx + 0x28]
cmp qword [rbx + 0x48], rax
jbe 0x18003a4fc
mov qword [rbx + 0x48], rax
dec r15
cmp r15, 7
ja 0x18003d4f9
lea rax, [rbx + r15]
add rax, 0x58
mov r13d, dword [rbx + 0x30]
movzx edx, byte [rax]
movzx edi, dl
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r12
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003a572
lea rcx, [r14 + 0x290]
call fcn.180155180
test al, al
je 0x18003a572
mov ecx, 4
cmp ecx, 5
je 0x18003a5f1
jmp 0x18003aa85
movzx r15d, byte [r14 + rdi + 0x90]
movzx ecx, r15b
test r13d, r13d
je 0x18003a5c3
cmp r13d, 2
jne 0x18003a5bf
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x18003aa6f
test al, 1
je 0x18003aa6f
mov eax, ebp
cmp qword [rsi + 0x168], rax
jbe 0x18003b7f8
lea rax, [rax + rax*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
jmp 0x18003a5c3
add rcx, 6
mov rdx, qword [r12 + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [r12 + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003b80d
mov edi, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003aa85
mov r10, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
lea rax, [rcx + r10]
cmp qword [r12], 1
jne 0x18003a626
mov rdx, qword [r12 + 0x10]
mov r8, qword [r12 + 8]
mov r9, rdx
sub r9, r8
neg r9
sub rdx, r8
cmovb rdx, r9
add qword [r12 + 0x158], rdx
mov qword [rsp + 0xb0], rsi
mov qword [r12], 1
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], rax
mov r15, qword [rbx + 0x48]
cmp rax, r15
jb 0x18003a717
mov ebp, edi
mov rcx, rbx
mov rdx, r15
call fcn.180039ec0
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003bb2f
mov rax, qword [rbx + 8]
shl rcx, 4
mov rdx, r15
sub rdx, qword [rbx + 0x28]
mov esi, ebp
and esi, 0x7ffffff
cmp rdx, qword [rax + rcx + 8]
jae 0x18003aa17
add rax, rcx
mov rax, qword [rax]
movzx r12d, byte [rax + rdx]
movzx eax, byte [r14 + r12 + 0x190]
mov ecx, esi
add rcx, rax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003bba3
mov eax, edx
test eax, 0x8000000
jne 0x18003b246
test eax, 0x20000000
je 0x18003aa68
mov ecx, r12d
mov rdx, r15
call fcn.18014b840
jmp 0x18003b7cb
mov ebp, edi
mov r10, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
lea rcx, [rax + 1]
mov qword [rbx + 0x38], rcx
add rax, r10
inc rax
mov r15, qword [rbx + 0x48]
mov edi, ebp
cmp rax, r15
jae 0x18003a64f
cmp edi, 0x7ffffff
jbe 0x18003a7e0
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003d47b
mov r8, qword [rbx + 8]
mov r9, rax
shl r9, 4
mov r9, qword [r8 + r9 + 8]
cmp rcx, r9
jb 0x18003a76a
inc rax
add r10, r9
cmp rax, rdx
jae 0x18003b7e3
mov qword [rbx + 0x28], r10
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
test byte [r12], 1
je 0x18003d496
add r10, rcx
mov qword [r12 + 0x10], r10
shl rax, 4
mov rdx, qword [r8 + rax + 8]
cmp rcx, rdx
jae 0x18003d4ae
add r8, rax
mov rax, qword [r8]
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, edi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [r12 + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [r12 + 0x20]
mov ebp, dword [rax + rcx*4]
test ebp, ebp
js 0x18003a9df
mov r8d, ebp
cmp ebp, 0x7ffffff
jbe 0x18003a6f2
jmp 0x18003a97e
lea rax, [rcx + r10]
cmp rax, r15
jae 0x18003a6f0
mov r8, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov r9, qword [rbx + 0x18]
mov r11, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
jmp 0x18003a82a
mov r13, r12
mov r12, qword [rsp + 0x28]
lea rsi, [r10 + r13]
mov rcx, r13
mov edi, ebp
cmp rsi, r15
jae 0x18003a6f2
cmp r9, rax
jae 0x18003d469
mov rsi, r9
shl rsi, 4
mov rsi, qword [r8 + rsi + 8]
cmp rcx, rsi
jb 0x18003a865
inc r9
add r10, rsi
cmp r9, rax
jae 0x18003a94a
mov qword [rbx + 0x28], r10
mov qword [rbx + 0x18], r9
mov qword [rbx + 0x38], 0
xor ecx, ecx
mov r12, r9
shl r12, 4
lea rsi, [r8 + r12]
mov r12, qword [r8 + r12]
movzx r12d, byte [r12 + rcx]
movzx r12d, byte [r14 + r12 + 0x190]
mov r13d, edi
add r13, r12
mov ebp, dword [r11 + r13*4]
cmp rbp, 0x7ffffff
ja 0x18003a93b
lea rdi, [rcx + r10]
add rdi, 3
cmp rdi, r15
jae 0x18003a940
lea r12, [rcx + 1]
mov qword [rbx + 0x38], r12
lea r13, [rcx + 4]
cmp r13, qword [rsi + 8]
jae 0x18003a810
mov rdi, qword [rsi]
movzx edi, byte [rdi + r12]
movzx edi, byte [r14 + rdi + 0x190]
add rdi, rbp
mov edi, dword [r11 + rdi*4]
cmp rdi, 0x7ffffff
ja 0x18003a95c
lea rbp, [rcx + 2]
mov qword [rbx + 0x38], rbp
mov r12, qword [rsi]
movzx r12d, byte [r12 + rcx + 2]
movzx r12d, byte [r14 + r12 + 0x190]
add r12, rdi
mov r12d, dword [r11 + r12*4]
cmp r12, 0x7ffffff
ja 0x18003a966
add rcx, 3
mov qword [rbx + 0x38], rcx
mov rdi, qword [rsi]
movzx edi, byte [rdi + rcx]
movzx edi, byte [r14 + rdi + 0x190]
add rdi, r12
mov ebp, dword [r11 + rdi*4]
cmp ebp, 0x7ffffff
ja 0x18003a96e
mov qword [rbx + 0x38], r13
jmp 0x18003a813
mov r8d, ebp
jmp 0x18003a974
mov r12, qword [rsp + 0x28]
jmp 0x18003a6f2
cmp r15, r10
jbe 0x18003a6f0
mov qword [rbx + 0x48], r10
jmp 0x18003a6f0
mov rcx, r12
mov r8d, edi
mov edi, ebp
jmp 0x18003a974
mov rcx, rbp
mov r8d, r12d
jmp 0x18003a974
mov r8d, ebp
mov edi, r12d
mov r12, qword [rsp + 0x28]
test r8d, r8d
js 0x18003a994
mov eax, r8d
test eax, 0x10000000
je 0x18003b294
mov ebp, r8d
jmp 0x18003a6f2
test byte [r12], 1
je 0x18003d496
add r10, rcx
mov qword [r12 + 0x10], r10
mov rax, qword [rsi + 8]
cmp rcx, rax
jae 0x18003d4ea
mov rax, qword [rsi]
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, edi
add rcx, rax
cmp rcx, rdx
jae 0x18003d48a
mov ebp, dword [r11 + rcx*4]
test ebp, ebp
jns 0x18003a7cc
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, edi
call fcn.180222210
test eax, eax
jne 0x18003afc5
mov ebp, edx
mov r8d, ebp
cmp ebp, 0x7ffffff
jbe 0x18003a6f2
jmp 0x18003a97e
movzx r12d, byte [r14 + 0x28f]
inc r12
mov rcx, r12
call fcn.180155100
mov edx, eax
shr edx, 0x10
movzx ecx, ah
test al, 1
cmovne ecx, edx
add ecx, esi
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x28]
cmp rdx, rcx
jbe 0x18003d50d
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003bbce
xor eax, eax
test edx, 0x8000000
jne 0x18003b26d
xor esi, esi
jmp 0x18003b263
mov edi, ebp
mov rcx, rdi
shl rcx, 0x20
or rcx, 2
cmp ecx, 5
je 0x18003a5f1
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003aabe
cmp eax, 1
jne 0x18003b7b8
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
je 0x18003b7a0
dec rdx
mov ecx, edi
call fcn.18014b840
jmp 0x18003b7cb
mov edx, edi
jmp 0x18003b7c6
add rax, qword [rbx + 0x28]
cmp qword [rbx + 0x48], rax
jbe 0x18003aad3
mov qword [rbx + 0x48], rax
dec r15
cmp r15, 7
ja 0x18003d4f9
lea rax, [rbx + r15]
add rax, 0x58
mov r13d, dword [rbx + 0x30]
movzx edx, byte [rax]
movzx r15d, dl
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], r12
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003ab46
lea rcx, [r14 + 0x290]
call fcn.180155180
test al, al
je 0x18003ab46
mov ecx, 4
cmp ecx, 5
je 0x18003ab95
jmp 0x18003b17b
movzx r15d, byte [r14 + r15 + 0x90]
movzx ecx, r15b
test r13d, r13d
je 0x18003ab66
cmp r13d, 1
jne 0x18003afd7
add rcx, 6
mov rdx, qword [r12 + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [r12 + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003b857
mov r15d, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003b17b
mov r8, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
lea rax, [rcx + r8]
cmp qword [r12], 1
jne 0x18003abca
mov rdx, qword [r12 + 0x10]
mov r9, qword [r12 + 8]
mov r10, rdx
sub r10, r9
neg r10
sub rdx, r9
cmovb rdx, r10
add qword [r12 + 0x158], rdx
mov qword [r12], 1
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], rax
mov r13, qword [rbx + 0x48]
cmp rax, r13
jae 0x18003b025
mov qword [rsp + 0xa8], 0
jmp 0x18003ac43
mov dword [rsp + 0xa0], ecx
mov rax, qword [rbx + 0x38]
add rax, qword [rbx + 0x28]
mov qword [rsp + 0x80], rax
mov eax, 1
mov qword [rsp + 0xa8], rax
nop dword [rax + rax]
mov r8, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
lea rcx, [rax + 1]
mov qword [rbx + 0x38], rcx
add rax, r8
inc rax
mov r13, qword [rbx + 0x48]
cmp rax, r13
jae 0x18003b031
cmp r15d, 0x7ffffff
jbe 0x18003ad70
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003d47b
mov r9, qword [rbx + 8]
mov r10, rax
shl r10, 4
mov r10, qword [r9 + r10 + 8]
cmp rcx, r10
jb 0x18003ac97
inc rax
add r8, r10
cmp rax, rdx
jae 0x18003b3e4
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
test byte [r12], 1
je 0x18003d496
add r8, rcx
mov qword [r12 + 0x10], r8
shl rax, 4
mov rdx, qword [r9 + rax + 8]
cmp rcx, rdx
jae 0x18003d4ae
add r9, rax
mov rax, qword [r9]
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r15d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [r12 + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [r12 + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003aeea
mov r15d, edx
cmp edx, 0x7ffffff
jbe 0x18003ac20
mov eax, r15d
test eax, 0x10000000
jne 0x18003ac20
test eax, 0x8000000
je 0x18003b8ac
xor ecx, ecx
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x168], 1
je 0x18003abf7
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov ecx, eax
jmp 0x18003abf7
lea rax, [rcx + r8]
cmp rax, r13
jae 0x18003ac20
mov rdx, r12
mov r12, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov r10, qword [rbx + 0x18]
mov r11, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x28]
jmp 0x18003adb6
mov rbp, rdi
mov r15d, r9d
lea r9, [r8 + rbp]
mov rcx, rbp
cmp r9, r13
jae 0x18003af1b
cmp r10, rax
jae 0x18003d457
mov r9, r10
shl r9, 4
mov r9, qword [r12 + r9 + 8]
cmp rcx, r9
jb 0x18003adf1
inc r10
add r8, r9
cmp r10, rax
jae 0x18003af12
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x18], r10
mov qword [rbx + 0x38], 0
xor ecx, ecx
mov r9, r10
shl r9, 4
lea rsi, [r12 + r9]
mov r9, qword [r12 + r9]
movzx r9d, byte [r9 + rcx]
movzx r9d, byte [r14 + r9 + 0x190]
mov edi, r15d
add rdi, r9
mov r9d, dword [r11 + rdi*4]
cmp r9, 0x7ffffff
ja 0x18003af40
lea rdi, [rcx + r8]
add rdi, 3
cmp rdi, r13
jae 0x18003aedd
lea rdi, [rcx + 1]
mov qword [rbx + 0x38], rdi
lea rbp, [rcx + 4]
cmp rbp, qword [rsi + 8]
jae 0x18003ada0
mov r15, qword [rsi]
movzx r15d, byte [r15 + rdi]
movzx r15d, byte [r14 + r15 + 0x190]
add r15, r9
mov r15d, dword [r11 + r15*4]
cmp r15, 0x7ffffff
ja 0x18003af25
lea rdi, [rcx + 2]
mov qword [rbx + 0x38], rdi
mov r9, qword [rsi]
movzx r9d, byte [r9 + rcx + 2]
movzx r9d, byte [r14 + r9 + 0x190]
add r9, r15
mov r9d, dword [r11 + r9*4]
cmp r9, 0x7ffffff
ja 0x18003af3d
add rcx, 3
mov qword [rbx + 0x38], rcx
mov rdi, qword [rsi]
movzx edi, byte [rdi + rcx]
movzx edi, byte [r14 + rdi + 0x190]
add rdi, r9
mov r15d, dword [r11 + rdi*4]
cmp r15d, 0x7ffffff
ja 0x18003af28
mov qword [rbx + 0x38], rbp
lea r9, [r8 + rbp]
mov rcx, rbp
cmp r9, r13
jb 0x18003adb6
jmp 0x18003af1b
mov r15d, r9d
mov r12, qword [rsp + 0x28]
jmp 0x18003ac20
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.180222210
test eax, eax
je 0x18003acfa
jmp 0x18003afc5
cmp r13, r8
jbe 0x18003af1b
mov qword [rbx + 0x48], r8
mov r12, qword [rsp + 0x28]
jmp 0x18003ac20
mov rcx, rdi
mov eax, r15d
mov r15d, eax
test eax, eax
mov r12, qword [rsp + 0x28]
jns 0x18003ad09
jmp 0x18003af56
mov rcx, rdi
mov eax, r9d
mov r9d, r15d
mov r15d, eax
test eax, eax
mov r12, qword [rsp + 0x28]
jns 0x18003ad09
test byte [r12], 1
je 0x18003d496
add r8, rcx
mov qword [r12 + 0x10], r8
mov rax, qword [rsi + 8]
cmp rcx, rax
jae 0x18003d4ea
mov rax, qword [rsi]
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r9d
add rcx, rax
cmp rcx, rdx
jae 0x18003d48a
mov edx, dword [r11 + rcx*4]
test edx, edx
jns 0x18003acfa
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r9d
call fcn.180222210
test eax, eax
je 0x18003acfa
mov rcx, qword [rbx + 0x38]
add rcx, qword [rbx + 0x28]
call fcn.18014b890
jmp 0x18003b7cb
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x18003b164
test al, 1
je 0x18003b164
mov eax, ebp
mov rdx, qword [rsp + 0xb0]
cmp qword [rdx + 0x168], rax
jbe 0x18003b842
lea rax, [rax + rax*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [r12 + 0x40]
cmp rcx, rdx
jb 0x18003ab74
jmp 0x18003d4ba
mov qword [rsp + 0xa8], 0
mov rcx, rbx
mov rdx, r13
call fcn.180039ec0
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003bb2f
mov rax, qword [rbx + 8]
shl rcx, 4
mov rdx, r13
sub rdx, qword [rbx + 0x28]
mov esi, r15d
and esi, 0x7ffffff
cmp rdx, qword [rax + rcx + 8]
jae 0x18003b0de
add rax, rcx
mov rax, qword [rax]
movzx r12d, byte [rax + rdx]
movzx eax, byte [r14 + r12 + 0x190]
mov ecx, esi
add rcx, rax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003bb3b
mov eax, edx
test eax, 0x8000000
jne 0x18003b13d
test eax, 0x20000000
mov rsi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x80]
je 0x18003b1ea
mov ecx, r12d
mov rdx, r13
call fcn.18014b840
jmp 0x18003b7cb
movzx r12d, byte [r14 + 0x28f]
inc r12
mov rcx, r12
call fcn.180155100
mov edx, eax
shr edx, 0x10
movzx ecx, ah
test al, 1
cmovne ecx, edx
add ecx, esi
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x28]
cmp rdx, rcx
jbe 0x18003d50d
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003bb67
test edx, 0x8000000
mov rsi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x80]
je 0x18003b1ea
mov esi, 1
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x168], 1
jne 0x18003b1bd
mov dword [rsp + 0xa0], 0
jmp 0x18003b1e7
mov r15d, ebp
mov rcx, r15
shl rcx, 0x20
or rcx, 2
cmp ecx, 5
je 0x18003ab95
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003b1b5
cmp eax, 1
jne 0x18003b7b8
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
je 0x18003b7a0
dec rdx
mov ecx, r15d
call fcn.18014b840
jmp 0x18003b7cb
mov edx, r15d
jmp 0x18003b7c6
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov dword [rsp + 0xa0], eax
mov r9, r13
mov r8, qword [rsp + 0x28]
lea rdx, [r8 + 8]
mov rax, qword [rbx + 0x48]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rdx], xmm0
je 0x18003d4c6
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
mov rax, qword [rsp + 0x30]
mov qword [rax], rsi
mov qword [rax + 8], r9
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
jmp 0x18003d15f
xor eax, eax
mov esi, 1
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x168], 1
jne 0x18003b2f6
mov rdi, qword [rsp + 0x28]
jmp 0x18003b319
mov esi, 1
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x168], 1
mov rdi, qword [rsp + 0x28]
je 0x18003b319
mov qword [rsp + 0x40], r14
jmp 0x18003b300
test eax, 0x8000000
jne 0x18003b927
test eax, 0x40000000
je 0x18003b8b7
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov rcx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r12 + 0x158], rax
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
jmp 0x18003d15f
mov qword [rsp + 0x40], r14
mov rdi, qword [rsp + 0x28]
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
lea r8, [rdi + 8]
mov rcx, qword [rbx + 0x48]
cmp qword [rdi], 0
mov rdx, qword [rdi + 8]
mov qword [rdi], 0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [r8], xmm0
je 0x18003d4c6
mov r8, rcx
sub r8, rdx
neg r8
sub rcx, rdx
cmovb rcx, r8
add qword [rdi + 0x158], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r15
mov dword [rcx + 0x10], eax
jmp 0x18003d15c
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d53c
mov qword [rbx + 0x50], 0
mov r12d, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov ecx, 2
xor ebp, ebp
mov r9b, 2
jmp 0x18003b4f7
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d53c
mov qword [rbx + 0x50], 0
mov r12d, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov ecx, 2
xor ebp, ebp
mov r9b, 2
jmp 0x18003b6d8
cmp r13, r8
jbe 0x18003b031
mov qword [rbx + 0x48], r8
mov r13, r8
jmp 0x18003b031
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003b407
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003d52b
lea rax, [rbx + rcx]
add rax, 0x58
mov ebp, dword [rbx + 0x30]
movzx edx, byte [rax]
movzx esi, dl
mov r12d, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003b483
lea rcx, [r14 + 0x290]
call fcn.180155180
test al, al
je 0x18003b483
mov ecx, 4
mov r12, rsi
mov r8, rdi
jmp 0x18003b51b
movzx r9d, byte [r14 + rsi + 0x90]
movzx ecx, r9b
test ebp, ebp
je 0x18003b4dc
cmp ebp, 2
jne 0x18003b4e6
movzx eax, byte [r14 + 0x81]
cmp al, 2
mov r8, rdi
je 0x18003b88c
test al, 1
je 0x18003b88c
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], r12
jbe 0x18003bc65
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov ebp, 2
jmp 0x18003b4f2
mov rax, qword [rsp + 0x28]
mov r8, rdi
jmp 0x18003b4f7
mov r8, rdi
add rcx, 6
mov ebp, 1
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003bc8b
mov r12d, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003b59c
lea rcx, [rsp + 0x88]
mov qword [rsp + 0xb0], r8
mov rdx, r8
mov r8, rbx
call fcn.18003f490
test byte [rsp + 0x88], 1
je 0x18003cea0
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
call fcn.180039ec0
mov rcx, qword [rbx + 0x38]
test r13d, r13d
mov dword [rsp + 0xa0], r13d
je 0x18003be52
test rcx, rcx
je 0x18003b9b5
mov rcx, rbx
call fcn.18002cdd0
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
mov r8, qword [rsp + 0x28]
jae 0x18003bc1e
add rax, rcx
jmp 0x18003bd3e
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003b7c3
cmp eax, 1
jne 0x18003b7b8
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
je 0x18003b7a0
dec rdx
mov ecx, r12d
call fcn.18014b840
jmp 0x18003b7cb
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003b5e8
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003d52b
lea rax, [rbx + rcx]
add rax, 0x58
mov ebp, dword [rbx + 0x30]
movzx edx, byte [rax]
movzx esi, dl
mov r12d, dword [rbx + 0x34]
mov qword [rsp + 0x88], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003b664
lea rcx, [r14 + 0x290]
call fcn.180155180
test al, al
je 0x18003b664
mov ecx, 4
mov r12, rsi
mov r8, rdi
jmp 0x18003b6fc
movzx r9d, byte [r14 + rsi + 0x90]
movzx ecx, r9b
test ebp, ebp
je 0x18003b6bd
cmp ebp, 2
jne 0x18003b6c7
movzx eax, byte [r14 + 0x81]
cmp al, 2
mov r8, rdi
je 0x18003b89c
test al, 1
je 0x18003b89c
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], r12
jbe 0x18003bcbe
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov ebp, 2
jmp 0x18003b6d3
mov rax, qword [rsp + 0x28]
mov r8, rdi
jmp 0x18003b6d8
mov r8, rdi
add rcx, 6
mov ebp, 1
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003bce4
mov r12d, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003b77a
lea rcx, [rsp + 0x88]
mov qword [rsp + 0xb0], r8
mov rdx, r8
mov r8, rbx
call fcn.18003f490
test byte [rsp + 0x88], 1
je 0x18003cea0
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
call fcn.180039ec0
mov rcx, qword [rbx + 0x38]
cmp dword [rsp + 0xa8], 0
je 0x18003c67c
test rcx, rcx
je 0x18003ba1f
mov rcx, rbx
call fcn.18002cdd0
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
mov r8, qword [rsp + 0x28]
jae 0x18003bc4c
add rax, rcx
jmp 0x18003c568
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003b7c3
cmp eax, 1
jne 0x18003b7b8
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
jne 0x18003b5ca
lea rcx, [0x180239890]
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
mov edx, 0x24
call fcn.180226a20
mov rcx, qword [rbx + 0x48]
call fcn.18014b890
jmp 0x18003b7cb
mov edx, r12d
call fcn.18014b8d0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov rax, rcx
mov qword [rcx], 2
jmp 0x18003d15f
cmp r15, r10
jbe 0x18003a64d
mov qword [rbx + 0x48], r10
mov r15, r10
jmp 0x18003a64d
lea rcx, [rsp + 0x88]
call fcn.180157b90
test eax, eax
jns 0x18003a5e1
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r13d
mov r8d, ebp
mov r9d, r15d
call fcn.180222f60
mov rcx, rax
mov rdi, rax
shr rdi, 0x20
cmp ecx, 5
je 0x18003a5f1
jmp 0x18003aa85
lea rcx, [rsp + 0x88]
call fcn.180157b90
test eax, eax
jns 0x18003ab84
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r13d
mov r8d, ebp
mov r9d, r15d
call fcn.180222f60
mov rcx, rax
mov r15, rax
shr r15, 0x20
cmp ecx, 5
je 0x18003ab95
jmp 0x18003b17b
mov rcx, r12
shl rcx, 0x20
or rcx, 2
jmp 0x18003b51b
mov rcx, r12
shl rcx, 0x20
or rcx, 2
jmp 0x18003b6fc
test eax, 0x40000000
jne 0x18003ba89
test eax, 0x20000000
je 0x18003d5d4
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov rcx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r12 + 0x158], rax
mov rcx, rbx
call fcn.18002cdd0
mov r9, rdx
mov rdx, qword [rbx + 0x38]
cmp rdx, r9
jae 0x18003d60c
movzx ecx, byte [rax + rdx]
add rdx, qword [rbx + 0x28]
call fcn.18014b840
jmp 0x18003b7cb
xor eax, eax
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x168], 1
je 0x18003b95c
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r8d
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov r8, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
mov rdx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003d4c6
add rcx, r8
mov r8, rcx
sub r8, rdx
neg r8
mov r9, rcx
sub r9, rdx
cmovb r9, r8
add qword [r12 + 0x158], r9
mov rdx, qword [rsp + 0x30]
mov qword [rdx], 1
mov qword [rdx + 8], rcx
mov dword [rdx + 0x10], eax
mov rax, rdx
jmp 0x18003d15f
mov rcx, rbx
call fcn.18002ce60
test al, al
mov r8, qword [rsp + 0x28]
je 0x18003bc09
mov rcx, rbx
call fcn.18002cdd0
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.18002cdd0
cmp rdx, 4
jb 0x18003d35b
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.18002cdd0
mov r15, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003bd17
mov qword [rbx + 0x38], 0
jmp 0x18003bd25
mov rcx, rbx
call fcn.18002ce60
test al, al
mov r8, qword [rsp + 0x28]
je 0x18003bc37
mov rcx, rbx
call fcn.18002cdd0
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.18002cdd0
cmp rdx, 4
jb 0x18003d376
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.18002cdd0
mov r15, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003c541
mov qword [rbx + 0x38], 0
jmp 0x18003c54f
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov rcx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r12 + 0x158], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xa8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rax + 8], rcx
jmp 0x18003b237
lea rcx, [rbx + 0x58]
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jb 0x18003a233
jmp 0x18003bb2f
lea rcx, [rbx + 0x58]
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jb 0x18003a2cf
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
call fcn.180226ba4
mov r8d, r12d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.180222210
test eax, eax
jne 0x18003bb96
jmp 0x18003b0a6
mov rcx, r12
call fcn.180155100
mov qword [rsp + 0x40], r14
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x40]
mov edx, r15d
mov r8d, eax
call fcn.180222210
test eax, eax
je 0x18003b121
mov rcx, r13
call fcn.18014b890
jmp 0x18003b7cb
mov r8d, r12d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.180222210
test eax, eax
jne 0x18003bbfc
jmp 0x18003a6c7
mov rcx, r12
call fcn.180155100
mov qword [rsp + 0x40], r14
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x40]
mov edx, ebp
mov r8d, eax
call fcn.180222210
test eax, eax
je 0x18003aa5a
mov rcx, r15
call fcn.18014b890
jmp 0x18003b7cb
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d61e
mov qword [rbx + 0x50], 0
mov ebp, dword [rbx + 0x30]
mov r15d, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r8
mov r13b, 2
jmp 0x18003bdb0
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d5ae
mov qword [rbx + 0x50], 0
mov ebp, dword [rbx + 0x30]
mov r15d, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r8
mov r13b, 2
jmp 0x18003c5da
lea rcx, [rsp + 0x88]
mov esi, r9d
mov rdi, r8
call fcn.180157b90
mov r8, rdi
mov r9d, esi
mov ebp, 2
test eax, eax
jns 0x18003b513
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, ebp
mov rsi, r8
mov r8d, r12d
call fcn.180222f60
mov r8, rsi
mov rcx, rax
mov r12, rax
shr r12, 0x20
jmp 0x18003b51b
lea rcx, [rsp + 0x88]
mov esi, r9d
mov rdi, r8
call fcn.180157b90
mov r8, rdi
mov r9d, esi
mov ebp, 2
test eax, eax
jns 0x18003b6f4
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, ebp
mov rsi, r8
mov r8d, r12d
call fcn.180222f60
mov r8, rsi
mov rcx, rax
mov r12, rax
shr r12, 0x20
jmp 0x18003b6fc
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003bd25
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003d52b
lea rax, [rbx + rcx]
add rax, 0x58
movzx edx, byte [rax]
movzx r12d, dl
mov ebp, dword [rbx + 0x30]
mov r15d, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003bda2
lea rcx, [r14 + 0x290]
call fcn.180155180
test al, al
je 0x18003bda2
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003be4e
jmp 0x18003d139
movzx r13d, byte [r14 + r12 + 0x90]
mov r8, qword [rsp + 0x28]
movzx ecx, r13b
test ebp, ebp
je 0x18003be01
cmp ebp, 2
jne 0x18003bdfd
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
mov r12d, r15d
cmp dl, 2
je 0x18003be37
test dl, 1
je 0x18003be37
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], r12
jbe 0x18003d0ab
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8, qword [rsp + 0x28]
jmp 0x18003be01
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003d0c2
mov r12d, eax
mov eax, 5
mov edx, eax
cmp rdx, 5
je 0x18003be4e
jmp 0x18003d139
mov rax, r12
shl rax, 0x20
or rax, 2
mov edx, eax
cmp rdx, 5
jne 0x18003d139
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
lea rax, [r8 + rcx]
mov r11, qword [rsp + 0x28]
cmp qword [r11], 1
jne 0x18003be84
mov rdx, qword [r11 + 0x10]
mov r9, qword [r11 + 8]
mov r10, rdx
sub r10, r9
neg r10
sub rdx, r9
cmovb rdx, r10
add qword [r11 + 0x158], rdx
lea rdx, [r11 + 8]
mov qword [rsp + 0x80], rdx
mov qword [r11], 1
mov qword [r11 + 8], rax
mov qword [r11 + 0x10], rax
mov rbp, qword [rbx + 0x48]
cmp rax, rbp
jae 0x18003ceee
lea rax, [rbx + 0x58]
mov qword [rsp + 0xe0], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0xc0], rax
jmp 0x18003bef2
mov r13d, r12d
mov r8, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
lea rcx, [rax + 1]
mov qword [rbx + 0x38], rcx
add rax, r8
inc rax
mov rbp, qword [rbx + 0x48]
mov r12d, r13d
cmp rax, rbp
jae 0x18003cef1
cmp r12d, 0x7ffffff
jbe 0x18003bfc1
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003d47b
mov r9, qword [rbx + 8]
mov r10, rax
shl r10, 4
mov r10, qword [r9 + r10 + 8]
cmp rcx, r10
jb 0x18003bf46
inc rax
add r8, r10
cmp rax, rdx
jae 0x18003cee2
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
mov r10, qword [rsp + 0x28]
test byte [r10], 1
je 0x18003d496
add r8, rcx
mov qword [r10 + 0x10], r8
shl rax, 4
mov rdx, qword [r9 + rax + 8]
cmp rcx, rdx
jae 0x18003d4ae
add r9, rax
mov rax, qword [r9]
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r12d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [r10 + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [r10 + 0x20]
mov r13d, dword [rax + rcx*4]
test r13d, r13d
js 0x18003c24c
mov r15d, r13d
cmp r13d, 0x7ffffff
jbe 0x18003becc
jmp 0x18003c144
lea rax, [rcx + r8]
cmp rax, rbp
jae 0x18003bec9
mov r9, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
mov r10, qword [rsp + 0x28]
mov r10, qword [r10 + 0x20]
jmp 0x18003bffb
mov rsi, rdi
lea r11, [rsi + r8]
mov rcx, rsi
mov r12d, r13d
cmp r11, rbp
jae 0x18003becc
cmp rax, rdx
jae 0x18003d47b
mov r11, rax
shl r11, 4
mov r11, qword [r9 + r11 + 8]
cmp rcx, r11
jb 0x18003c036
inc rax
add r8, r11
cmp rax, rdx
jae 0x18003c110
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
mov r11, rax
shl r11, 4
mov rsi, qword [r9 + r11]
movzx esi, byte [rsi + rcx]
movzx esi, byte [r14 + rsi + 0x190]
mov edi, r12d
add rdi, rsi
mov r13d, dword [r10 + rdi*4]
cmp r13, 0x7ffffff
ja 0x18003c10b
lea rsi, [rcx + r8]
add rsi, 3
cmp rsi, rbp
jae 0x18003becc
add r11, r9
lea rdi, [rcx + 1]
mov qword [rbx + 0x38], rdi
lea rsi, [rcx + 4]
cmp rsi, qword [r11 + 8]
jae 0x18003bfe5
mov r15, qword [r11]
movzx r15d, byte [r15 + rdi]
movzx r15d, byte [r14 + r15 + 0x190]
add r15, r13
mov r12d, dword [r10 + r15*4]
cmp r12, 0x7ffffff
ja 0x18003c122
lea r15, [rcx + 2]
mov qword [rbx + 0x38], r15
mov rdi, qword [r11]
movzx edi, byte [rdi + rcx + 2]
movzx edi, byte [r14 + rdi + 0x190]
add rdi, r12
mov edi, dword [r10 + rdi*4]
cmp rdi, 0x7ffffff
ja 0x18003c12d
add rcx, 3
mov qword [rbx + 0x38], rcx
mov r11, qword [r11]
movzx r11d, byte [r11 + rcx]
movzx r11d, byte [r14 + r11 + 0x190]
add r11, rdi
mov r13d, dword [r10 + r11*4]
cmp r13d, 0x7ffffff
ja 0x18003c135
mov qword [rbx + 0x38], rsi
jmp 0x18003bfe8
mov r15d, r13d
jmp 0x18003c13b
cmp rbp, r8
jbe 0x18003bec9
mov qword [rbx + 0x48], r8
jmp 0x18003bec9
mov rcx, rdi
mov r15d, r12d
mov r12d, r13d
jmp 0x18003c13b
mov rcx, r15
mov r15d, edi
jmp 0x18003c13b
mov r15d, r13d
mov r12d, edi
test r15d, r15d
js 0x18003c1f0
mov eax, r15d
test eax, 0x10000000
je 0x18003c4ce
mov r12, qword [rbx + 0x38]
add r12, qword [rbx + 0x28]
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0xb0]
mov r8, rbx
call fcn.18003f490
test byte [rsp + 0x88], 1
je 0x18003ce53
mov rdx, qword [rsp + 0x90]
cmp rdx, r12
jbe 0x18003c1d0
mov rcx, rbx
call fcn.180039ec0
mov rcx, qword [rbx + 0x38]
cmp dword [rsp + 0xa0], 0
je 0x18003c44b
test rcx, rcx
je 0x18003c28c
mov rcx, rbx
call fcn.18002cdd0
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
jae 0x18003c2fb
add rax, rcx
jmp 0x18003c340
mov rax, qword [rbx + 0x38]
add rax, qword [rbx + 0x28]
cmp rax, r12
je 0x18003c1e8
mov rcx, rbx
mov rdx, r12
call fcn.180039ec0
mov r13d, r15d
jmp 0x18003becc
mov rsi, qword [rsp + 0x28]
test byte [rsi], 1
je 0x18003d496
add r8, rcx
mov qword [rsi + 0x10], r8
mov rcx, rbx
call fcn.18002cdd0
mov rcx, qword [rbx + 0x38]
cmp rcx, rdx
jae 0x18003d5a2
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r12d
add rcx, rax
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [rsi + 0x20]
mov r13d, dword [rax + rcx*4]
test r13d, r13d
jns 0x18003bfac
shl r8d, 8
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.180222210
test eax, eax
jne 0x18003afc5
mov r13d, edx
mov r15d, r13d
cmp r13d, 0x7ffffff
jbe 0x18003becc
jmp 0x18003c144
mov rcx, rbx
call fcn.18002ce60
test al, al
je 0x18003c2e6
mov rcx, rbx
call fcn.18002cdd0
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.18002cdd0
cmp rdx, 4
jb 0x18003c4af
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.18002cdd0
mov r15, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003c319
mov qword [rbx + 0x38], 0
jmp 0x18003c327
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d61e
mov qword [rbx + 0x50], 0
mov r12d, dword [rbx + 0x30]
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x78], rax
mov r15b, 2
jmp 0x18003c3ae
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003c327
mov qword [rbx + 0x48], r15
mov rax, qword [rbx + 0x50]
dec rax
cmp rax, 7
ja 0x18003d5c0
add rax, qword [rsp + 0xe0]
movzx edx, byte [rax]
movzx r15d, dl
mov r12d, dword [rbx + 0x30]
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003c3a5
mov rcx, qword [rsp + 0xc0]
call fcn.180155180
test al, al
je 0x18003c3a5
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003c447
jmp 0x18003d2f1
movzx r15d, byte [r14 + r15 + 0x90]
movzx ecx, r15b
test r12d, r12d
je 0x18003c3fb
cmp r12d, 2
jne 0x18003c3f7
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
cmp dl, 2
je 0x18003c42d
test dl, 1
je 0x18003c42d
mov edx, ebp
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], rdx
jbe 0x18003c46b
lea rax, [rdx + rdx*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
jmp 0x18003c3fb
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003c479
mov r15d, eax
mov eax, 5
mov edx, eax
cmp rdx, 5
je 0x18003c447
jmp 0x18003d2f1
mov r15d, ebp
mov rax, r15
shl rax, 0x20
or rax, 2
mov edx, eax
cmp rdx, 5
jne 0x18003d2f1
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
mov rbp, qword [rbx + 0x48]
lea rax, [r8 + rcx]
mov r12d, r15d
mov r13d, r15d
cmp rax, rbp
jb 0x18003bef2
jmp 0x18003cef1
lea rcx, [rsp + 0x70]
call fcn.180157b90
test eax, eax
jns 0x18003c418
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
mov r8d, ebp
mov r9d, r15d
call fcn.180222f60
mov r15, rax
shr r15, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003c447
jmp 0x18003d2f1
mov rcx, qword [rsp + 0xe0]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
jmp 0x18003c2c5
test eax, 0x8000000
jne 0x18003d021
test eax, 0x40000000
mov r8, qword [rsp + 0x28]
jne 0x18003d30e
test eax, 0x20000000
je 0x18003d5d4
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0x40]
mov r9, qword [rsp + 0x80]
movups xmmword [r9], xmm0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
jmp 0x18003b8fd
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003c54f
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003d52b
lea rax, [rbx + rcx]
add rax, 0x58
movzx edx, byte [rax]
movzx r12d, dl
mov ebp, dword [rbx + 0x30]
mov r15d, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x78], rax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x18003c5cc
lea rcx, [r14 + 0x290]
call fcn.180155180
test al, al
je 0x18003c5cc
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003c678
jmp 0x18003d139
movzx r13d, byte [r14 + r12 + 0x90]
mov r8, qword [rsp + 0x28]
movzx ecx, r13b
test ebp, ebp
je 0x18003c62b
cmp ebp, 2
jne 0x18003c627
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
mov r12d, r15d
cmp dl, 2
je 0x18003c661
test dl, 1
je 0x18003c661
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], r12
jbe 0x18003d0f3
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8, qword [rsp + 0x28]
jmp 0x18003c62b
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003d10a
mov r12d, eax
mov eax, 5
mov edx, eax
cmp rdx, 5
je 0x18003c678
jmp 0x18003d139
mov rax, r12
shl rax, 0x20
or rax, 2
mov edx, eax
cmp rdx, 5
jne 0x18003d139
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
lea rax, [r8 + rcx]
mov r11, qword [rsp + 0x28]
cmp qword [r11], 1
jne 0x18003c6ae
mov rdx, qword [r11 + 0x10]
mov r9, qword [r11 + 8]
mov r10, rdx
sub r10, r9
neg r10
sub rdx, r9
cmovb rdx, r10
add qword [r11 + 0x158], rdx
lea rdx, [r11 + 8]
mov qword [rsp + 0xc0], rdx
mov qword [r11], 1
mov qword [r11 + 8], rax
mov qword [r11 + 0x10], rax
mov rbp, qword [rbx + 0x48]
cmp rax, rbp
jae 0x18003cdb3
lea rax, [rbx + 0x58]
mov qword [rsp + 0xf0], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x80], 0
jmp 0x18003c725
mov r12d, r13d
mov r8, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
lea rcx, [rax + 1]
mov qword [rbx + 0x38], rcx
add rax, r8
inc rax
mov rbp, qword [rbx + 0x48]
cmp rax, rbp
jae 0x18003d179
mov r13d, r12d
mov rsi, qword [rsp + 0x28]
cmp r13d, 0x7ffffff
jbe 0x18003c80a
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003d47b
mov rdx, qword [rbx + 8]
shl rax, 4
cmp rcx, qword [rdx + rax + 8]
jb 0x18003c77f
mov rcx, rbx
call fcn.18002cdd0
mov rbp, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003d007
mov qword [rbx + 0x38], 0
xor ecx, ecx
test byte [rsi], 1
je 0x18003d496
mov rax, qword [rbx + 0x28]
add rax, rcx
mov qword [rsi + 0x10], rax
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003d47b
mov r8, qword [rbx + 8]
shl rax, 4
mov rdx, qword [r8 + rax + 8]
cmp rcx, rdx
jae 0x18003d4ae
add r8, rax
mov rax, qword [r8]
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jae 0x18003d48a
mov rax, qword [rsi + 0x20]
mov r12d, dword [rax + rcx*4]
test r12d, r12d
js 0x18003cc60
cmp r12d, 0x7ffffff
ja 0x18003c986
jmp 0x18003c702
lea rax, [rcx + r8]
cmp rax, rbp
jae 0x18003c6ff
mov r9, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
mov r10, qword [rsi + 0x20]
jmp 0x18003c83f
mov rsi, rdi
mov r13d, r15d
lea r11, [rsi + r8]
mov rcx, rsi
cmp r11, rbp
jae 0x18003c6ff
cmp rax, rdx
jae 0x18003d47b
mov r11, rax
shl r11, 4
mov r11, qword [r9 + r11 + 8]
cmp rcx, r11
jb 0x18003c87a
inc rax
add r8, r11
cmp rax, rdx
jae 0x18003cd10
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
mov r11, rax
shl r11, 4
mov rsi, qword [r9 + r11]
movzx esi, byte [rsi + rcx]
movzx esi, byte [r14 + rsi + 0x190]
mov edi, r13d
add rdi, rsi
mov r15d, dword [r10 + rdi*4]
cmp r15, 0x7ffffff
ja 0x18003c95f
lea rsi, [rcx + r8]
add rsi, 3
cmp rsi, rbp
jae 0x18003cd08
add r11, r9
lea rdi, [rcx + 1]
mov qword [rbx + 0x38], rdi
lea rsi, [rcx + 4]
cmp rsi, qword [r11 + 8]
jae 0x18003c829
mov r12, qword [r11]
movzx r12d, byte [r12 + rdi]
movzx r12d, byte [r14 + r12 + 0x190]
add r12, r15
mov r13d, dword [r10 + r12*4]
cmp r13, 0x7ffffff
ja 0x18003c964
lea r15, [rcx + 2]
mov qword [rbx + 0x38], r15
mov rdi, qword [r11]
movzx edi, byte [rdi + rcx + 2]
movzx edi, byte [r14 + rdi + 0x190]
add rdi, r13
mov edi, dword [r10 + rdi*4]
cmp rdi, 0x7ffffff
ja 0x18003c96f
add rcx, 3
mov qword [rbx + 0x38], rcx
mov r11, qword [r11]
movzx r11d, byte [r11 + rcx]
movzx r11d, byte [r14 + r11 + 0x190]
add r11, rdi
mov r13d, dword [r10 + r11*4]
cmp r13d, 0x7ffffff
ja 0x18003c977
mov qword [rbx + 0x38], rsi
lea r11, [rsi + r8]
mov rcx, rsi
cmp r11, rbp
jb 0x18003c83f
jmp 0x18003c6ff
mov r12d, r15d
jmp 0x18003c97d
mov rcx, rdi
mov r12d, r13d
mov r13d, r15d
jmp 0x18003c97d
mov rcx, r15
mov r12d, edi
jmp 0x18003c97d
mov r12d, r13d
mov r13d, edi
test r12d, r12d
js 0x18003ca8d
mov eax, r12d
test eax, 0x10000000
je 0x18003cd22
mov rsi, qword [rbx + 0x28]
mov r15, qword [rbx + 0x38]
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0xb0]
mov r8, rbx
call fcn.18003f490
test byte [rsp + 0x88], 1
je 0x18003cdc4
add r15, rsi
mov rdx, qword [rsp + 0x90]
cmp rdx, r15
jbe 0x18003cd92
mov rcx, rbx
call fcn.180039ec0
mov rcx, qword [rbx + 0x38]
cmp dword [rsp + 0xa8], 0
je 0x18003ca16
test rcx, rcx
je 0x18003ca23
mov rcx, rbx
call fcn.18002cdd0
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
mov rsi, qword [rsp + 0x28]
jae 0x18003caf2
add rax, rcx
jmp 0x18003cb32
mov r13d, r12d
mov rsi, qword [rsp + 0x28]
jmp 0x18003cc46
mov rcx, rbx
call fcn.18002ce60
test al, al
mov rsi, qword [rsp + 0x28]
je 0x18003cadd
mov rcx, rbx
call fcn.18002cdd0
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.18002cdd0
cmp rdx, 4
jb 0x18003cce9
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.18002cdd0
mov r15, rdx
mov rcx, rbx
call fcn.18002ce10
test al, al
je 0x18003cb0b
mov qword [rbx + 0x38], 0
jmp 0x18003cb19
mov rsi, qword [rsp + 0x28]
test byte [rsi], 1
je 0x18003d496
add r8, rcx
mov qword [rsi + 0x10], r8
mov rcx, rbx
call fcn.18002cdd0
mov rcx, qword [rbx + 0x38]
cmp rcx, rdx
jae 0x18003d5a2
movzx r8d, byte [rax + rcx]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r13d
add rcx, rax
mov rdx, qword [rsi + 0x28]
cmp rcx, rdx
jb 0x18003c7e7
jmp 0x18003d48a
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003d5ae
mov qword [rbx + 0x50], 0
mov r15d, dword [rbx + 0x30]
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], rsi
mov r12b, 2
jmp 0x18003cb9b
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003cb19
mov qword [rbx + 0x48], r15
mov rax, qword [rbx + 0x50]
dec rax
cmp rax, 7
ja 0x18003d5c0
add rax, qword [rsp + 0xf0]
movzx edx, byte [rax]
movzx r13d, dl
mov r15d, dword [rbx + 0x30]
mov ebp, dword [rbx + 0x34]
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 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 0x18003cb92
mov rcx, qword [rsp + 0xe0]
call fcn.180155180
test al, al
je 0x18003cb92
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003cc42
jmp 0x18003ce3f
movzx r12d, byte [r14 + r13 + 0x90]
movzx ecx, r12b
test r15d, r15d
je 0x18003cbe8
cmp r15d, 2
jne 0x18003cbe4
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
cmp dl, 2
je 0x18003cc23
test dl, 1
je 0x18003cc23
mov edx, ebp
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], rdx
jbe 0x18003cc9d
lea rax, [rdx + rdx*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
jmp 0x18003cbe8
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003d4ba
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003ccaf
mov r13d, eax
mov eax, 5
mov rsi, qword [rsp + 0x28]
mov edx, eax
cmp rdx, 5
je 0x18003cc42
jmp 0x18003ce3f
mov r13d, ebp
mov rax, r13
shl rax, 0x20
or rax, 2
mov rsi, qword [rsp + 0x28]
mov edx, eax
cmp rdx, 5
jne 0x18003ce3f
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
mov rbp, qword [rbx + 0x48]
lea rax, [r8 + rcx]
cmp rax, rbp
jb 0x18003c72d
jmp 0x18003d176
shl r8d, 8
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.180222210
test eax, eax
jne 0x18003afc5
mov r12d, edx
cmp r12d, 0x7ffffff
ja 0x18003c986
jmp 0x18003c702
lea rcx, [rsp + 0x70]
call fcn.180157b90
test eax, eax
jns 0x18003cc09
mov qword [rsp + 0x40], r14
mov rsi, qword [rsp + 0x28]
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r15d
mov r8d, ebp
mov r9d, r12d
call fcn.180222f60
mov r13, rax
shr r13, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003cc42
jmp 0x18003ce3f
mov rcx, qword [rsp + 0xf0]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
jmp 0x18003ca65
mov r12d, r15d
jmp 0x18003c702
cmp rbp, r8
jbe 0x18003c6ff
mov qword [rbx + 0x48], r8
jmp 0x18003c6ff
test eax, 0x8000000
je 0x18003d391
xor ecx, ecx
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], 1
je 0x18003cd69
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov ecx, eax
mov dword [rsp + 0xbc], ecx
mov rax, qword [rbx + 0x38]
add rax, qword [rbx + 0x28]
mov qword [rsp + 0xd8], rax
mov eax, 1
mov qword [rsp + 0x80], rax
jmp 0x18003c702
mov rax, qword [rbx + 0x38]
add rax, qword [rbx + 0x28]
cmp rax, r15
je 0x18003c702
mov rcx, rbx
mov rdx, r15
call fcn.180039ec0
jmp 0x18003c702
mov qword [rsp + 0x80], 0
jmp 0x18003d179
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov r8, qword [rsp + 0x28]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0xc8]
mov r9, qword [rsp + 0xc0]
movups xmmword [r9], xmm0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x80]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0xbc]
mov dword [rax + 0x10], ecx
jmp 0x18003d15f
shl r13, 0x20
or rdx, r13
mov rcx, rbx
call fcn.18003f180
jmp 0x18003b7cb
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov r8, qword [rsp + 0x28]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0x40]
mov r9, qword [rsp + 0x80]
movups xmmword [r9], xmm0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
xor eax, eax
mov rcx, qword [rsp + 0x30]
jmp 0x18003d159
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
jmp 0x18003a43c
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
jmp 0x18003a4c6
cmp rbp, r8
jbe 0x18003ceee
mov qword [rbx + 0x48], r8
mov rbp, r8
mov r13d, r12d
mov rcx, rbx
mov rdx, rbp
call fcn.180039ec0
mov rcx, rbx
call fcn.18002cdd0
mov rcx, rbp
sub rcx, qword [rbx + 0x28]
cmp rcx, rdx
jae 0x18003cf4b
movzx r15d, byte [rax + rcx]
mov rcx, r14
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
mov r8d, r13d
mov r9d, r15d
call fcn.1800407b0
test eax, eax
jne 0x18003d210
mov eax, edx
test eax, 0x8000000
jne 0x18003cf74
test eax, 0x20000000
jne 0x18003d1e9
xor esi, esi
jmp 0x18003cfb2
mov rcx, r14
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
mov r8d, r13d
call fcn.180040830
test eax, eax
jne 0x18003d210
xor eax, eax
test edx, 0x8000000
jne 0x18003cf7d
xor esi, esi
jmp 0x18003cfb2
mov esi, 1
xor eax, eax
jmp 0x18003cf82
mov esi, 1
mov rcx, qword [rsp + 0xa8]
cmp qword [rcx + 0x168], 1
je 0x18003cfb2
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov rcx, qword [rbx + 0x48]
cmp qword [rdi], 0
mov rdx, qword [rdi + 8]
mov qword [rdi], 0
movups xmm0, xmmword [rsp + 0x40]
mov r8, qword [rsp + 0x80]
movups xmmword [r8], xmm0
je 0x18003d4c6
mov r8, rcx
sub r8, rdx
neg r8
sub rcx, rdx
cmovb rcx, r8
add qword [rdi + 0x158], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], eax
jmp 0x18003d15c
mov rax, qword [rbx + 0x48]
add rbp, qword [rbx + 0x28]
cmp rax, rbp
jbe 0x18003d173
mov qword [rbx + 0x48], rbp
jmp 0x18003d176
xor eax, eax
mov rcx, qword [rsp + 0xa8]
cmp qword [rcx + 0x168], 1
mov rsi, qword [rsp + 0x28]
je 0x18003d05b
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov r8, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
cmp qword [rsi], 0
mov rdx, qword [rsi + 8]
mov qword [rsi], 0
movups xmm0, xmmword [rsp + 0x40]
mov r9, qword [rsp + 0x80]
movups xmmword [r9], xmm0
je 0x18003d4c6
add rcx, r8
mov r8, rcx
sub r8, rdx
neg r8
mov r9, rcx
sub r9, rdx
cmovb r9, r8
add qword [rsi + 0x158], r9
jmp 0x18003b99a
lea rcx, [rsp + 0x70]
call fcn.180157b90
mov r8, qword [rsp + 0x28]
test eax, eax
jns 0x18003be22
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r8
lea rcx, [rsp + 0x40]
mov edx, ebp
mov r8d, r15d
mov r9d, r13d
call fcn.180222f60
mov r12, rax
shr r12, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003be4e
jmp 0x18003d139
lea rcx, [rsp + 0x70]
call fcn.180157b90
mov r8, qword [rsp + 0x28]
test eax, eax
jns 0x18003c64c
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r8
lea rcx, [rsp + 0x40]
mov edx, ebp
mov r8d, r15d
mov r9d, r13d
call fcn.180222f60
mov r12, rax
shr r12, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003c678
shl r12, 0x20
or rdx, r12
mov rcx, rbx
call fcn.18003f180
mov rdx, qword [rsp + 0x30]
mov rcx, rdx
mov qword [rdx + 8], rax
mov eax, 2
mov qword [rcx], rax
mov rax, rcx
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, rax
mov r12d, r13d
mov rcx, rbx
mov rdx, rbp
call fcn.180039ec0
mov rcx, rbx
call fcn.18002cdd0
mov rcx, rbp
sub rcx, qword [rbx + 0x28]
cmp rcx, rdx
jae 0x18003d1f9
movzx r15d, byte [rax + rcx]
mov rcx, r14
mov rdx, qword [rsp + 0x28]
mov r8d, r12d
mov r9d, r15d
call fcn.1800407b0
test eax, eax
jne 0x18003d210
mov eax, edx
test eax, 0x8000000
jne 0x18003d259
test eax, 0x20000000
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0xbc]
mov r9, qword [rsp + 0xd8]
je 0x18003d299
mov ecx, r15d
mov rdx, rbp
call fcn.18014b840
jmp 0x18003b7cb
mov rcx, r14
mov rsi, qword [rsp + 0x28]
mov rdx, rsi
mov r8d, r12d
call fcn.180040830
test eax, eax
je 0x18003d21d
mov rcx, rbp
call fcn.18014b890
jmp 0x18003b7cb
test edx, 0x8000000
mov rdi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0xbc]
mov r9, qword [rsp + 0xd8]
je 0x18003d299
mov edi, 1
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], 1
jne 0x18003d275
xor r8d, r8d
jmp 0x18003d296
mov edi, 1
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], 1
mov rsi, qword [rsp + 0x28]
je 0x18003d254
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
call fcn.180157b40
mov rcx, rax
xor edx, edx
call fcn.18015cbc0
mov r8d, eax
mov r9, rbp
mov rax, qword [rbx + 0x48]
cmp qword [rsi], 0
mov rcx, qword [rsi + 8]
mov qword [rsi], 0
movups xmm0, xmmword [rsp + 0xc8]
mov rdx, qword [rsp + 0xc0]
movups xmmword [rdx], xmm0
je 0x18003d4c6
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov rax, qword [rsp + 0x30]
mov qword [rax], rdi
mov qword [rax + 8], r9
mov dword [rax + 0x10], r8d
jmp 0x18003d15f
shl r15, 0x20
or rdx, r15
mov rcx, rbx
call fcn.18003f180
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
jmp 0x18003d154
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0x40]
mov r9, qword [rsp + 0x80]
movups xmmword [r9], xmm0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
jmp 0x18003b2e5
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
jmp 0x18003b9f7
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180222140
mov qword [rbx + 0x50], r15
jmp 0x18003ba61
test eax, 0x40000000
jne 0x18003d3fd
test eax, 0x20000000
je 0x18003d5d4
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov r8, qword [rsp + 0x28]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0xc8]
mov r8, qword [rsp + 0xc0]
movups xmmword [r8], xmm0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
mov rcx, qword [rsp + 0x28]
add qword [rcx + 0x158], rax
jmp 0x18003b8fd
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov r8, qword [rsp + 0x28]
cmp qword [r8], 0
mov rcx, qword [r8 + 8]
mov qword [r8], 0
movups xmm0, xmmword [rsp + 0xc8]
mov r8, qword [rsp + 0xc0]
movups xmmword [r8], xmm0
je 0x18003d4c6
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
mov rcx, qword [rsp + 0x28]
add qword [rcx + 0x158], rax
jmp 0x18003ce14
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
mov rcx, r10
mov rdx, rax
call fcn.180226ba4
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
mov rcx, r9
mov rdx, rax
call fcn.180226ba4
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
mov rcx, rax
call fcn.180226ba4
lea r8, [0x180239ae8]
call fcn.180226ba4
lea rcx, str.no_in_progress_search_to_updateC:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
lea r8, [0x180239670]
mov edx, 0x1f
call fcn.180226a20
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
call fcn.180226ba4
lea r8, [0x180239b18]
call fcn.180226ba4
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x180239740]
mov edx, 0x1f
call fcn.180226a20
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
call fcn.180226ba4
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
mov rdx, rax
call fcn.180226ba4
lea r8, [0x180239518]
mov edx, 8
mov rcx, r15
call fcn.180226ba4
lea r8, [0x180239b00]
call fcn.180226ba4
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc8]
jmp 0x18003d546
lea r8, [0x180239518]
mov edx, 8
call fcn.180226ba4
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x88], rax
lea rax, [fcn.18021c100]
mov qword [rsp + 0x90], rax
lea rax, [0x1802395b8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 1
lea rdx, [0x1802395c8]
lea rcx, [rsp + 0x40]
call fcn.180226a80
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
call fcn.180226ba4
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xe8]
jmp 0x18003d62e
lea r8, [0x180239518]
mov edx, 8
mov rcx, rax
call fcn.180226ba4
lea rax, str.internal_error:_entered_unreachable_code:_sid_being_unknown_is_a_bug
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rax, [rsp + 0x38]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
lea rdx, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
lea rcx, [rsp + 0x40]
call fcn.180226a80
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
mov rcx, rdx
mov rdx, r9
call fcn.180226ba4
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x70], rax
lea rax, [fcn.18021c100]
mov qword [rsp + 0x78], rax
lea rax, [0x1802395b8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x70]
jmp 0x18003d583