Function at 0x1800399b0
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.180039820
mov rax, qword [rbx + 0x40]
cmp rax, qword [rbx + 0x48]
jbe 0x1800399f4
mov qword [rsi], 0
mov rax, rsi
jmp 0x18003cabf
mov qword [rsp + 0x30], rsi
mov r13d, dword [rbx + 0x30]
lea eax, [r13 - 1]
cmp eax, 2
mov qword [rsp + 0x28], r12
jb 0x180039a2a
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea r8, [0x18023a850]
cmovne r8, rax
cmp byte [r8 + 0x18], 2
jne 0x180039ac4
cmp byte [rbx + 0x60], 0
je 0x180039a76
mov rsi, qword [r14 + 0x2b0]
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x180039b28
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003b48f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x180039cd5
add rdx, rcx
add rax, qword [rdx]
jmp 0x180039e75
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x180039bc4
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003b48f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x180039d12
add rdx, rcx
add rax, qword [rdx]
jmp 0x18003a44c
cmp byte [rbx + 0x60], 0
je 0x180039c60
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0xa8], rax
mov r13d, dword [rax + 0x17c]
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x180039d3a
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003b48f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x18003acdf
mov rdi, r8
add rdx, rcx
add rax, qword [rdx]
xor ebp, ebp
jmp 0x18003ad83
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x180039cc0
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003ce3e
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 0x18003b445
mov qword [rbx + 0x50], 4
mov eax, dword [rax + r15 - 4]
mov dword [rbx + 0x58], eax
mov r15d, 4
cmp rcx, rdx
jae 0x18003b48f
mov rax, qword [rbx + 8]
mov r8, rcx
shl r8, 4
mov rax, qword [rax + r8 + 8]
inc rcx
cmp rcx, rdx
jae 0x180039e4e
add qword [rbx + 0x28], rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x38], 0
jmp 0x180039e5c
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x180039cfd
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003ce3e
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 0x18003b46b
mov qword [rbx + 0x50], 4
mov eax, dword [rax + r15 - 4]
mov dword [rbx + 0x58], eax
mov r15d, 4
cmp rcx, rdx
jae 0x18003b48f
mov rax, qword [rbx + 8]
mov r8, rcx
shl r8, 4
mov rax, qword [rax + r8 + 8]
inc rcx
cmp rcx, rdx
jae 0x18003a425
add qword [rbx + 0x28], rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x38], 0
jmp 0x18003a433
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 0x180039dc4
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003b48f
mov rdx, qword [rbx + 8]
shl rcx, 4
dec rax
cmp rax, qword [rdx + rcx + 8]
jae 0x18003ad1c
mov rdi, r8
add rdx, rcx
add rax, qword [rdx]
xor ebp, ebp
jmp 0x18003af64
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003ce79
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 0x180039ee4
jmp 0x180039f23
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003ce79
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 0x18003a4b8
jmp 0x18003a4c6
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003acca
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003ce3e
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.180032500
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.180032500
cmp rdx, 4
jb 0x18003c80c
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.180032500
mov r15, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003ad59
mov qword [rbx + 0x38], 0
jmp 0x18003ad67
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18003ad07
dec rcx
mov qword [rbx + 0x18], rcx
mov rdx, qword [rbx + 0x10]
cmp rcx, rdx
jae 0x18003ce3e
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.180032500
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.180032500
cmp rdx, 4
jb 0x18003c827
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.180032500
mov r15, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003af3a
mov qword [rbx + 0x38], 0
jmp 0x18003af48
add rax, qword [rbx + 0x28]
cmp qword [rbx + 0x48], rax
jbe 0x180039e5c
mov qword [rbx + 0x48], rax
dec r15
cmp r15, 7
ja 0x18003ce59
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 0x180039ed2
lea rcx, [r14 + 0x290]
call fcn.1801585c0
test al, al
je 0x180039ed2
mov ecx, 4
cmp ecx, 5
je 0x180039f51
jmp 0x18003a3e5
movzx r15d, byte [r14 + rdi + 0x90]
movzx ecx, r15b
test r13d, r13d
je 0x180039f23
cmp r13d, 2
jne 0x180039f1f
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x18003a3cf
test al, 1
je 0x18003a3cf
mov eax, ebp
cmp qword [rsi + 0x168], rax
jbe 0x18003b158
lea rax, [rax + rax*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
jmp 0x180039f23
add rcx, 6
mov rdx, qword [r12 + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [r12 + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003b16d
mov edi, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003a3e5
mov r10, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
lea rax, [rcx + r10]
cmp qword [r12], 1
jne 0x180039f86
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 0x18003a077
mov ebp, edi
mov rcx, rbx
mov rdx, r15
call fcn.180039820
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003b48f
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 0x18003a377
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 0x18003cdea
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003b503
mov eax, edx
test eax, 0x8000000
jne 0x18003aba6
test eax, 0x20000000
je 0x18003a3c8
mov ecx, r12d
mov rdx, r15
call fcn.18014ec60
jmp 0x18003b12b
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 0x180039faf
cmp edi, 0x7ffffff
jbe 0x18003a140
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003cddb
mov r8, qword [rbx + 8]
mov r9, rax
shl r9, 4
mov r9, qword [r8 + r9 + 8]
cmp rcx, r9
jb 0x18003a0ca
inc rax
add r10, r9
cmp rax, rdx
jae 0x18003b143
mov qword [rbx + 0x28], r10
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
test byte [r12], 1
je 0x18003cdf6
add r10, rcx
mov qword [r12 + 0x10], r10
shl rax, 4
mov rdx, qword [r8 + rax + 8]
cmp rcx, rdx
jae 0x18003ce0e
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 0x18003cdea
mov rax, qword [r12 + 0x20]
mov ebp, dword [rax + rcx*4]
test ebp, ebp
js 0x18003a33f
mov r8d, ebp
cmp ebp, 0x7ffffff
jbe 0x18003a052
jmp 0x18003a2de
lea rax, [rcx + r10]
cmp rax, r15
jae 0x18003a050
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 0x18003a18a
mov r13, r12
mov r12, qword [rsp + 0x28]
lea rsi, [r10 + r13]
mov rcx, r13
mov edi, ebp
cmp rsi, r15
jae 0x18003a052
cmp r9, rax
jae 0x18003cdc9
mov rsi, r9
shl rsi, 4
mov rsi, qword [r8 + rsi + 8]
cmp rcx, rsi
jb 0x18003a1c5
inc r9
add r10, rsi
cmp r9, rax
jae 0x18003a2aa
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 0x18003a29b
lea rdi, [rcx + r10]
add rdi, 3
cmp rdi, r15
jae 0x18003a2a0
lea r12, [rcx + 1]
mov qword [rbx + 0x38], r12
lea r13, [rcx + 4]
cmp r13, qword [rsi + 8]
jae 0x18003a170
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 0x18003a2bc
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 0x18003a2c6
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 0x18003a2ce
mov qword [rbx + 0x38], r13
jmp 0x18003a173
mov r8d, ebp
jmp 0x18003a2d4
mov r12, qword [rsp + 0x28]
jmp 0x18003a052
cmp r15, r10
jbe 0x18003a050
mov qword [rbx + 0x48], r10
jmp 0x18003a050
mov rcx, r12
mov r8d, edi
mov edi, ebp
jmp 0x18003a2d4
mov rcx, rbp
mov r8d, r12d
jmp 0x18003a2d4
mov r8d, ebp
mov edi, r12d
mov r12, qword [rsp + 0x28]
test r8d, r8d
js 0x18003a2f4
mov eax, r8d
test eax, 0x10000000
je 0x18003abf4
mov ebp, r8d
jmp 0x18003a052
test byte [r12], 1
je 0x18003cdf6
add r10, rcx
mov qword [r12 + 0x10], r10
mov rax, qword [rsi + 8]
cmp rcx, rax
jae 0x18003ce4a
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 0x18003cdea
mov ebp, dword [r11 + rcx*4]
test ebp, ebp
jns 0x18003a12c
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, edi
call fcn.1802246c0
test eax, eax
jne 0x18003a925
mov ebp, edx
mov r8d, ebp
cmp ebp, 0x7ffffff
jbe 0x18003a052
jmp 0x18003a2de
movzx r12d, byte [r14 + 0x28f]
inc r12
mov rcx, r12
call fcn.180158540
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 0x18003ce6d
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003b52e
xor eax, eax
test edx, 0x8000000
jne 0x18003abcd
xor esi, esi
jmp 0x18003abc3
mov edi, ebp
mov rcx, rdi
shl rcx, 0x20
or rcx, 2
cmp ecx, 5
je 0x180039f51
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003a41e
cmp eax, 1
jne 0x18003b118
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
je 0x18003b100
dec rdx
mov ecx, edi
call fcn.18014ec60
jmp 0x18003b12b
mov edx, edi
jmp 0x18003b126
add rax, qword [rbx + 0x28]
cmp qword [rbx + 0x48], rax
jbe 0x18003a433
mov qword [rbx + 0x48], rax
dec r15
cmp r15, 7
ja 0x18003ce59
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 0x18003a4a6
lea rcx, [r14 + 0x290]
call fcn.1801585c0
test al, al
je 0x18003a4a6
mov ecx, 4
cmp ecx, 5
je 0x18003a4f5
jmp 0x18003aadb
movzx r15d, byte [r14 + r15 + 0x90]
movzx ecx, r15b
test r13d, r13d
je 0x18003a4c6
cmp r13d, 1
jne 0x18003a937
add rcx, 6
mov rdx, qword [r12 + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [r12 + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003b1b7
mov r15d, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003aadb
mov r8, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
lea rax, [rcx + r8]
cmp qword [r12], 1
jne 0x18003a52a
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 0x18003a985
mov qword [rsp + 0xa8], 0
jmp 0x18003a5a3
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 0x18003a991
cmp r15d, 0x7ffffff
jbe 0x18003a6d0
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003cddb
mov r9, qword [rbx + 8]
mov r10, rax
shl r10, 4
mov r10, qword [r9 + r10 + 8]
cmp rcx, r10
jb 0x18003a5f7
inc rax
add r8, r10
cmp rax, rdx
jae 0x18003ad44
mov qword [rbx + 0x28], r8
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x38], 0
xor ecx, ecx
test byte [r12], 1
je 0x18003cdf6
add r8, rcx
mov qword [r12 + 0x10], r8
shl rax, 4
mov rdx, qword [r9 + rax + 8]
cmp rcx, rdx
jae 0x18003ce0e
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 0x18003cdea
mov rax, qword [r12 + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003a84a
mov r15d, edx
cmp edx, 0x7ffffff
jbe 0x18003a580
mov eax, r15d
test eax, 0x10000000
jne 0x18003a580
test eax, 0x8000000
je 0x18003b20c
xor ecx, ecx
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x168], 1
je 0x18003a557
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
mov ecx, eax
jmp 0x18003a557
lea rax, [rcx + r8]
cmp rax, r13
jae 0x18003a580
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 0x18003a716
mov rbp, rdi
mov r15d, r9d
lea r9, [r8 + rbp]
mov rcx, rbp
cmp r9, r13
jae 0x18003a87b
cmp r10, rax
jae 0x18003cdb7
mov r9, r10
shl r9, 4
mov r9, qword [r12 + r9 + 8]
cmp rcx, r9
jb 0x18003a751
inc r10
add r8, r9
cmp r10, rax
jae 0x18003a872
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 0x18003a8a0
lea rdi, [rcx + r8]
add rdi, 3
cmp rdi, r13
jae 0x18003a83d
lea rdi, [rcx + 1]
mov qword [rbx + 0x38], rdi
lea rbp, [rcx + 4]
cmp rbp, qword [rsi + 8]
jae 0x18003a700
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 0x18003a885
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 0x18003a89d
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 0x18003a888
mov qword [rbx + 0x38], rbp
lea r9, [r8 + rbp]
mov rcx, rbp
cmp r9, r13
jb 0x18003a716
jmp 0x18003a87b
mov r15d, r9d
mov r12, qword [rsp + 0x28]
jmp 0x18003a580
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1802246c0
test eax, eax
je 0x18003a65a
jmp 0x18003a925
cmp r13, r8
jbe 0x18003a87b
mov qword [rbx + 0x48], r8
mov r12, qword [rsp + 0x28]
jmp 0x18003a580
mov rcx, rdi
mov eax, r15d
mov r15d, eax
test eax, eax
mov r12, qword [rsp + 0x28]
jns 0x18003a669
jmp 0x18003a8b6
mov rcx, rdi
mov eax, r9d
mov r9d, r15d
mov r15d, eax
test eax, eax
mov r12, qword [rsp + 0x28]
jns 0x18003a669
test byte [r12], 1
je 0x18003cdf6
add r8, rcx
mov qword [r12 + 0x10], r8
mov rax, qword [rsi + 8]
cmp rcx, rax
jae 0x18003ce4a
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 0x18003cdea
mov edx, dword [r11 + rcx*4]
test edx, edx
jns 0x18003a65a
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r9d
call fcn.1802246c0
test eax, eax
je 0x18003a65a
mov rcx, qword [rbx + 0x38]
add rcx, qword [rbx + 0x28]
call fcn.18014ecb0
jmp 0x18003b12b
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x18003aac4
test al, 1
je 0x18003aac4
mov eax, ebp
mov rdx, qword [rsp + 0xb0]
cmp qword [rdx + 0x168], rax
jbe 0x18003b1a2
lea rax, [rax + rax*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [r12 + 0x40]
cmp rcx, rdx
jb 0x18003a4d4
jmp 0x18003ce1a
mov qword [rsp + 0xa8], 0
mov rcx, rbx
mov rdx, r13
call fcn.180039820
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x18003b48f
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 0x18003aa3e
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 0x18003cdea
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003b49b
mov eax, edx
test eax, 0x8000000
jne 0x18003aa9d
test eax, 0x20000000
mov rsi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x80]
je 0x18003ab4a
mov ecx, r12d
mov rdx, r13
call fcn.18014ec60
jmp 0x18003b12b
movzx r12d, byte [r14 + 0x28f]
inc r12
mov rcx, r12
call fcn.180158540
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 0x18003ce6d
mov rax, qword [rax + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x18003b4c7
test edx, 0x8000000
mov rsi, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x80]
je 0x18003ab4a
mov esi, 1
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x168], 1
jne 0x18003ab1d
mov dword [rsp + 0xa0], 0
jmp 0x18003ab47
mov r15d, ebp
mov rcx, r15
shl rcx, 0x20
or rcx, 2
cmp ecx, 5
je 0x18003a4f5
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003ab15
cmp eax, 1
jne 0x18003b118
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
je 0x18003b100
dec rdx
mov ecx, r15d
call fcn.18014ec60
jmp 0x18003b12b
mov edx, r15d
jmp 0x18003b126
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
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 0x18003ce26
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 0x18003cabf
xor eax, eax
mov esi, 1
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x168], 1
jne 0x18003ac56
mov rdi, qword [rsp + 0x28]
jmp 0x18003ac79
mov esi, 1
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x168], 1
mov rdi, qword [rsp + 0x28]
je 0x18003ac79
mov qword [rsp + 0x40], r14
jmp 0x18003ac60
test eax, 0x8000000
jne 0x18003b287
test eax, 0x40000000
je 0x18003b217
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov rcx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003ce26
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 0x18003cabf
mov qword [rsp + 0x40], r14
mov rdi, qword [rsp + 0x28]
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
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 0x18003ce26
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 0x18003cabc
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003ce9c
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 0x18003ae57
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003ce9c
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 0x18003b038
cmp r13, r8
jbe 0x18003a991
mov qword [rbx + 0x48], r8
mov r13, r8
jmp 0x18003a991
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003ad67
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003ce8b
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 0x18003ade3
lea rcx, [r14 + 0x290]
call fcn.1801585c0
test al, al
je 0x18003ade3
mov ecx, 4
mov r12, rsi
mov r8, rdi
jmp 0x18003ae7b
movzx r9d, byte [r14 + rsi + 0x90]
movzx ecx, r9b
test ebp, ebp
je 0x18003ae3c
cmp ebp, 2
jne 0x18003ae46
movzx eax, byte [r14 + 0x81]
cmp al, 2
mov r8, rdi
je 0x18003b1ec
test al, 1
je 0x18003b1ec
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], r12
jbe 0x18003b5c5
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov ebp, 2
jmp 0x18003ae52
mov rax, qword [rsp + 0x28]
mov r8, rdi
jmp 0x18003ae57
mov r8, rdi
add rcx, 6
mov ebp, 1
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003b5eb
mov r12d, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003aefc
lea rcx, [rsp + 0x88]
mov qword [rsp + 0xb0], r8
mov rdx, r8
mov r8, rbx
call fcn.18003edf0
test byte [rsp + 0x88], 1
je 0x18003c800
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
call fcn.180039820
mov rcx, qword [rbx + 0x38]
test r13d, r13d
mov dword [rsp + 0xa0], r13d
je 0x18003b7b2
test rcx, rcx
je 0x18003b315
mov rcx, rbx
call fcn.180032500
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
mov r8, qword [rsp + 0x28]
jae 0x18003b57e
add rax, rcx
jmp 0x18003b69e
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003b123
cmp eax, 1
jne 0x18003b118
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
je 0x18003b100
dec rdx
mov ecx, r12d
call fcn.18014ec60
jmp 0x18003b12b
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003af48
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003ce8b
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 0x18003afc4
lea rcx, [r14 + 0x290]
call fcn.1801585c0
test al, al
je 0x18003afc4
mov ecx, 4
mov r12, rsi
mov r8, rdi
jmp 0x18003b05c
movzx r9d, byte [r14 + rsi + 0x90]
movzx ecx, r9b
test ebp, ebp
je 0x18003b01d
cmp ebp, 2
jne 0x18003b027
movzx eax, byte [r14 + 0x81]
cmp al, 2
mov r8, rdi
je 0x18003b1fc
test al, 1
je 0x18003b1fc
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], r12
jbe 0x18003b61e
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov ebp, 2
jmp 0x18003b033
mov rax, qword [rsp + 0x28]
mov r8, rdi
jmp 0x18003b038
mov r8, rdi
add rcx, 6
mov ebp, 1
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003b644
mov r12d, eax
mov ecx, 5
cmp ecx, 5
jne 0x18003b0da
lea rcx, [rsp + 0x88]
mov qword [rsp + 0xb0], r8
mov rdx, r8
mov r8, rbx
call fcn.18003edf0
test byte [rsp + 0x88], 1
je 0x18003c800
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
call fcn.180039820
mov rcx, qword [rbx + 0x38]
cmp dword [rsp + 0xa8], 0
je 0x18003bfdc
test rcx, rcx
je 0x18003b37f
mov rcx, rbx
call fcn.180032500
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
mov r8, qword [rsp + 0x28]
jae 0x18003b5ac
add rax, rcx
jmp 0x18003bec8
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
cmp eax, 2
je 0x18003b123
cmp eax, 1
jne 0x18003b118
mov rdx, qword [rbx + 0x38]
add rdx, qword [rbx + 0x28]
jne 0x18003af2a
lea rcx, [0x18023a870]
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.180227e70
mov rcx, qword [rbx + 0x48]
call fcn.18014ecb0
jmp 0x18003b12b
mov edx, r12d
call fcn.18014ecf0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov rax, rcx
mov qword [rcx], 2
jmp 0x18003cabf
cmp r15, r10
jbe 0x180039fad
mov qword [rbx + 0x48], r10
mov r15, r10
jmp 0x180039fad
lea rcx, [rsp + 0x88]
call fcn.18015b0b0
test eax, eax
jns 0x180039f41
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.180225410
mov rcx, rax
mov rdi, rax
shr rdi, 0x20
cmp ecx, 5
je 0x180039f51
jmp 0x18003a3e5
lea rcx, [rsp + 0x88]
call fcn.18015b0b0
test eax, eax
jns 0x18003a4e4
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.180225410
mov rcx, rax
mov r15, rax
shr r15, 0x20
cmp ecx, 5
je 0x18003a4f5
jmp 0x18003aadb
mov rcx, r12
shl rcx, 0x20
or rcx, 2
jmp 0x18003ae7b
mov rcx, r12
shl rcx, 0x20
or rcx, 2
jmp 0x18003b05c
test eax, 0x40000000
jne 0x18003b3e9
test eax, 0x20000000
je 0x18003cf34
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov rcx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003ce26
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.180032500
mov r9, rdx
mov rdx, qword [rbx + 0x38]
cmp rdx, r9
jae 0x18003cf6c
movzx ecx, byte [rax + rdx]
add rdx, qword [rbx + 0x28]
call fcn.18014ec60
jmp 0x18003b12b
xor eax, eax
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x168], 1
je 0x18003b2bc
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
lea rcx, [rsp + 0x40]
mov edx, r8d
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
mov r8, qword [rbx + 0x28]
mov rcx, qword [rbx + 0x38]
mov rdx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003ce26
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 0x18003cabf
mov rcx, rbx
call fcn.180032590
test al, al
mov r8, qword [rsp + 0x28]
je 0x18003b569
mov rcx, rbx
call fcn.180032500
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.180032500
cmp rdx, 4
jb 0x18003ccbb
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.180032500
mov r15, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003b677
mov qword [rbx + 0x38], 0
jmp 0x18003b685
mov rcx, rbx
call fcn.180032590
test al, al
mov r8, qword [rsp + 0x28]
je 0x18003b597
mov rcx, rbx
call fcn.180032500
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.180032500
cmp rdx, 4
jb 0x18003ccd6
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.180032500
mov r15, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003bea1
mov qword [rbx + 0x38], 0
jmp 0x18003beaf
mov rdx, qword [rbx + 0x28]
mov rax, qword [rbx + 0x38]
mov rcx, qword [r12 + 8]
cmp qword [r12], 0
mov qword [r12], 0
je 0x18003ce26
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 0x18003ab97
lea rcx, [rbx + 0x58]
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jb 0x180039b93
jmp 0x18003b48f
lea rcx, [rbx + 0x58]
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbx + 0x18]
cmp rcx, rdx
jb 0x180039c2f
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
call fcn.180228000
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.1802246c0
test eax, eax
jne 0x18003b4f6
jmp 0x18003aa06
mov rcx, r12
call fcn.180158540
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.1802246c0
test eax, eax
je 0x18003aa81
mov rcx, r13
call fcn.18014ecb0
jmp 0x18003b12b
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.1802246c0
test eax, eax
jne 0x18003b55c
jmp 0x18003a027
mov rcx, r12
call fcn.180158540
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.1802246c0
test eax, eax
je 0x18003a3ba
mov rcx, r15
call fcn.18014ecb0
jmp 0x18003b12b
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003cf7e
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 0x18003b710
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003cf0e
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 0x18003bf3a
lea rcx, [rsp + 0x88]
mov esi, r9d
mov rdi, r8
call fcn.18015b0b0
mov r8, rdi
mov r9d, esi
mov ebp, 2
test eax, eax
jns 0x18003ae73
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.180225410
mov r8, rsi
mov rcx, rax
mov r12, rax
shr r12, 0x20
jmp 0x18003ae7b
lea rcx, [rsp + 0x88]
mov esi, r9d
mov rdi, r8
call fcn.18015b0b0
mov r8, rdi
mov r9d, esi
mov ebp, 2
test eax, eax
jns 0x18003b054
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.180225410
mov r8, rsi
mov rcx, rax
mov r12, rax
shr r12, 0x20
jmp 0x18003b05c
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003b685
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003ce8b
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 0x18003b702
lea rcx, [r14 + 0x290]
call fcn.1801585c0
test al, al
je 0x18003b702
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003b7ae
jmp 0x18003ca99
movzx r13d, byte [r14 + r12 + 0x90]
mov r8, qword [rsp + 0x28]
movzx ecx, r13b
test ebp, ebp
je 0x18003b761
cmp ebp, 2
jne 0x18003b75d
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
mov r12d, r15d
cmp dl, 2
je 0x18003b797
test dl, 1
je 0x18003b797
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], r12
jbe 0x18003ca0b
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8, qword [rsp + 0x28]
jmp 0x18003b761
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003ca22
mov r12d, eax
mov eax, 5
mov edx, eax
cmp rdx, 5
je 0x18003b7ae
jmp 0x18003ca99
mov rax, r12
shl rax, 0x20
or rax, 2
mov edx, eax
cmp rdx, 5
jne 0x18003ca99
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
lea rax, [r8 + rcx]
mov r11, qword [rsp + 0x28]
cmp qword [r11], 1
jne 0x18003b7e4
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 0x18003c84e
lea rax, [rbx + 0x58]
mov qword [rsp + 0xe0], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0xc0], rax
jmp 0x18003b852
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 0x18003c851
cmp r12d, 0x7ffffff
jbe 0x18003b921
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003cddb
mov r9, qword [rbx + 8]
mov r10, rax
shl r10, 4
mov r10, qword [r9 + r10 + 8]
cmp rcx, r10
jb 0x18003b8a6
inc rax
add r8, r10
cmp rax, rdx
jae 0x18003c842
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 0x18003cdf6
add r8, rcx
mov qword [r10 + 0x10], r8
shl rax, 4
mov rdx, qword [r9 + rax + 8]
cmp rcx, rdx
jae 0x18003ce0e
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 0x18003cdea
mov rax, qword [r10 + 0x20]
mov r13d, dword [rax + rcx*4]
test r13d, r13d
js 0x18003bbac
mov r15d, r13d
cmp r13d, 0x7ffffff
jbe 0x18003b82c
jmp 0x18003baa4
lea rax, [rcx + r8]
cmp rax, rbp
jae 0x18003b829
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 0x18003b95b
mov rsi, rdi
lea r11, [rsi + r8]
mov rcx, rsi
mov r12d, r13d
cmp r11, rbp
jae 0x18003b82c
cmp rax, rdx
jae 0x18003cddb
mov r11, rax
shl r11, 4
mov r11, qword [r9 + r11 + 8]
cmp rcx, r11
jb 0x18003b996
inc rax
add r8, r11
cmp rax, rdx
jae 0x18003ba70
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 0x18003ba6b
lea rsi, [rcx + r8]
add rsi, 3
cmp rsi, rbp
jae 0x18003b82c
add r11, r9
lea rdi, [rcx + 1]
mov qword [rbx + 0x38], rdi
lea rsi, [rcx + 4]
cmp rsi, qword [r11 + 8]
jae 0x18003b945
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 0x18003ba82
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 0x18003ba8d
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 0x18003ba95
mov qword [rbx + 0x38], rsi
jmp 0x18003b948
mov r15d, r13d
jmp 0x18003ba9b
cmp rbp, r8
jbe 0x18003b829
mov qword [rbx + 0x48], r8
jmp 0x18003b829
mov rcx, rdi
mov r15d, r12d
mov r12d, r13d
jmp 0x18003ba9b
mov rcx, r15
mov r15d, edi
jmp 0x18003ba9b
mov r15d, r13d
mov r12d, edi
test r15d, r15d
js 0x18003bb50
mov eax, r15d
test eax, 0x10000000
je 0x18003be2e
mov r12, qword [rbx + 0x38]
add r12, qword [rbx + 0x28]
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0xb0]
mov r8, rbx
call fcn.18003edf0
test byte [rsp + 0x88], 1
je 0x18003c7b3
mov rdx, qword [rsp + 0x90]
cmp rdx, r12
jbe 0x18003bb30
mov rcx, rbx
call fcn.180039820
mov rcx, qword [rbx + 0x38]
cmp dword [rsp + 0xa0], 0
je 0x18003bdab
test rcx, rcx
je 0x18003bbec
mov rcx, rbx
call fcn.180032500
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
jae 0x18003bc5b
add rax, rcx
jmp 0x18003bca0
mov rax, qword [rbx + 0x38]
add rax, qword [rbx + 0x28]
cmp rax, r12
je 0x18003bb48
mov rcx, rbx
mov rdx, r12
call fcn.180039820
mov r13d, r15d
jmp 0x18003b82c
mov rsi, qword [rsp + 0x28]
test byte [rsi], 1
je 0x18003cdf6
add r8, rcx
mov qword [rsi + 0x10], r8
mov rcx, rbx
call fcn.180032500
mov rcx, qword [rbx + 0x38]
cmp rcx, rdx
jae 0x18003cf02
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 0x18003cdea
mov rax, qword [rsi + 0x20]
mov r13d, dword [rax + rcx*4]
test r13d, r13d
jns 0x18003b90c
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.1802246c0
test eax, eax
jne 0x18003a925
mov r13d, edx
mov r15d, r13d
cmp r13d, 0x7ffffff
jbe 0x18003b82c
jmp 0x18003baa4
mov rcx, rbx
call fcn.180032590
test al, al
je 0x18003bc46
mov rcx, rbx
call fcn.180032500
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.180032500
cmp rdx, 4
jb 0x18003be0f
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.180032500
mov r15, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003bc79
mov qword [rbx + 0x38], 0
jmp 0x18003bc87
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003cf7e
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 0x18003bd0e
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003bc87
mov qword [rbx + 0x48], r15
mov rax, qword [rbx + 0x50]
dec rax
cmp rax, 7
ja 0x18003cf20
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 0x18003bd05
mov rcx, qword [rsp + 0xc0]
call fcn.1801585c0
test al, al
je 0x18003bd05
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003bda7
jmp 0x18003cc51
movzx r15d, byte [r14 + r15 + 0x90]
movzx ecx, r15b
test r12d, r12d
je 0x18003bd5b
cmp r12d, 2
jne 0x18003bd57
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
cmp dl, 2
je 0x18003bd8d
test dl, 1
je 0x18003bd8d
mov edx, ebp
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], rdx
jbe 0x18003bdcb
lea rax, [rdx + rdx*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
jmp 0x18003bd5b
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003bdd9
mov r15d, eax
mov eax, 5
mov edx, eax
cmp rdx, 5
je 0x18003bda7
jmp 0x18003cc51
mov r15d, ebp
mov rax, r15
shl rax, 0x20
or rax, 2
mov edx, eax
cmp rdx, 5
jne 0x18003cc51
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 0x18003b852
jmp 0x18003c851
lea rcx, [rsp + 0x70]
call fcn.18015b0b0
test eax, eax
jns 0x18003bd78
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.180225410
mov r15, rax
shr r15, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003bda7
jmp 0x18003cc51
mov rcx, qword [rsp + 0xe0]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
jmp 0x18003bc25
test eax, 0x8000000
jne 0x18003c981
test eax, 0x40000000
mov r8, qword [rsp + 0x28]
jne 0x18003cc6e
test eax, 0x20000000
je 0x18003cf34
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 0x18003ce26
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
jmp 0x18003b25d
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003beaf
mov qword [rbx + 0x48], r15
mov rcx, qword [rbx + 0x50]
dec rcx
cmp rcx, 7
ja 0x18003ce8b
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 0x18003bf2c
lea rcx, [r14 + 0x290]
call fcn.1801585c0
test al, al
je 0x18003bf2c
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003bfd8
jmp 0x18003ca99
movzx r13d, byte [r14 + r12 + 0x90]
mov r8, qword [rsp + 0x28]
movzx ecx, r13b
test ebp, ebp
je 0x18003bf8b
cmp ebp, 2
jne 0x18003bf87
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
mov r12d, r15d
cmp dl, 2
je 0x18003bfc1
test dl, 1
je 0x18003bfc1
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], r12
jbe 0x18003ca53
lea rax, [r12 + r12*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8, qword [rsp + 0x28]
jmp 0x18003bf8b
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003ca6a
mov r12d, eax
mov eax, 5
mov edx, eax
cmp rdx, 5
je 0x18003bfd8
jmp 0x18003ca99
mov rax, r12
shl rax, 0x20
or rax, 2
mov edx, eax
cmp rdx, 5
jne 0x18003ca99
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
lea rax, [r8 + rcx]
mov r11, qword [rsp + 0x28]
cmp qword [r11], 1
jne 0x18003c00e
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 0x18003c713
lea rax, [rbx + 0x58]
mov qword [rsp + 0xf0], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x80], 0
jmp 0x18003c085
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 0x18003cad9
mov r13d, r12d
mov rsi, qword [rsp + 0x28]
cmp r13d, 0x7ffffff
jbe 0x18003c16a
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
cmp rax, rdx
jae 0x18003cddb
mov rdx, qword [rbx + 8]
shl rax, 4
cmp rcx, qword [rdx + rax + 8]
jb 0x18003c0df
mov rcx, rbx
call fcn.180032500
mov rbp, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003c967
mov qword [rbx + 0x38], 0
xor ecx, ecx
test byte [rsi], 1
je 0x18003cdf6
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 0x18003cddb
mov r8, qword [rbx + 8]
shl rax, 4
mov rdx, qword [r8 + rax + 8]
cmp rcx, rdx
jae 0x18003ce0e
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 0x18003cdea
mov rax, qword [rsi + 0x20]
mov r12d, dword [rax + rcx*4]
test r12d, r12d
js 0x18003c5c0
cmp r12d, 0x7ffffff
ja 0x18003c2e6
jmp 0x18003c062
lea rax, [rcx + r8]
cmp rax, rbp
jae 0x18003c05f
mov r9, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x18]
mov r10, qword [rsi + 0x20]
jmp 0x18003c19f
mov rsi, rdi
mov r13d, r15d
lea r11, [rsi + r8]
mov rcx, rsi
cmp r11, rbp
jae 0x18003c05f
cmp rax, rdx
jae 0x18003cddb
mov r11, rax
shl r11, 4
mov r11, qword [r9 + r11 + 8]
cmp rcx, r11
jb 0x18003c1da
inc rax
add r8, r11
cmp rax, rdx
jae 0x18003c670
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 0x18003c2bf
lea rsi, [rcx + r8]
add rsi, 3
cmp rsi, rbp
jae 0x18003c668
add r11, r9
lea rdi, [rcx + 1]
mov qword [rbx + 0x38], rdi
lea rsi, [rcx + 4]
cmp rsi, qword [r11 + 8]
jae 0x18003c189
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 0x18003c2c4
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 0x18003c2cf
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 0x18003c2d7
mov qword [rbx + 0x38], rsi
lea r11, [rsi + r8]
mov rcx, rsi
cmp r11, rbp
jb 0x18003c19f
jmp 0x18003c05f
mov r12d, r15d
jmp 0x18003c2dd
mov rcx, rdi
mov r12d, r13d
mov r13d, r15d
jmp 0x18003c2dd
mov rcx, r15
mov r12d, edi
jmp 0x18003c2dd
mov r12d, r13d
mov r13d, edi
test r12d, r12d
js 0x18003c3ed
mov eax, r12d
test eax, 0x10000000
je 0x18003c682
mov rsi, qword [rbx + 0x28]
mov r15, qword [rbx + 0x38]
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0xb0]
mov r8, rbx
call fcn.18003edf0
test byte [rsp + 0x88], 1
je 0x18003c724
add r15, rsi
mov rdx, qword [rsp + 0x90]
cmp rdx, r15
jbe 0x18003c6f2
mov rcx, rbx
call fcn.180039820
mov rcx, qword [rbx + 0x38]
cmp dword [rsp + 0xa8], 0
je 0x18003c376
test rcx, rcx
je 0x18003c383
mov rcx, rbx
call fcn.180032500
mov rcx, qword [rbx + 0x38]
dec rcx
cmp rcx, rdx
mov rsi, qword [rsp + 0x28]
jae 0x18003c452
add rax, rcx
jmp 0x18003c492
mov r13d, r12d
mov rsi, qword [rsp + 0x28]
jmp 0x18003c5a6
mov rcx, rbx
call fcn.180032590
test al, al
mov rsi, qword [rsp + 0x28]
je 0x18003c43d
mov rcx, rbx
call fcn.180032500
mov qword [rbx + 0x38], rdx
mov rcx, rbx
call fcn.180032500
cmp rdx, 4
jb 0x18003c649
mov qword [rbx + 0x50], 4
mov eax, dword [rax + rdx - 4]
mov dword [rbx + 0x58], eax
mov rcx, rbx
call fcn.180032500
mov r15, rdx
mov rcx, rbx
call fcn.180032540
test al, al
je 0x18003c46b
mov qword [rbx + 0x38], 0
jmp 0x18003c479
mov rsi, qword [rsp + 0x28]
test byte [rsi], 1
je 0x18003cdf6
add r8, rcx
mov qword [rsi + 0x10], r8
mov rcx, rbx
call fcn.180032500
mov rcx, qword [rbx + 0x38]
cmp rcx, rdx
jae 0x18003cf02
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 0x18003c147
jmp 0x18003cdea
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18003cf0e
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 0x18003c4fb
add r15, qword [rbx + 0x28]
cmp qword [rbx + 0x48], r15
jbe 0x18003c479
mov qword [rbx + 0x48], r15
mov rax, qword [rbx + 0x50]
dec rax
cmp rax, 7
ja 0x18003cf20
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 0x18003c4f2
mov rcx, qword [rsp + 0xe0]
call fcn.1801585c0
test al, al
je 0x18003c4f2
mov eax, 4
mov edx, eax
cmp rdx, 5
je 0x18003c5a2
jmp 0x18003c79f
movzx r12d, byte [r14 + r13 + 0x90]
movzx ecx, r12b
test r15d, r15d
je 0x18003c548
cmp r15d, 2
jne 0x18003c544
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x81]
cmp dl, 2
je 0x18003c583
test dl, 1
je 0x18003c583
mov edx, ebp
mov rax, qword [rax + 0x2b0]
cmp qword [rax + 0x168], rdx
jbe 0x18003c5fd
lea rax, [rdx + rdx*2]
lea rcx, [rcx + rax*2]
add rcx, 0xc
jmp 0x18003c548
add rcx, 6
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x40]
cmp rcx, rdx
jae 0x18003ce1a
mov rax, qword [rax + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x18003c60f
mov r13d, eax
mov eax, 5
mov rsi, qword [rsp + 0x28]
mov edx, eax
cmp rdx, 5
je 0x18003c5a2
jmp 0x18003c79f
mov r13d, ebp
mov rax, r13
shl rax, 0x20
or rax, 2
mov rsi, qword [rsp + 0x28]
mov edx, eax
cmp rdx, 5
jne 0x18003c79f
mov rcx, qword [rbx + 0x38]
mov r8, qword [rbx + 0x28]
mov rbp, qword [rbx + 0x48]
lea rax, [r8 + rcx]
cmp rax, rbp
jb 0x18003c08d
jmp 0x18003cad6
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.1802246c0
test eax, eax
jne 0x18003a925
mov r12d, edx
cmp r12d, 0x7ffffff
ja 0x18003c2e6
jmp 0x18003c062
lea rcx, [rsp + 0x70]
call fcn.18015b0b0
test eax, eax
jns 0x18003c569
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.180225410
mov r13, rax
shr r13, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003c5a2
jmp 0x18003c79f
mov rcx, qword [rsp + 0xf0]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
jmp 0x18003c3c5
mov r12d, r15d
jmp 0x18003c062
cmp rbp, r8
jbe 0x18003c05f
mov qword [rbx + 0x48], r8
jmp 0x18003c05f
test eax, 0x8000000
je 0x18003ccf1
xor ecx, ecx
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], 1
je 0x18003c6c9
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x40]
mov edx, r12d
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
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 0x18003c062
mov rax, qword [rbx + 0x38]
add rax, qword [rbx + 0x28]
cmp rax, r15
je 0x18003c062
mov rcx, rbx
mov rdx, r15
call fcn.180039820
jmp 0x18003c062
mov qword [rsp + 0x80], 0
jmp 0x18003cad9
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 0x18003ce26
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 0x18003cabf
shl r13, 0x20
or rdx, r13
mov rcx, rbx
call fcn.18003eae0
jmp 0x18003b12b
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 0x18003ce26
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 0x18003cab9
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
jmp 0x180039d9c
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
jmp 0x180039e26
cmp rbp, r8
jbe 0x18003c84e
mov qword [rbx + 0x48], r8
mov rbp, r8
mov r13d, r12d
mov rcx, rbx
mov rdx, rbp
call fcn.180039820
mov rcx, rbx
call fcn.180032500
mov rcx, rbp
sub rcx, qword [rbx + 0x28]
cmp rcx, rdx
jae 0x18003c8ab
movzx r15d, byte [rax + rcx]
mov rcx, r14
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
mov r8d, r13d
mov r9d, r15d
call fcn.180040110
test eax, eax
jne 0x18003cb70
mov eax, edx
test eax, 0x8000000
jne 0x18003c8d4
test eax, 0x20000000
jne 0x18003cb49
xor esi, esi
jmp 0x18003c912
mov rcx, r14
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
mov r8d, r13d
call fcn.180040190
test eax, eax
jne 0x18003cb70
xor eax, eax
test edx, 0x8000000
jne 0x18003c8dd
xor esi, esi
jmp 0x18003c912
mov esi, 1
xor eax, eax
jmp 0x18003c8e2
mov esi, 1
mov rcx, qword [rsp + 0xa8]
cmp qword [rcx + 0x168], 1
je 0x18003c912
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
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 0x18003ce26
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 0x18003cabc
mov rax, qword [rbx + 0x48]
add rbp, qword [rbx + 0x28]
cmp rax, rbp
jbe 0x18003cad3
mov qword [rbx + 0x48], rbp
jmp 0x18003cad6
xor eax, eax
mov rcx, qword [rsp + 0xa8]
cmp qword [rcx + 0x168], 1
mov rsi, qword [rsp + 0x28]
je 0x18003c9bb
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
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 0x18003ce26
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 0x18003b2fa
lea rcx, [rsp + 0x70]
call fcn.18015b0b0
mov r8, qword [rsp + 0x28]
test eax, eax
jns 0x18003b782
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.180225410
mov r12, rax
shr r12, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003b7ae
jmp 0x18003ca99
lea rcx, [rsp + 0x70]
call fcn.18015b0b0
mov r8, qword [rsp + 0x28]
test eax, eax
jns 0x18003bfac
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.180225410
mov r12, rax
shr r12, 0x20
mov edx, eax
cmp rdx, 5
je 0x18003bfd8
shl r12, 0x20
or rdx, r12
mov rcx, rbx
call fcn.18003eae0
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.180039820
mov rcx, rbx
call fcn.180032500
mov rcx, rbp
sub rcx, qword [rbx + 0x28]
cmp rcx, rdx
jae 0x18003cb59
movzx r15d, byte [rax + rcx]
mov rcx, r14
mov rdx, qword [rsp + 0x28]
mov r8d, r12d
mov r9d, r15d
call fcn.180040110
test eax, eax
jne 0x18003cb70
mov eax, edx
test eax, 0x8000000
jne 0x18003cbb9
test eax, 0x20000000
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0xbc]
mov r9, qword [rsp + 0xd8]
je 0x18003cbf9
mov ecx, r15d
mov rdx, rbp
call fcn.18014ec60
jmp 0x18003b12b
mov rcx, r14
mov rsi, qword [rsp + 0x28]
mov rdx, rsi
mov r8d, r12d
call fcn.180040190
test eax, eax
je 0x18003cb7d
mov rcx, rbp
call fcn.18014ecb0
jmp 0x18003b12b
test edx, 0x8000000
mov rdi, qword [rsp + 0x80]
mov r8d, dword [rsp + 0xbc]
mov r9, qword [rsp + 0xd8]
je 0x18003cbf9
mov edi, 1
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], 1
jne 0x18003cbd5
xor r8d, r8d
jmp 0x18003cbf6
mov edi, 1
mov rax, qword [rsp + 0xa0]
cmp qword [rax + 0x168], 1
mov rsi, qword [rsp + 0x28]
je 0x18003cbb4
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
call fcn.18015b060
mov rcx, rax
xor edx, edx
call fcn.1801600e0
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 0x18003ce26
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 0x18003cabf
shl r15, 0x20
or rdx, r15
mov rcx, rbx
call fcn.18003eae0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
jmp 0x18003cab4
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 0x18003ce26
add rax, rdx
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [r8 + 0x158], rax
jmp 0x18003ac45
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
jmp 0x18003b357
lea rcx, [rbx + 0x58]
mov r15, rdx
mov rdx, rax
mov r8, r15
call fcn.180223500
mov qword [rbx + 0x50], r15
jmp 0x18003b3c1
test eax, 0x40000000
jne 0x18003cd5d
test eax, 0x20000000
je 0x18003cf34
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 0x18003ce26
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 0x18003b25d
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 0x18003ce26
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 0x18003c774
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
mov rcx, r10
mov rdx, rax
call fcn.180228000
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
mov rcx, r9
mov rdx, rax
call fcn.180228000
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
mov rcx, rax
call fcn.180228000
lea r8, [0x18023aac8]
call fcn.180228000
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, [0x18023a650]
mov edx, 0x1f
call fcn.180227e70
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
call fcn.180228000
lea r8, [0x18023aaf8]
call fcn.180228000
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x18023a720]
mov edx, 0x1f
call fcn.180227e70
lea r8, str.crateslovely_core_srcchunk_vec_cursor.rs
call fcn.180228000
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.180228000
lea r8, [0x18023a4f8]
mov edx, 8
mov rcx, r15
call fcn.180228000
lea r8, [0x18023aae0]
call fcn.180228000
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc8]
jmp 0x18003cea6
lea r8, [0x18023a4f8]
mov edx, 8
call fcn.180228000
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x88], rax
lea rax, [fcn.18021d530]
mov qword [rsp + 0x90], rax
lea rax, [0x18023a598]
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, [0x18023a5a8]
lea rcx, [rsp + 0x40]
call fcn.180227ed0
lea r8, str.C:Users_runneradmin_.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_cursor_0.1.4_srcengineshybrid_search.rs
call fcn.180228000
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xe8]
jmp 0x18003cf8e
lea r8, [0x18023a4f8]
mov edx, 8
mov rcx, rax
call fcn.180228000
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.180227ed0
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.180228000
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x70], rax
lea rax, [fcn.18021d530]
mov qword [rsp + 0x78], rax
lea rax, [0x18023a598]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x60], 0
lea rax, [rsp + 0x70]
jmp 0x18003cee3