Function at 0x1400f18a0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r11, rcx
mov rbp, qword [r9 + 0x18]
mov rbx, qword [r9 + 0x20]
cmp rbp, rbx
jbe 0x1400f18cf
mov qword [r11], 0
jmp 0x1400f3d4c
mov rdi, r8
mov r14, rdx
mov r13d, dword [r9]
lea eax, [r13 - 1]
cmp eax, 2
jb 0x1400f18ff
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea rsi, [0x14027d110]
cmovne rsi, rax
cmp byte [rsi + 0x18], 2
jne 0x1400f1adc
cmp byte [r9 + 0x28], 0
je 0x1400f19b9
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0x40], rax
test rbp, rbp
je 0x1400f1a64
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400f1a64
mov rcx, qword [r9 + 8]
movzx esi, byte [rcx + rax]
mov r15d, dword [r9 + 4]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400f199b
lea rax, [r14 + 0x290]
mov edx, esi
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, esi
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
jne 0x1400f1a59
movzx eax, byte [r14 + rsi + 0x90]
movzx r12d, al
mov rcx, r12
test r13d, r13d
jne 0x1400f1a7a
jmp 0x1400f1ca4
mov r10, qword [r14 + 0x2b0]
test rbp, rbp
mov qword [rsp + 0x88], r10
je 0x1400f1ac2
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400f1ac2
mov rcx, qword [r9 + 8]
movzx esi, byte [rcx + rax]
mov r15d, dword [r9 + 4]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400f21cb
lea rax, [r14 + 0x290]
mov edx, esi
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, esi
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
mov r10, qword [rsp + 0x88]
je 0x1400f21cb
mov r15d, 4
jmp 0x1400f26ea
mov r15d, dword [r9 + 4]
mov al, 2
movzx r12d, al
mov rcx, r12
test r13d, r13d
je 0x1400f1ca4
cmp r13d, 2
jne 0x1400f1c9f
movzx eax, byte [r14 + 0x81]
mov esi, r15d
cmp al, 2
je 0x1400f21b1
test al, 1
je 0x1400f21b1
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x168], rsi
jbe 0x1400f2b26
lea rax, [rsi + rsi*2]
lea rcx, [r12 + rax*2]
add rcx, 0xc
jmp 0x1400f1ca4
mov r15d, dword [r9 + 4]
mov al, 2
movzx esi, al
mov rcx, rsi
test r13d, r13d
jne 0x1400f21df
jmp 0x1400f21ed
movzx eax, byte [r9 + 0x28]
mov byte [rsp + 0xa8], al
test al, al
je 0x1400f1bac
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0x90], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xc0], eax
test rbp, rbp
je 0x1400f200b
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400f200b
mov r15, r13
mov rcx, qword [r9 + 8]
movzx r13d, byte [rcx + rax]
mov eax, dword [r9 + 4]
mov dword [rsp + 0x4c], eax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400f1b9b
lea rax, [r14 + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, r13d
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test r13b, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
jne 0x1400f1c5b
movzx eax, byte [r14 + r13 + 0x90]
mov r13, r15
jmp 0x1400f2015
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0x90], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xa0], eax
test rbp, rbp
je 0x1400f21a2
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x1400f21a2
mov r15, r13
mov rcx, qword [r9 + 8]
movzx r13d, byte [rcx + rax]
mov eax, dword [r9 + 4]
mov dword [rsp + 0x4c], eax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400f28e9
lea rax, [r14 + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, r13d
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test r13b, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
je 0x1400f28e9
mov eax, 4
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
cmp ecx, 2
je 0x1400f2c06
cmp ecx, 1
jne 0x1400f2c15
test rbp, rbp
je 0x1400f4227
mov rsi, r11
dec rbp
mov ecx, r13d
mov rdx, rbp
call fcn.140101270
jmp 0x1400f2c20
lea rcx, [r12 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f2b4c
mov esi, eax
cmp qword [rdi], 1
jne 0x1400f1ce7
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, rbx
jae 0x1400f1f57
mov r12, qword [r9 + 8]
mov r15, qword [r9 + 0x10]
jmp 0x1400f1d42
mov r13, rbp
mov eax, r10d
cmp r10d, 0x8000000
setae cl
test eax, 0x10000000
sete dl
test cl, dl
jne 0x1400f2797
mov rbp, r13
mov esi, r10d
inc rbp
cmp rbp, rbx
jae 0x1400f1f5b
cmp esi, 0x7ffffff
jbe 0x1400f1df0
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], rbp
cmp rbp, r15
jae 0x1400f4110
movzx r8d, byte [r12 + rbp]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x20]
mov r10d, dword [rax + rcx*4]
test r10d, r10d
jns 0x1400f1d10
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x38], r11
mov r15, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14010b500
test eax, eax
jne 0x1400f3a95
mov r10d, edx
mov r13, rbp
mov r9, r15
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x50]
jmp 0x1400f1d13
cmp rbp, rbx
jae 0x1400f1d36
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [r12 + rbp]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, esi
add r8, rcx
mov ecx, dword [rax + r8*4]
lea r13, [rbp + 3]
cmp r13, rbx
jae 0x1400f1ec8
cmp ecx, 0x8000000
jae 0x1400f1ec8
movzx r8d, byte [r12 + rbp + 1]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov esi, dword [rax + r8*4]
cmp rsi, 0x7ffffff
ja 0x1400f1eae
movzx ecx, byte [r12 + rbp + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rsi
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1400f1ec4
movzx r8d, byte [r12 + rbp + 3]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov esi, dword [rax + r8*4]
cmp esi, 0x7ffffff
ja 0x1400f1ed9
add rbp, 4
cmp rbp, rbx
jb 0x1400f1e10
jmp 0x1400f1d36
inc rbp
mov r10d, esi
mov esi, ecx
mov r13, rbp
test r10d, r10d
jns 0x1400f1d13
jmp 0x1400f1ee7
add rbp, 2
mov r10d, ecx
mov r13, rbp
test r10d, r10d
jns 0x1400f1d13
jmp 0x1400f1ee7
mov r10d, esi
mov esi, ecx
test r10d, r10d
jns 0x1400f1d13
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], r13
movzx r8d, byte [r12 + r13]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, esi
add rcx, r10
cmp rcx, rdx
jae 0x1400f40d8
mov r10d, dword [rax + rcx*4]
test r10d, r10d
jns 0x1400f1d13
mov qword [rsp + 0x38], r11
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14010b500
test eax, eax
jne 0x1400f3ff6
mov r10d, edx
mov r9, rbp
mov r11, qword [rsp + 0x38]
jmp 0x1400f1d13
mov r15, qword [r9 + 0x10]
cmp rbx, r15
jae 0x1400f1fc3
mov rax, qword [r9 + 8]
movzx r15d, byte [rax + rbx]
movzx eax, byte [r14 + r15 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
js 0x1400f2c9b
mov eax, r8d
test eax, 0x8000000
jne 0x1400f3ca9
test eax, 0x20000000
je 0x1400f2004
mov r12, r11
mov ecx, r15d
mov rdx, rbx
call fcn.140101270
jmp 0x1400f2cfb
movzx eax, byte [r14 + 0x28f]
mov ecx, esi
and ecx, 0x7ffffff
add ecx, eax
inc ecx
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
jbe 0x1400f40d8
mov rdx, qword [rdi + 0x20]
mov r8d, dword [rdx + rcx*4]
test r8d, r8d
js 0x1400f2cc8
xor eax, eax
test r8d, 0x8000000
jne 0x1400f3cdc
xor ecx, ecx
jmp 0x1400f3d15
mov eax, dword [r9 + 4]
mov dword [rsp + 0x4c], eax
mov al, 2
mov qword [rsp + 0x50], r13
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
jbe 0x1400f4122
mov rcx, qword [rdi + 0x38]
movsxd r13, dword [rcx + rax*4]
test r13, r13
js 0x1400f2d0d
mov qword [rsp + 0x38], r11
mov r15, qword [r9 + 8]
mov r9, qword [r9 + 0x10]
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x40]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, rax
add rdx, 0x10
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0x88], rdx
mov r8, r15
mov qword [rsp + 0x40], r9
mov qword [rsp + 0xa0], r10
call r10
test byte [rsp + 0xf8], 1
je 0x1400f2a81
mov rsi, qword [rsp + 0x100]
cmp dword [rsp + 0xc0], 0
mov r9, qword [rsp + 0x40]
je 0x1400f2e15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x5c], eax
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x80], al
lea rcx, [rsp + 0x58]
mov rdx, rsi
mov r8, rbx
call fcn.1400f42c0
mov r10, qword [rsp + 0x70]
test r10, r10
je 0x1400f2a90
lea rax, [r10 - 1]
cmp rax, qword [rsp + 0x68]
jae 0x1400f2a90
mov rcx, qword [rsp + 0x60]
movzx r13d, byte [rcx + rax]
mov r12d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400f2d91
lea rax, [r14 + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r11d, 1
xor r9d, r9d
mov ecx, r13d
shld r9, r11, cl
shl r11, cl
xor ecx, ecx
test r13b, 0x40
cmovne r9, r11
cmovne r11, rcx
and r9, qword [rax + rdx + 8]
and r11, qword [rax + rdx]
or r11, r9
je 0x1400f2d91
mov eax, 4
jmp 0x1400f3346
mov eax, dword [r9 + 4]
mov dword [rsp + 0x4c], eax
mov al, 2
jmp 0x1400f28f5
mov r15, rsi
shl r15, 0x20
or r15, 2
cmp r15d, 5
je 0x1400f1cc2
jmp 0x1400f26ea
movzx eax, byte [r14 + rsi + 0x90]
movzx esi, al
mov rcx, rsi
test r13d, r13d
je 0x1400f21ed
cmp r13d, 1
jne 0x1400f261b
lea rcx, [rsi + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f2bbc
mov esi, eax
cmp qword [rdi], 1
jne 0x1400f2230
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, rbx
jae 0x1400f2592
mov r13, qword [r9 + 8]
mov rax, qword [r9 + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [r14 + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0xc0], rax
xor r15d, r15d
jmp 0x1400f2282
mov r12, rbp
inc r12
mov rbp, r12
cmp r12, rbx
jae 0x1400f2661
cmp esi, 0x7ffffff
jbe 0x1400f22f0
test byte [rdi], 1
mov rax, qword [rsp + 0x50]
je 0x1400f40e4
mov qword [rdi + 0x10], rbp
cmp rbp, rax
jae 0x1400f40fc
movzx r8d, byte [r13 + rbp]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f24fd
mov esi, eax
mov r12, rbp
jmp 0x1400f2420
cmp rbp, rbx
jae 0x1400f2270
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [r13 + rbp]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, esi
add r8, rcx
mov ecx, dword [rax + r8*4]
lea r12, [rbp + 3]
cmp r12, rbx
jae 0x1400f240c
cmp ecx, 0x8000000
jae 0x1400f240c
movzx r8d, byte [r13 + rbp + 1]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov esi, dword [rax + r8*4]
cmp rsi, 0x7ffffff
ja 0x1400f23b7
movzx ecx, byte [r13 + rbp + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rsi
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1400f2408
movzx r8d, byte [r13 + rbp + 3]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov esi, dword [rax + r8*4]
cmp esi, 0x7ffffff
ja 0x1400f24ea
add rbp, 4
cmp rbp, rbx
jb 0x1400f2310
jmp 0x1400f2270
inc rbp
mov r8d, esi
mov esi, ecx
mov r12, rbp
test r8d, r8d
jns 0x1400f2417
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], r12
movzx r8d, byte [r13 + r12]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, esi
add rcx, r10
cmp rcx, rdx
jae 0x1400f40d8
mov eax, dword [rax + rcx*4]
test eax, eax
mov r10, qword [rsp + 0x88]
js 0x1400f2551
mov esi, eax
jmp 0x1400f2420
add rbp, 2
mov r8d, ecx
mov r12, rbp
test r8d, r8d
js 0x1400f23c7
mov esi, r8d
nop word [rax + rax]
mov eax, esi
cmp esi, 0x8000000
setae cl
test eax, 0x10000000
sete dl
test cl, dl
je 0x1400f2273
test eax, 0x8000000
je 0x1400f2805
mov r15d, 1
cmp qword [r10 + 0x168], 1
jne 0x1400f246b
mov dword [rsp + 0x40], 0
mov qword [rsp + 0xa0], r12
jmp 0x1400f2273
mov eax, esi
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr rax, cl
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jae 0x1400f4122
mov dword [rsp + 0x40], 0
mov rcx, qword [rdi + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x1400f4131
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
jne 0x1400f24be
mov qword [rsp + 0xa0], r12
jmp 0x1400f2273
cmp rdx, 0xd
jb 0x1400f417c
add rdx, 0xfffffffffffffff3
cmp rdx, 3
jbe 0x1400f416b
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0xa0], r12
jmp 0x1400f2273
mov r8d, esi
mov esi, ecx
test r8d, r8d
jns 0x1400f2417
jmp 0x1400f23c7
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0x38], r11
mov r15, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14010b500
test eax, eax
jne 0x1400f3a95
mov esi, edx
mov r12, rbp
mov r9, r15
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x88]
mov r15, qword [rsp + 0xa8]
jmp 0x1400f2420
mov qword [rsp + 0x38], r11
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14010b500
test eax, eax
jne 0x1400f3ff1
mov esi, edx
mov r9, rbp
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x88]
jmp 0x1400f2420
mov r12, qword [r9 + 0x10]
xor r15d, r15d
cmp rbx, r12
jae 0x1400f2673
mov r13, r15
mov rax, qword [r9 + 8]
movzx r15d, byte [rax + rbx]
movzx eax, byte [r14 + r15 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
js 0x1400f2c30
mov eax, r8d
test eax, 0x8000000
jne 0x1400f3bed
test eax, 0x20000000
mov rdx, qword [rsp + 0xa0]
je 0x1400f3c32
mov qword [rsp + 0x38], r11
mov ecx, r15d
mov rdx, rbx
call fcn.140101270
mov r12, qword [rsp + 0x38]
jmp 0x1400f2cfb
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x1400f26d2
test al, 1
je 0x1400f26d2
mov eax, r15d
cmp qword [r10 + 0x168], rax
jbe 0x1400f2b8e
lea rax, [rax + rax*2]
lea rcx, [rsi + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x1400f21fa
jmp 0x1400f40d8
mov ebp, dword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
cmp rbx, r12
jb 0x1400f25a2
movzx eax, byte [r14 + 0x28f]
mov ecx, esi
and ecx, 0x7ffffff
add ecx, eax
inc ecx
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
jbe 0x1400f40d8
mov r13, r15
mov rdx, qword [rdi + 0x20]
mov r8d, dword [rdx + rcx*4]
test r8d, r8d
js 0x1400f2c5f
test r8d, 0x8000000
mov rdx, qword [rsp + 0xa0]
je 0x1400f3c32
cmp qword [r10 + 0x168], 1
jne 0x1400f3c07
xor ebp, ebp
jmp 0x1400f3c29
mov esi, r15d
mov r15, rsi
shl r15, 0x20
or r15, 2
cmp r15d, 5
je 0x1400f220b
lea ecx, [r15 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x1400f273b
cmp eax, 1
jne 0x1400f276c
test rbp, rbp
je 0x1400f4227
mov rdi, r11
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f418d
dec rbp
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], rbp
jmp 0x1400f2764
mov rdi, r11
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f418d
mov byte [rax], 3
mov dword [rax + 4], r15d
mov dword [rax + 8], esi
mov rsi, rdi
jmp 0x1400f2c20
mov rsi, r11
movzx eax, byte [0x14031a2c8]
mov edx, 0x10
xor ecx, ecx
call fcn.1401dbaa0
test rax, rax
je 0x1400f418d
mov byte [rax], 1
mov qword [rax + 8], rbp
jmp 0x1400f2c20
test eax, 0x8000000
jne 0x1400f2872
test eax, 0x40000000
jne 0x1400f2af5
test eax, 0x20000000
je 0x1400f423f
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r13, r15
jae 0x1400f4286
mov rsi, r11
movzx ecx, byte [r12 + r13]
mov rdx, r13
call fcn.140101270
jmp 0x1400f2c20
test eax, 0x40000000
mov edx, dword [rsp + 0x40]
jne 0x1400f2ab1
test eax, 0x20000000
je 0x1400f423f
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
mov rdx, qword [rsp + 0x50]
cmp r12, rdx
jae 0x1400f4277
mov rsi, r11
movzx ecx, byte [r13 + r12]
mov rdx, r12
call fcn.140101270
jmp 0x1400f2c20
xor eax, eax
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x168], 1
je 0x1400f28a6
mov rcx, r14
mov rdx, rdi
mov r8d, r10d
mov rsi, r11
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov r11, rsi
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rdx, r13
sub rdx, rcx
neg rdx
mov r8, r13
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov qword [r11], 1
mov qword [r11 + 8], r13
mov dword [r11 + 0x10], eax
jmp 0x1400f3d4c
movzx eax, byte [r14 + r13 + 0x90]
mov r13, r15
mov qword [rsp + 0x50], r13
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
jbe 0x1400f4122
mov rcx, qword [rdi + 0x38]
movsxd r13, dword [rcx + rax*4]
test r13, r13
js 0x1400f2d4f
mov qword [rsp + 0x38], r11
mov r12, qword [r9 + 8]
mov r9, qword [r9 + 0x10]
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x40]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, rax
add rdx, 0x10
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0xf8]
mov qword [rsp + 0xc0], rdx
mov r8, r12
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x88], r10
call r10
test byte [rsp + 0xf8], 1
je 0x1400f2a81
mov r15, qword [rsp + 0x100]
cmp dword [rsp + 0xa0], 0
mov r9, qword [rsp + 0x40]
je 0x1400f33d7
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x5c], eax
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x80], al
lea rcx, [rsp + 0x58]
mov rdx, r15
mov r8, rbx
call fcn.1400f42c0
mov rsi, qword [rsp + 0x70]
test rsi, rsi
je 0x1400f2aa1
lea rax, [rsi - 1]
cmp rax, qword [rsp + 0x68]
jae 0x1400f2aa1
mov rcx, qword [rsp + 0x60]
movzx r13d, byte [rcx + rax]
mov ebp, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400f3355
lea rax, [r14 + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r10d, 1
xor r9d, r9d
mov ecx, r13d
shld r9, r10, cl
shl r10, cl
xor ecx, ecx
test r13b, 0x40
cmovne r9, r10
cmovne r10, rcx
and r9, qword [rax + rdx + 8]
and r10, qword [rax + rdx]
or r10, r9
je 0x1400f3355
mov eax, 4
jmp 0x1400f39d4
xor eax, eax
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
jmp 0x1400f3d4c
mov r12d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
jmp 0x1400f2d9a
mov ebp, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
jmp 0x1400f335e
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r12
sub rcx, rax
neg rcx
sub r12, rax
cmovb r12, rcx
add qword [rdi + 0x158], r12
mov qword [r11], r15
mov rax, qword [rsp + 0xa0]
mov qword [r11 + 8], rax
mov dword [r11 + 0x10], edx
jmp 0x1400f3d4c
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [rdi + 0x158], r13
jmp 0x1400f18c3
mov rcx, r14
mov rsi, r9
mov qword [rsp + 0x50], r13
mov r13, r11
call fcn.14010d730
mov r11, r13
mov r13, qword [rsp + 0x50]
mov r9, rsi
test eax, eax
jns 0x1400f1cc0
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
mov r8d, r15d
mov rsi, r9
mov r9d, r12d
mov r15, r11
call fcn.14010c9f0
mov r11, r15
mov r9, rsi
mov r15, rax
mov rsi, rax
shr rsi, 0x20
cmp r15d, 5
je 0x1400f1cc2
jmp 0x1400f26ea
mov rcx, r14
mov r12, r9
mov qword [rsp + 0x50], r13
mov r13, r11
call fcn.14010d730
mov r10, qword [rsp + 0x88]
mov r11, r13
mov r13, qword [rsp + 0x50]
mov r9, r12
test eax, eax
jns 0x1400f2209
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
mov r8d, r15d
mov r15, r9
mov r9d, esi
mov rsi, r11
call fcn.14010c9f0
mov r10, qword [rsp + 0x88]
mov r11, rsi
mov r9, r15
mov r15, rax
mov rsi, rax
shr rsi, 0x20
cmp r15d, 5
je 0x1400f220b
jmp 0x1400f26ea
mov rsi, r11
mov ecx, eax
mov edx, r13d
call fcn.140101300
jmp 0x1400f2c20
mov rsi, r11
mov rcx, rbp
call fcn.1401012c0
mov qword [rsi + 8], rax
mov qword [rsi], 2
jmp 0x1400f3d4c
mov qword [rsp + 0x38], r11
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14010b500
test eax, eax
je 0x1400f3bcf
mov rcx, rbx
jmp 0x1400f2c8f
mov qword [rsp + 0x38], r11
inc eax
shl eax, 0x10
inc eax
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
mov r8d, eax
call fcn.14010b500
test eax, eax
je 0x1400f3c6e
mov rcx, r12
call fcn.1401012c0
mov r12, qword [rsp + 0x38]
jmp 0x1400f2cfb
mov r12, r11
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14010b500
test eax, eax
je 0x1400f3c95
mov rcx, rbx
jmp 0x1400f2cf6
mov r12, r11
inc eax
shl eax, 0x10
inc eax
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
mov r8d, eax
call fcn.14010b500
test eax, eax
je 0x1400f3cc7
mov rcx, r15
call fcn.1401012c0
mov qword [r12 + 8], rax
mov qword [r12], 2
jmp 0x1400f3d4c
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x4c]
mov r15, r9
mov r9d, eax
mov r12, r11
call fcn.14010c9f0
mov r11, r12
mov r9, r15
mov r13, rax
shr r13, 0x20
cmp eax, 5
jne 0x1400f1c60
jmp 0x1400f203b
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x4c]
mov r15, r9
mov r9d, eax
mov r12, r11
call fcn.14010c9f0
mov r11, r12
mov r9, r15
mov r13, rax
shr r13, 0x20
cmp eax, 5
jne 0x1400f1c60
jmp 0x1400f291b
movzx eax, byte [r14 + r13 + 0x90]
movzx r13d, al
mov rcx, r13
test r12d, r12d
mov r9, qword [rsp + 0x40]
je 0x1400f2df6
cmp r12d, 2
jne 0x1400f2df2
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x1400f332c
test al, 1
je 0x1400f332c
mov eax, r8d
mov rcx, qword [rsp + 0x90]
cmp qword [rcx + 0x168], rax
jbe 0x1400f3ed2
lea rax, [rax + rax*2]
lea rcx, [rax*2 + 0xc]
add rcx, r13
jmp 0x1400f2df6
lea rcx, [r13 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f3f07
mov r13d, eax
cmp qword [rdi], 1
jne 0x1400f2e3a
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
cmp rsi, rbx
jae 0x1400f32b4
lea rax, [r14 + 0x290]
mov qword [rsp + 0xd0], rax
movzx eax, byte [r14 + 0x81]
mov byte [rsp + 0xb8], al
jmp 0x1400f2e81
mov rsi, r12
inc rsi
cmp rsi, rbx
jae 0x1400f32b4
cmp r13d, 0x7ffffff
jbe 0x1400f2ee1
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], rsi
cmp rsi, r9
jae 0x1400f4159
movzx r8d, byte [r15 + rsi]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f2ff3
mov r13d, eax
mov r12, rsi
jmp 0x1400f3021
cmp rsi, rbx
jae 0x1400f2e75
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop
movzx ecx, byte [r15 + rsi]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, r13d
add r8, rcx
mov ecx, dword [rax + r8*4]
lea r12, [rsi + 3]
cmp r12, rbx
jae 0x1400f2fa1
cmp ecx, 0x8000000
jae 0x1400f2fa1
movzx r8d, byte [r15 + rsi + 1]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov r13d, dword [rax + r8*4]
cmp r13, 0x7ffffff
ja 0x1400f2f8f
movzx ecx, byte [r15 + rsi + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, r13
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1400f2f9d
movzx r8d, byte [r15 + rsi + 3]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov r13d, dword [rax + r8*4]
cmp r13d, 0x7ffffff
ja 0x1400f2fa9
add rsi, 4
cmp rsi, rbx
jb 0x1400f2ef0
jmp 0x1400f2e75
inc rsi
mov r8d, r13d
mov r13d, ecx
mov r12, rsi
jmp 0x1400f2faf
add rsi, 2
mov r8d, ecx
mov r12, rsi
jmp 0x1400f2faf
mov r8d, r13d
mov r13d, ecx
test r8d, r8d
js 0x1400f2fb9
mov r13d, r8d
jmp 0x1400f3021
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], r12
movzx r8d, byte [r15 + r12]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, r13d
add rcx, r10
cmp rcx, rdx
jae 0x1400f40d8
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f3289
mov r13d, eax
jmp 0x1400f3021
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.14010b500
test eax, eax
jne 0x1400f3fe9
mov r13d, edx
mov r12, rsi
mov r9, qword [rsp + 0x40]
cmp r13d, 0x7ffffff
jbe 0x1400f2e72
mov eax, r13d
test eax, 0x10000000
je 0x1400f3ab2
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0xf8]
mov rdx, qword [rsp + 0x88]
mov r8, r15
call qword [rsp + 0xa0]
test byte [rsp + 0xf8], 1
je 0x1400f3b22
mov rsi, qword [rsp + 0x100]
cmp rsi, r12
jbe 0x1400f3177
cmp dword [rsp + 0xc0], 0
mov r9, qword [rsp + 0x40]
je 0x1400f2e78
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x5c], eax
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x80], al
lea rcx, [rsp + 0x58]
mov rdx, rsi
mov r8, rbx
call fcn.1400f42c0
mov r10, qword [rsp + 0x70]
test r10, r10
je 0x1400f3184
lea rax, [r10 - 1]
cmp rax, qword [rsp + 0x68]
jae 0x1400f3184
mov rcx, qword [rsp + 0x60]
movzx r13d, byte [rcx + rax]
mov r11d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov r9, qword [rsp + 0xd0]
mov rax, qword [r9 + 8]
or rax, qword [r9 + 0x18]
mov rcx, qword [r9]
or rcx, qword [r9 + 0x10]
or rcx, rax
je 0x1400f316c
xor eax, eax
mov ecx, r13d
mov edx, 1
shld rax, rdx, cl
mov edx, r13d
shr edx, 3
mov r12d, r8d
mov r8d, 1
shl r8, cl
and edx, 0xfffffff0
test r13b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [r9 + rdx + 8]
and r8, qword [r9 + rdx]
or r8, rax
mov r8d, r12d
jne 0x1400f2198
movzx eax, byte [r14 + r13 + 0x90]
jmp 0x1400f3190
mov rsi, r12
mov r9, qword [rsp + 0x40]
jmp 0x1400f2e75
mov r11d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
movzx r12d, al
mov rcx, r12
test r11d, r11d
mov r9, qword [rsp + 0x40]
je 0x1400f31df
cmp r11d, 2
jne 0x1400f31da
mov r13d, r8d
test byte [rsp + 0xb8], 1
je 0x1400f31ff
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x168], r13
jbe 0x1400f320c
lea rax, [r13*2]
add rax, r13
lea rcx, [r12 + rax*2]
add rcx, 0xc
jmp 0x1400f31df
lea rcx, [r12 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f3243
mov r13d, eax
jmp 0x1400f2e78
mov rax, r13
shl rax, 0x20
or rax, 2
jmp 0x1400f3278
mov rcx, r14
mov r13, r10
mov dword [rsp + 0xd8], r11d
mov dword [rsp + 0xb0], r8d
call fcn.14010d730
mov r8d, dword [rsp + 0xb0]
mov r11d, dword [rsp + 0xd8]
mov r10, r13
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x1400f31f7
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], rdi
lea rcx, [rsp + 0xe0]
mov edx, r11d
mov r9d, r12d
mov r12, r10
call fcn.14010c9f0
mov r10, r12
mov r9, qword [rsp + 0x40]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x1400f2e78
jmp 0x1400f3346
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.14010b500
test eax, eax
jne 0x1400f40d0
mov r13d, edx
jmp 0x1400f301c
cmp rbx, r9
jae 0x1400f32f9
movzx esi, byte [r15 + rbx]
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
mov r9d, esi
call fcn.1400f44c0
test eax, eax
jne 0x1400f393b
mov r8d, edx
mov eax, edx
test eax, 0x8000000
jne 0x1400f3b5d
test eax, 0x20000000
jne 0x1400f3a33
xor ecx, ecx
jmp 0x1400f3b9a
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.1400f4440
test eax, eax
jne 0x1400f3959
mov r8d, edx
xor eax, eax
test edx, 0x8000000
mov r10, qword [rsp + 0x40]
jne 0x1400f3b7f
xor ecx, ecx
jmp 0x1400f3b9a
mov r13d, r8d
mov rax, r13
shl rax, 0x20
or rax, 2
mov eax, eax
cmp rax, 5
je 0x1400f2e15
shl r13, 0x20
or r13, rax
mov rcx, r10
jmp 0x1400f39de
movzx eax, byte [r14 + r13 + 0x90]
movzx r13d, al
mov rcx, r13
test ebp, ebp
mov r9, qword [rsp + 0x40]
je 0x1400f33b8
cmp ebp, 2
jne 0x1400f33b4
movzx eax, byte [r14 + 0x81]
cmp al, 2
je 0x1400f39ba
test al, 1
je 0x1400f39ba
mov eax, r8d
mov rcx, qword [rsp + 0x90]
cmp qword [rcx + 0x168], rax
jbe 0x1400f3f4d
lea rax, [rax + rax*2]
lea rcx, [rax*2 + 0xc]
add rcx, r13
jmp 0x1400f33b8
lea rcx, [r13 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f3f72
mov r13d, eax
cmp qword [rdi], 1
jne 0x1400f33fc
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
cmp r15, rbx
jae 0x1400f390c
lea rbp, [r14 + 0x290]
lea rax, [rbx + 1]
mov qword [rsp + 0xa8], rax
movzx eax, byte [r14 + 0x81]
mov byte [rsp + 0xd0], al
mov eax, dword [rsp + 0x4c]
mov rcx, rax
shl rcx, 0x20
or rcx, 2
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xb8], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0xb0], 0
jmp 0x1400f3486
mov r15, rsi
inc r15
cmp r15, rbx
jae 0x1400f3918
mov rsi, r15
jmp 0x1400f34cb
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r8d
mov r8d, dword [rsp + 0x4c]
mov r9d, r15d
call fcn.14010c9f0
mov r9, qword [rsp + 0x40]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
jne 0x1400f3e55
cmp rsi, rbx
jae 0x1400f3918
cmp r13d, 0x7ffffff
jbe 0x1400f3538
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], rsi
cmp rsi, r9
jae 0x1400f4159
movzx r8d, byte [r12 + rsi]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f3822
mov r13d, eax
mov r15, rsi
cmp r13d, 0x7ffffff
ja 0x1400f366d
jmp 0x1400f347a
cmp rsi, rbx
jae 0x1400f3477
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop dword [rax]
movzx ecx, byte [r12 + rsi]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, r13d
add r8, rcx
mov ecx, dword [rax + r8*4]
lea r15, [rsi + 3]
cmp r15, rbx
jae 0x1400f3652
cmp ecx, 0x8000000
jae 0x1400f3652
movzx r8d, byte [r12 + rsi + 1]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov r13d, dword [rax + r8*4]
cmp r13, 0x7ffffff
ja 0x1400f35f7
movzx ecx, byte [r12 + rsi + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, r13
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1400f364e
movzx r8d, byte [r12 + rsi + 3]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov r13d, dword [rax + r8*4]
cmp r13d, 0x7ffffff
ja 0x1400f37f3
add rsi, 4
cmp rsi, rbx
jb 0x1400f3550
jmp 0x1400f3477
inc rsi
mov r8d, r13d
mov r13d, ecx
mov r15, rsi
test r8d, r8d
jns 0x1400f365d
test byte [rdi], 1
je 0x1400f40e4
mov qword [rdi + 0x10], r15
movzx r8d, byte [r12 + r15]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, r13d
add rcx, r10
cmp rcx, rdx
jae 0x1400f40d8
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f384d
mov r13d, eax
cmp r13d, 0x7ffffff
ja 0x1400f366d
jmp 0x1400f347a
add rsi, 2
mov r8d, ecx
mov r15, rsi
test r8d, r8d
js 0x1400f3608
mov r13d, r8d
cmp r13d, 0x7ffffff
jbe 0x1400f347a
mov eax, r13d
test eax, 0x10000000
je 0x1400f388a
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0xe0]
mov rdx, qword [rsp + 0xc0]
mov r8, r12
call qword [rsp + 0x88]
test byte [rsp + 0xe0], 1
je 0x1400f3963
mov rsi, qword [rsp + 0xe8]
cmp rsi, r15
jbe 0x1400f38cc
cmp dword [rsp + 0xa0], 0
mov r9, qword [rsp + 0x40]
je 0x1400f34c2
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], rbx
cmp qword [rsp + 0xa8], rsi
jb 0x1400f419c
cmp r9, rbx
jb 0x1400f419c
lea rcx, [rsi - 1]
mov al, 2
cmp rcx, r9
jae 0x1400f376a
movzx r13d, byte [r12 + rcx]
mov rax, qword [rbp + 8]
or rax, qword [rbp + 0x18]
mov rcx, qword [rbp]
or rcx, qword [rbp + 0x10]
or rcx, rax
je 0x1400f3761
xor eax, eax
mov ecx, r13d
mov edx, 1
shld rax, rdx, cl
mov edx, r13d
shr edx, 3
mov r8d, 1
shl r8, cl
and edx, 0xfffffff0
test r13b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [rbp + rdx + 8]
and r8, qword [rbp + rdx]
or r8, rax
jne 0x1400f3e50
movzx eax, byte [r14 + r13 + 0x90]
movzx r15d, al
mov rcx, r15
mov r8, qword [rsp + 0x50]
test r8d, r8d
je 0x1400f37cf
cmp r8d, 2
jne 0x1400f37cb
mov r13, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd8]
test byte [rsp + 0xd0], 1
je 0x1400f34b6
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xb8]
cmp qword [rax + 0x168], rcx
jbe 0x1400f3807
mov rax, qword [rsp + 0x118]
lea rcx, [rax + r15]
mov r8, qword [rsp + 0x50]
jmp 0x1400f37cf
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400f40d8
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400f348b
mov r13d, eax
jmp 0x1400f34c2
mov r8d, r13d
mov r13d, ecx
test r8d, r8d
jns 0x1400f365d
jmp 0x1400f3608
mov rcx, r14
call fcn.14010d730
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
test eax, eax
jns 0x1400f37eb
jmp 0x1400f348b
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.14010b500
test eax, eax
jne 0x1400f3fe9
mov r13d, edx
mov r15, rsi
jmp 0x1400f3873
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.14010b500
test eax, eax
jne 0x1400f40c8
mov r13d, edx
mov r9, qword [rsp + 0x40]
cmp r13d, 0x7ffffff
ja 0x1400f366d
jmp 0x1400f347a
test eax, 0x8000000
je 0x1400f4013
mov eax, 1
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x9c], 0
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x168], 1
jne 0x1400f38d6
mov qword [rsp + 0xc8], r15
jmp 0x1400f347a
mov r9, qword [rsp + 0x40]
jmp 0x1400f347a
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov r9, qword [rsp + 0x40]
mov dword [rsp + 0x9c], eax
mov qword [rsp + 0xc8], r15
jmp 0x1400f347a
mov qword [rsp + 0xb0], 0
cmp rbx, r9
jae 0x1400f3943
movzx esi, byte [r12 + rbx]
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
mov r9d, esi
call fcn.1400f44c0
test eax, eax
je 0x1400f39fc
mov rcx, rbx
jmp 0x1400f3a98
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.1400f4440
test eax, eax
je 0x1400f3a3f
mov rcx, qword [rsp + 0x40]
jmp 0x1400f3a98
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
mov rdx, qword [rsp + 0x38]
je 0x1400f4141
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov rax, qword [rsp + 0xb0]
mov qword [rdx], rax
mov rax, qword [rsp + 0xc8]
mov qword [rdx + 8], rax
mov eax, dword [rsp + 0x9c]
mov dword [rdx + 0x10], eax
jmp 0x1400f3d4c
mov r13d, r8d
mov rax, r13
shl rax, 0x20
or rax, 2
mov eax, eax
cmp rax, 5
je 0x1400f33d7
shl r13, 0x20
or r13, rax
mov rcx, rsi
mov rdx, r13
call fcn.1400f4370
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x1400f3d4c
mov r8d, edx
mov eax, edx
test eax, 0x8000000
jne 0x1400f3ba4
test eax, 0x20000000
mov rdx, qword [rsp + 0x38]
mov r9, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x9c]
mov r10, qword [rsp + 0xc8]
je 0x1400f3e97
mov ecx, esi
mov rdx, rbx
call fcn.140101270
jmp 0x1400f3a9d
mov r8d, edx
test edx, 0x8000000
mov rdx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov r9, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x9c]
mov r10, qword [rsp + 0xc8]
je 0x1400f3e97
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x168], 1
jne 0x1400f3e6f
mov r9d, 1
xor eax, eax
mov r10, rsi
jmp 0x1400f3e97
mov rcx, rbp
call fcn.1401012c0
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x1400f3d4c
test eax, 0x8000000
jne 0x1400f3d60
test eax, 0x40000000
mov rdx, qword [rsp + 0x38]
jne 0x1400f3fb1
test eax, 0x20000000
je 0x1400f423f
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r12, r9
jae 0x1400f4298
movzx ecx, byte [r15 + r12]
mov rdx, r12
call fcn.140101270
jmp 0x1400f3a9d
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
mov rdx, qword [rsp + 0x38]
je 0x1400f4141
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
xor eax, eax
mov qword [rdx], rax
jmp 0x1400f3d4c
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x168], 1
jne 0x1400f3dd9
mov ecx, 1
xor eax, eax
mov r10, rbx
jmp 0x1400f3b9a
mov ecx, 1
mov rdx, qword [rsp + 0x90]
cmp qword [rdx + 0x168], 1
jne 0x1400f3dde
mov r9, qword [rsp + 0x38]
jmp 0x1400f3e07
mov rax, qword [rsp + 0x90]
cmp qword [rax + 0x168], 1
mov rdx, qword [rsp + 0x38]
jne 0x1400f3e6c
mov r9d, 1
xor eax, eax
mov r10, rbx
jmp 0x1400f3e97
mov r8d, edx
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x88]
mov eax, r8d
test eax, 0x8000000
je 0x1400f25ee
cmp qword [r10 + 0x168], 1
mov r12, rbx
jne 0x1400f3c07
xor ebp, ebp
mov r13d, 1
mov rdx, rbx
jmp 0x1400f3c32
mov rcx, r14
mov rdx, rdi
mov rsi, r11
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov r11, rsi
mov ebp, eax
mov r13d, 1
mov rdx, r12
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov qword [r11], r13
mov qword [r11 + 8], rdx
mov dword [r11 + 0x10], ebp
jmp 0x1400f3d4c
mov r8d, edx
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x88]
test r8d, 0x8000000
mov rdx, qword [rsp + 0xa0]
jne 0x1400f26bd
jmp 0x1400f3c32
mov r8d, edx
mov r11, r12
mov eax, r8d
test eax, 0x8000000
je 0x1400f1fa9
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x168], 1
mov r15, rbx
jne 0x1400f3cf0
xor eax, eax
mov ecx, 1
mov r15, rbx
jmp 0x1400f3d15
mov r8d, edx
mov r11, r12
xor eax, eax
test r8d, 0x8000000
je 0x1400f2004
mov ecx, 1
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + 0x168], 1
je 0x1400f3d15
mov rcx, r14
mov rdx, rdi
mov rsi, r11
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov r11, rsi
mov ecx, 1
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov r8, rbx
sub r8, rdx
neg r8
sub rbx, rdx
cmovb rbx, r8
add qword [rdi + 0x158], rbx
mov qword [r11], rcx
mov qword [r11 + 8], r15
mov dword [r11 + 0x10], eax
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov rcx, qword [rsp + 0x90]
cmp qword [rcx + 0x168], 1
je 0x1400f3d91
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
mov r9, qword [rsp + 0x38]
je 0x1400f4141
mov rdx, r12
sub rdx, rcx
neg rdx
mov r8, r12
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov qword [r9], 1
mov qword [r9 + 8], r12
mov dword [r9 + 0x10], eax
jmp 0x1400f3d4c
mov qword [rsp + 0x40], rbx
mov rcx, r14
mov rdx, rdi
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov ecx, 1
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
lea r8, [rdi + 8]
cmp qword [rdi], 0
mov rdx, qword [rdi + 8]
mov qword [rdi], 0
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [r8], xmm0
je 0x1400f4141
mov r8, rbx
sub r8, rdx
neg r8
sub rbx, rdx
cmovb rbx, r8
add qword [rdi + 0x158], rbx
mov qword [r9], rcx
mov qword [r9 + 8], r10
mov dword [r9 + 0x10], eax
jmp 0x1400f3d4c
mov eax, 4
shl r13, 0x20
or r13, rax
mov rcx, rsi
mov rdx, r13
call fcn.1400f4370
jmp 0x1400f3a9d
mov rsi, rbx
mov rcx, r14
mov rdx, rdi
call fcn.14010d6e0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.1400da720
mov r9d, 1
mov r10, rsi
mov rdx, qword [rsp + 0x38]
mov r8, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, rbx
sub rcx, r8
neg rcx
sub rbx, r8
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov qword [rdx], r9
mov qword [rdx + 8], r10
mov dword [rdx + 0x10], eax
jmp 0x1400f3d4c
mov rcx, r14
mov qword [rsp + 0xb8], r10
mov dword [rsp + 0xd0], r8d
call fcn.14010d730
mov r8d, dword [rsp + 0xd0]
mov r10, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x1400f2e12
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], rdi
lea rcx, [rsp + 0xe0]
mov edx, r12d
mov r9d, r13d
mov r12, r10
call fcn.14010c9f0
mov r10, r12
mov r9, qword [rsp + 0x40]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x1400f2e15
jmp 0x1400f3346
mov rcx, r14
mov dword [rsp + 0xa8], r8d
call fcn.14010d730
mov r8d, dword [rsp + 0xa8]
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x1400f33d4
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], rdi
lea rcx, [rsp + 0xe0]
mov edx, ebp
mov r9d, r13d
call fcn.14010c9f0
mov r9, qword [rsp + 0x40]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x1400f33d7
jmp 0x1400f39d4
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r12
sub rcx, rax
neg rcx
sub r12, rax
cmovb r12, rcx
add qword [rdi + 0x158], r12
mov qword [rdx], 0
jmp 0x1400f3d4c
mov rcx, rsi
jmp 0x1400f3a98
mov rcx, r12
jmp 0x1400f3ff9
mov rcx, r13
call fcn.1401012c0
mov r15, qword [rsp + 0x38]
mov qword [r15 + 8], rax
mov qword [r15], 2
jmp 0x1400f3d4c
test eax, 0x40000000
jne 0x1400f4071
test eax, 0x20000000
je 0x1400f423f
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r15
sub rcx, rax
neg rcx
mov rdx, r15
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r15, qword [rsp + 0x40]
jae 0x1400f42aa
movzx ecx, byte [r12 + r15]
mov rdx, r15
call fcn.140101270
jmp 0x1400f3a9d
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x1400f4141
mov rcx, r15
sub rcx, rax
neg rcx
sub r15, rax
cmovb r15, rcx
add qword [rdi + 0x158], r15
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x9c]
mov dword [rax + 0x10], ecx
jmp 0x1400f3d4c
mov rcx, r15
jmp 0x1400f3a98
mov rcx, r12
jmp 0x1400f3a98
lea r8, str._redacted_
call fcn.140056860
lea rcx, [0x14027d14f]
lea r8, str._redacted_
mov edx, 0x1f
call fcn.14005c6e0
lea r8, str._redacted_
mov rcx, rbp
mov rdx, qword [rsp + 0x50]
call fcn.140056860
lea r8, str._redacted_
mov rcx, rbp
mov rdx, r15
call fcn.140056860
lea r8, str._redacted_
mov rcx, rax
call fcn.140056860
lea r8, str._redacted_
xor ecx, ecx
xor edx, edx
call fcn.140056860
lea rcx, str.no_in_progress_search_to_finishno_in_progress_search_to_updateinternal_error:_entered_unreachable_code:_sid_being_unknown_is_a_bug
lea r8, str._redacted_
mov edx, 0x1f
call fcn.14005c6e0
lea r8, str._redacted_
mov rcx, rsi
mov rdx, r9
call fcn.140056860
lea r8, str._redacted_
mov ecx, 4
call fcn.140057200
lea r8, str._redacted_
mov ecx, 0xd
call fcn.1400567f0
mov ecx, 8
mov edx, 0x10
call fcn.140033f80
mov qword [rsp + 0x120], r9
lea rax, [rsp + 0x128]
mov qword [rsp + 0xf8], rax
lea rax, [0x140026510]
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x108], rax
lea rax, [fcn.1400568d0]
mov qword [rsp + 0x110], rax
lea rax, str.invalid_span__for_haystack_of_length
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 2
mov qword [rsp + 0x78], 0
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 2
lea rdx, str._redacted_
lea rcx, [rsp + 0x58]
call fcn.1400567b0
lea rcx, [0x14027d0c8]
lea r8, str._redacted_
mov edx, 0x24
call fcn.14005c6e0
lea rax, [0x14027d1b8]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rax, [rsp + 0x48]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
lea rdx, str._redacted_
lea rcx, [rsp + 0x58]
call fcn.1400567b0
lea r8, str._redacted_
mov rcx, r12
call fcn.140056860
lea r8, str._redacted_
mov rcx, r13
mov rdx, r15
call fcn.140056860
lea r8, str._redacted_
mov rcx, r12
mov rdx, r9
call fcn.140056860
lea r8, str._redacted_
mov rcx, r15
mov rdx, qword [rsp + 0x40]
call fcn.140056860
int3