Function at 0x140086fc0
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 r13, qword [r9 + 0x18]
mov rbx, qword [r9 + 0x20]
cmp r13, rbx
jbe 0x140086fec
mov qword [rcx], 0
jmp 0x14008970b
mov r12, r9
mov rdi, r8
mov r14, rdx
mov qword [rsp + 0x30], rcx
mov r10d, dword [r9]
mov rax, r10
dec rax
cmp rax, 2
jb 0x140087028
lea rax, [r14 + 0x58]
cmp byte [r14 + 0x70], 3
lea r15, [0x1402a76c8]
cmovne r15, rax
cmp byte [r15 + 0x18], 2
jne 0x1400871cd
cmp byte [r12 + 0x28], 0
je 0x140087117
mov rax, qword [r14 + 0x180]
mov qword [rsp + 0x40], rax
test r13, r13
je 0x1400870f0
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x1400870f0
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x1400870f0
movzx eax, byte [rcx + rax]
movzx ebp, al
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14008740a
lea rax, [r14 + 0x290]
mov edx, ebp
shr edx, 7
shl rdx, 4
mov r11d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r11, cl
shl r11, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r11
cmovne r11, rcx
and r9, qword [rax + rdx + 8]
and r11, qword [rax + rdx]
or r11, r9
je 0x14008740a
mov esi, 4
jmp 0x14008744d
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
movzx ecx, r15b
test r10d, r10d
jne 0x14008741c
jmp 0x14008742a
mov r11, qword [r14 + 0x180]
test r13, r13
je 0x1400872e2
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x1400872e2
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x1400872e2
movzx eax, byte [rcx + rax]
movzx ebp, al
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400877f7
lea rax, [r14 + 0x290]
mov edx, ebp
shr edx, 7
shl rdx, 4
mov esi, 1
xor r9d, r9d
mov ecx, ebp
shld r9, rsi, cl
shl rsi, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, rsi
cmovne rsi, rcx
and r9, qword [rax + rdx + 8]
and rsi, qword [rax + rdx]
or rsi, r9
je 0x1400877f7
mov esi, 4
jmp 0x140087840
cmp byte [r12 + 0x28], 0
je 0x140087337
mov rax, qword [r14 + 0x180]
mov qword [rsp + 0xc0], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xa8], eax
test r13, r13
je 0x140087309
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x140087309
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x140087309
movzx eax, byte [rcx + rax]
movzx ebp, al
mov eax, dword [r12 + 4]
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x140087eb7
lea rax, [r14 + 0x290]
mov edx, ebp
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x140087eb7
mov ecx, 4
cmp ecx, 5
je 0x140087f39
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140089511
cmp eax, 1
jne 0x14008807e
test r13, r13
je 0x140089931
dec r13
mov ecx, ebp
jmp 0x140088326
mov r8d, dword [r12 + 4]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r9b, 2
movzx ecx, r9b
test r10d, r10d
jne 0x140087809
jmp 0x140087817
mov eax, dword [r12 + 4]
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov sil, 2
movzx eax, sil
test r10d, r10d
jne 0x140087ec9
jmp 0x140087f0d
mov rax, qword [r14 + 0x180]
mov qword [rsp + 0xb8], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xa8], eax
test r13, r13
je 0x1400877c9
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x1400877c9
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x1400877c9
movzx eax, byte [rcx + rax]
movzx esi, al
mov eax, dword [r12 + 4]
mov dword [rsp + 0xa0], eax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14008815e
lea rax, [r14 + 0x290]
mov edx, esi
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x14008815e
mov ecx, 4
jmp 0x1400881a1
movzx r15d, byte [r14 + rbp + 0x80]
movzx ecx, r15b
test r10d, r10d
je 0x14008742a
cmp r10d, 1
jne 0x1400876cb
add rcx, 6
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140087d04
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140087e8e
mov ebp, eax
mov esi, 5
cmp esi, 5
jne 0x140087c13
cmp qword [rdi], 1
jne 0x14008747b
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], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x140087712
mov rsi, qword [r12 + 8]
mov r11, qword [r12 + 0x10]
jmp 0x1400874b1
mov ebp, edx
mov r13, r15
inc r13
cmp r13, rbx
jae 0x140087717
cmp ebp, 0x7ffffff
jbe 0x140087530
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r13
cmp r13, r11
jae 0x1400897a0
movzx r8d, byte [rsi + r13]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140087691
mov r15, r13
cmp edx, 0x8000000
jb 0x1400874a0
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x1400874a0
jmp 0x140087df2
cmp r13, rbx
jae 0x1400874a5
mov r10, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [rsi + r13]
movzx ecx, byte [r14 + rcx + 0x190]
mov edx, ebp
add rdx, rcx
mov edx, dword [r10 + rdx*4]
lea r15, [r13 + 3]
cmp r15, rbx
jae 0x1400875e6
cmp edx, 0x8000000
jae 0x1400875e6
movzx ecx, byte [rsi + r13 + 1]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rdx
mov ecx, dword [r10 + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1400875f6
movzx edx, byte [rsi + r13 + 2]
movzx edx, byte [r14 + rdx + 0x190]
add rdx, rcx
mov edx, dword [r10 + rdx*4]
cmp rdx, 0x7ffffff
ja 0x14008760b
movzx ecx, byte [rsi + r13 + 3]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rdx
mov ebp, dword [r10 + rcx*4]
cmp ebp, 0x7ffffff
ja 0x14008761f
add r13, 4
cmp r13, rbx
jb 0x140087550
jmp 0x1400874a5
mov r9d, ebp
mov r15, r13
test edx, edx
jns 0x140087508
jmp 0x14008762c
inc r13
mov r9d, edx
mov r15, r13
mov edx, ecx
test edx, edx
jns 0x140087508
jmp 0x14008762c
add r13, 2
mov r9d, ecx
mov r15, r13
test edx, edx
jns 0x140087508
jmp 0x14008762c
mov r9d, edx
mov edx, ebp
test edx, edx
jns 0x140087508
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r15
movzx r8d, byte [rsi + r15]
movzx edx, byte [r14 + r8 + 0x190]
mov ecx, r9d
add rcx, rdx
cmp rcx, rax
jae 0x1400898a2
mov edx, dword [r10 + rcx*4]
test edx, edx
jns 0x140087508
mov r13, r11
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r9d
call fcn.14026fe30
test eax, eax
jne 0x1400897fa
mov r11, r13
jmp 0x140087508
mov qword [rsp + 0xa8], r11
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
jne 0x140089511
mov r15, r13
mov r11, qword [rsp + 0xa8]
jmp 0x140087508
test byte [r14 + 0x79], 1
mov ebp, r8d
mov esi, 2
je 0x14008744d
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x38], rbp
jbe 0x140087e70
lea rax, [rbp*2]
add rax, rbp
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x140087437
jmp 0x140087d04
mov r11, qword [r12 + 0x10]
cmp rbx, r11
jae 0x140087774
mov rax, qword [r12 + 8]
movzx esi, byte [rax + rbx]
movzx eax, byte [r14 + rsi + 0x190]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140088be2
mov eax, edx
test eax, 0x8000000
jne 0x140087e37
test eax, 0x20000000
jne 0x140087d6e
xor esi, esi
jmp 0x14008957a
movzx r8d, byte [r14 + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
jbe 0x140089896
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140088c08
xor eax, eax
test edx, 0x8000000
jne 0x14008953f
xor esi, esi
jmp 0x14008957a
mov eax, dword [r12 + 4]
mov dword [rsp + 0xa0], eax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov bpl, 2
movzx eax, bpl
test r10d, r10d
jne 0x140088170
jmp 0x14008817e
movzx r9d, byte [r14 + rbp + 0x80]
movzx ecx, r9b
test r10d, r10d
je 0x140087817
cmp r10d, 1
jne 0x140087cbd
add rcx, 6
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140087d04
mov r15, r11
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140088138
mov ebp, eax
mov esi, 5
mov r11, r15
cmp esi, 5
jne 0x140087c13
cmp qword [rdi], 1
jne 0x14008786e
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], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x140087d10
mov r15, qword [r12 + 8]
mov r9, qword [r12 + 0x10]
mov rax, qword [r14 + 0x188]
and eax, 0x3f
mov qword [rsp + 0xc0], rax
xor r10d, r10d
mov qword [rsp + 0x98], r9
jmp 0x1400878c7
mov qword [rsp + 0xa8], rsi
inc rsi
mov r13, rsi
cmp rsi, rbx
jae 0x140087d78
cmp ebp, 0x7ffffff
jbe 0x140087930
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r13
cmp r13, r9
jae 0x140089802
movzx r8d, byte [r15 + r13]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140087ac2
mov rsi, r13
mov ebp, eax
cmp ebp, 0x8000000
jae 0x140087b20
jmp 0x1400878b8
cmp r13, rbx
jae 0x140087a10
mov r9, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx eax, byte [r15 + r13]
movzx eax, byte [r14 + rax + 0x190]
mov ecx, ebp
add rcx, rax
mov ecx, dword [r9 + rcx*4]
lea rsi, [r13 + 3]
cmp rsi, rbx
jae 0x140087a18
cmp ecx, 0x8000000
jae 0x140087a18
movzx eax, byte [r15 + r13 + 1]
movzx eax, byte [r14 + rax + 0x190]
add rax, rcx
mov r8d, dword [r9 + rax*4]
cmp r8, 0x7ffffff
ja 0x140087a3c
movzx eax, byte [r15 + r13 + 2]
movzx eax, byte [r14 + rax + 0x190]
add rax, r8
mov ecx, dword [r9 + rax*4]
cmp rcx, 0x7ffffff
ja 0x140087aa0
movzx eax, byte [r15 + r13 + 3]
movzx eax, byte [r14 + rax + 0x190]
add rax, rcx
mov ebp, dword [r9 + rax*4]
cmp ebp, 0x7ffffff
ja 0x140087ab4
add r13, 4
cmp r13, rbx
jb 0x140087950
mov rsi, r13
mov r9, qword [rsp + 0x98]
jmp 0x1400878b8
mov rsi, r13
jmp 0x1400878b8
mov eax, ebp
mov rsi, r13
test ecx, ecx
js 0x140087a4b
mov ebp, ecx
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jae 0x140087b20
jmp 0x1400878b8
inc r13
mov eax, ecx
mov rsi, r13
mov ecx, r8d
test ecx, ecx
jns 0x140087a21
cmp qword [rdi], 0
je 0x1400898e0
mov r13, r10
mov qword [rdi + 0x10], rsi
movzx r8d, byte [r15 + rsi]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, eax
add rcx, r10
cmp rcx, rdx
jae 0x140089739
mov ebp, dword [r9 + rcx*4]
test ebp, ebp
js 0x140087bc3
mov r10, r13
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jae 0x140087b20
jmp 0x1400878b8
add r13, 2
mov eax, r8d
mov rsi, r13
test ecx, ecx
jns 0x140087a21
jmp 0x140087a4b
mov eax, ecx
mov ecx, ebp
test ecx, ecx
jns 0x140087a21
jmp 0x140087a4b
mov qword [rsp + 0xb8], r10
mov qword [rsp + 0xa0], r11
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
jne 0x140089511
mov ebp, edx
mov rsi, r13
mov r11, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jb 0x1400878b8
nop dword [rax]
mov eax, ebp
mov ecx, eax
and ecx, 0x10000000
jne 0x1400878b8
test eax, 0x8000000
je 0x140088389
mov r10d, 1
mov dword [rsp + 0x40], 0
cmp qword [r11 + 0x38], 1
je 0x1400878b0
mov eax, ebp
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr rax, cl
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jae 0x14008981d
mov rcx, qword [rdi + 0x50]
shl rax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x14008982c
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
je 0x1400878b0
cmp rdx, 0xd
jb 0x1400899ce
add rdx, 0xfffffffffffffff3
cmp rdx, 3
jbe 0x1400899df
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0xa8], rsi
jmp 0x1400878b8
mov qword [rsp + 0xa0], r11
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, eax
call fcn.14026fe30
test eax, eax
jne 0x140088c29
mov ebp, edx
mov r11, qword [rsp + 0xa0]
mov r10, r13
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jae 0x140087b20
jmp 0x1400878b8
lea ecx, [rsi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140087c65
cmp eax, 1
jne 0x140087c90
test r13, r13
je 0x140089931
movzx eax, byte [0x14031b901]
mov ecx, 0x10
mov edx, 8
call fcn.1400016f0
test rax, rax
je 0x14008990a
dec r13
mov byte [rax], 0
mov byte [rax + 1], bpl
mov qword [rax + 8], r13
jmp 0x140089519
movzx eax, byte [0x14031b901]
mov ecx, 0x10
mov edx, 8
call fcn.1400016f0
test rax, rax
je 0x14008990a
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x140089519
movzx eax, byte [0x14031b901]
mov ecx, 0x10
mov edx, 8
call fcn.1400016f0
test rax, rax
je 0x14008990a
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], ebp
jmp 0x140089519
test byte [r14 + 0x79], 1
mov dword [rsp + 0x40], r8d
mov ebp, r8d
mov esi, 2
je 0x140087840
cmp qword [r11 + 0x38], rbp
jbe 0x140088112
lea rax, [rbp*2]
add rax, rbp
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x140087824
lea r8, str._u_
call fcn.140273a00
mov r9, qword [r12 + 0x10]
xor r10d, r10d
cmp rbx, r9
jae 0x140087d85
mov rax, qword [r12 + 8]
movzx esi, byte [rax + rbx]
movzx eax, byte [r14 + rsi + 0x190]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140088c38
mov eax, edx
test eax, 0x8000000
jne 0x14008968a
test eax, 0x20000000
je 0x1400896cc
mov ecx, esi
mov rdx, rbx
jmp 0x140088329
mov r13, qword [rsp + 0xa8]
cmp rbx, r9
jb 0x140087d1d
movzx r8d, byte [r14 + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
jbe 0x140089896
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140088c6b
test edx, 0x8000000
je 0x1400896cc
mov r10d, 1
cmp qword [r11 + 0x38], 1
jne 0x1400883cf
mov dword [rsp + 0x40], 0
mov r13, r9
jmp 0x1400896cc
test eax, 0x8000000
jne 0x14008808a
test eax, 0x40000000
jne 0x140088417
test eax, 0x20000000
je 0x140089a07
mov rcx, rdi
mov rdi, r11
mov rdx, r15
call fcn.140086f70
cmp r15, rdi
jae 0x1400898bc
movzx ecx, byte [rsi + r15]
mov rdx, r15
jmp 0x140088329
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x38], 1
je 0x140087e68
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov r11, rbx
jmp 0x14008957a
lea rcx, [rsp + 0x78]
mov rsi, r10
mov ebp, r8d
call fcn.1400ca790
mov r8d, ebp
mov r10, rsi
test eax, eax
jns 0x140087446
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
mov r9d, r15d
call fcn.140270ae0
mov rsi, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x14008744d
movzx esi, byte [r14 + rbp + 0x80]
movzx eax, sil
test r10d, r10d
je 0x140087f0d
cmp r10d, 1
jne 0x140087ed5
add rax, 6
jmp 0x140087f0d
test byte [r14 + 0x79], 1
mov ebp, dword [rsp + 0x98]
mov ecx, 2
je 0x140087f30
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], rbp
jbe 0x14008842c
lea rcx, [rbp*2]
add rcx, rbp
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089887
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140088444
mov ebp, eax
mov ecx, 5
cmp ecx, 5
jne 0x1400872b0
mov qword [rsp + 0x40], r10
mov rsi, qword [r12 + 8]
mov rdx, qword [r12 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov r15, rdx
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], r13
lea rcx, [rsp + 0x118]
mov qword [rsp + 0xb8], rdx
mov r8, rsi
mov r9, r15
mov qword [rsp + 0xa0], r10
call r10
cmp qword [rsp + 0x118], 0
je 0x140088333
mov r13, qword [rsp + 0x120]
cmp dword [rsp + 0xa8], 0
mov r10, qword [rsp + 0x40]
je 0x14008854c
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x140089949
lea rax, [rbx + 1]
cmp rax, r13
jb 0x140089949
test r13, r13
je 0x1400880fa
lea rax, [r13 - 1]
cmp r15, rax
jbe 0x1400880fa
movzx eax, byte [rsi + rax]
movzx ebp, al
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400884fa
lea rax, [r14 + 0x290]
mov edx, ebp
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x1400884fa
mov ecx, 4
jmp 0x140088543
mov edx, ebp
call fcn.140092210
jmp 0x140089519
xor eax, eax
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x38], 1
je 0x1400880b6
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140089919
mov rdx, r15
sub rdx, rcx
neg rdx
mov r8, r15
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 1
mov qword [rcx + 8], r15
jmp 0x140089708
mov r12, r15
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x140088506
mov r15, r11
lea rcx, [rsp + 0x78]
mov rsi, r10
mov ebp, r9d
call fcn.1400ca790
mov r9d, ebp
mov r10, rsi
mov r8d, dword [rsp + 0x40]
test eax, eax
jns 0x140087836
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
call fcn.140270ae0
mov rsi, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x14008783d
movzx ebp, byte [r14 + rsi + 0x80]
movzx eax, bpl
test r10d, r10d
je 0x14008817e
cmp r10d, 1
jne 0x140088342
add rax, 6
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089887
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400884c3
mov esi, eax
mov ecx, 5
cmp ecx, 5
jne 0x1400882f9
mov qword [rsp + 0x40], r10
mov rbp, qword [r12 + 8]
mov rdx, qword [r12 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov r15, rdx
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], r13
lea rcx, [rsp + 0x118]
mov qword [rsp + 0xc0], rdx
mov r8, rbp
mov r9, r15
mov qword [rsp + 0x98], r10
call r10
cmp qword [rsp + 0x118], 0
je 0x140088333
mov r12, qword [rsp + 0x120]
cmp dword [rsp + 0xa8], 0
mov r10, qword [rsp + 0x40]
mov qword [rsp + 0xd0], r15
je 0x140088d1d
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x140089949
lea rax, [rbx + 1]
cmp rax, r12
jb 0x140089949
test r12, r12
je 0x140088402
lea rax, [r12 - 1]
cmp r15, rax
jbe 0x140088402
movzx eax, byte [rbp + rax]
movzx esi, al
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x140088c9a
lea rax, [r14 + 0x290]
mov edx, esi
shr edx, 7
shl rdx, 4
mov r8d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x140088c9a
mov ecx, 4
jmp 0x140088d14
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140089511
cmp eax, 1
jne 0x1400883c3
test r13, r13
je 0x140089931
dec r13
mov ecx, esi
mov rdx, r13
call fcn.140092180
jmp 0x140089519
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x14008970b
test byte [r14 + 0x79], 1
mov esi, dword [rsp + 0xa0]
mov ecx, 2
je 0x1400881a1
mov rcx, qword [rsp + 0xb8]
cmp qword [rcx + 0x38], rsi
jbe 0x1400884ab
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jb 0x14008818b
jmp 0x140089887
test eax, 0x40000000
jne 0x140088484
test eax, 0x20000000
je 0x140089a07
mov rbx, r9
mov rcx, rdi
mov rdx, rsi
call fcn.140086f70
cmp rsi, rbx
jae 0x1400898ce
movzx ecx, byte [r15 + rsi]
mov rdx, rsi
jmp 0x140088329
mov edx, esi
call fcn.140092210
jmp 0x140089519
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov rsi, r9
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov r10d, 1
mov dword [rsp + 0x40], eax
mov r13, rsi
jmp 0x1400896cc
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x140088ca3
mov rcx, rdi
mov rdx, r15
call fcn.140086f70
mov rcx, qword [rsp + 0x30]
jmp 0x140086fe0
lea rcx, [rsp + 0x78]
mov rbp, r10
call fcn.1400ca790
mov r10, rbp
test eax, eax
jns 0x140087f29
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
mov r8d, dword [rsp + 0x98]
mov r9d, esi
mov rsi, r10
call fcn.140270ae0
mov r10, rsi
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
cmp ecx, 5
je 0x140087f39
jmp 0x1400872b0
mov rcx, rdi
mov rdx, rsi
mov rsi, r10
call fcn.140086f70
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov rax, qword [rsp + 0xa8]
mov qword [rcx + 8], rax
jmp 0x140089704
lea rcx, [rsp + 0x78]
mov rsi, r10
call fcn.1400ca790
mov r10, rsi
test eax, eax
jns 0x14008819a
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
mov r8d, dword [rsp + 0xa0]
mov r9d, ebp
mov rsi, r10
call fcn.140270ae0
mov r10, rsi
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
jmp 0x1400881a1
mov r12, r15
movzx r15d, byte [r14 + rbp + 0x80]
movzx eax, r15b
test r10d, r10d
je 0x14008851d
cmp r10d, 1
jne 0x140088adc
add rax, 6
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089887
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1400894bb
mov ebp, eax
mov ecx, 5
mov r15, r12
cmp ecx, 5
jne 0x140088a4d
cmp qword [rdi], 1
jne 0x140088571
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], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x1400889f1
lea rax, [rbx + 1]
mov qword [rsp + 0xd0], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0xf8], rax
movzx eax, byte [r14 + 0x79]
mov byte [rsp + 0x108], al
mov eax, dword [rsp + 0x98]
mov qword [rsp + 0xc8], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x110], r15
jmp 0x1400885ec
mov r13, r12
inc r13
cmp r13, rbx
jae 0x1400889f1
cmp ebp, 0x7ffffff
jbe 0x14008864a
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r13
cmp r13, r15
jae 0x140089875
movzx r8d, byte [rsi + r13]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14008877a
mov r12, r13
mov ebp, eax
jmp 0x1400887a1
cmp r13, rbx
jae 0x1400885e0
mov r9, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop word [rax + rax]
movzx eax, byte [rsi + r13]
movzx eax, byte [r14 + rax + 0x190]
mov ecx, ebp
add rcx, rax
mov ecx, dword [r9 + rcx*4]
lea r12, [r13 + 3]
cmp r12, rbx
jae 0x1400886f6
cmp ecx, 0x8000000
jae 0x1400886f6
movzx eax, byte [rsi + r13 + 1]
movzx eax, byte [r14 + rax + 0x190]
add rax, rcx
mov r8d, dword [r9 + rax*4]
cmp r8, 0x7ffffff
ja 0x1400886fd
movzx eax, byte [rsi + r13 + 2]
movzx eax, byte [r14 + rax + 0x190]
add rax, r8
mov ecx, dword [r9 + rax*4]
cmp rcx, 0x7ffffff
ja 0x14008870a
movzx eax, byte [rsi + r13 + 3]
movzx eax, byte [r14 + rax + 0x190]
add rax, rcx
mov ebp, dword [r9 + rax*4]
cmp ebp, 0x7ffffff
ja 0x140088716
add r13, 4
cmp r13, rbx
jb 0x140088660
jmp 0x1400885e0
mov eax, ebp
mov r12, r13
jmp 0x14008871a
inc r13
mov eax, ecx
mov r12, r13
mov ecx, r8d
jmp 0x14008871a
add r13, 2
mov eax, r8d
mov r12, r13
jmp 0x14008871a
mov eax, ecx
mov ecx, ebp
test ecx, ecx
js 0x140088722
mov ebp, ecx
jmp 0x1400887a1
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r12
movzx r8d, byte [rsi + r12]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, eax
add rcx, r10
cmp rcx, rdx
jae 0x140089739
mov ebp, dword [r9 + rcx*4]
test ebp, ebp
jns 0x1400887a1
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, eax
call fcn.14026fe30
test eax, eax
jne 0x140088c92
mov ebp, edx
jmp 0x1400887a1
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
jne 0x140089511
mov ebp, edx
mov r12, r13
cmp ebp, 0x7ffffff
jbe 0x1400885dd
mov eax, ebp
test eax, 0x10000000
je 0x140089421
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x118]
mov rdx, qword [rsp + 0xb8]
mov r8, rsi
mov r9, r15
call qword [rsp + 0xa0]
cmp qword [rsp + 0x118], 0
je 0x140089463
mov r13, qword [rsp + 0x120]
cmp r13, r12
jbe 0x1400885dd
cmp dword [rsp + 0xa8], 0
mov r9, qword [rsp + 0x40]
je 0x1400885e3
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x140089949
cmp qword [rsp + 0xd0], r13
jb 0x140089949
lea r12, [r13 - 1]
cmp r15, r12
jbe 0x1400888df
movzx eax, byte [rsi + r12]
movzx ebp, al
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x1400888f1
xor eax, eax
mov ecx, ebp
mov edx, 1
shld rax, rdx, cl
mov edx, ebp
shr edx, 7
mov r8d, 1
shl r8, cl
shl rdx, 4
test bpl, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
mov rcx, qword [rsp + 0xf8]
and rax, qword [rcx + rdx + 8]
and r8, qword [rcx + rdx]
or r8, rax
je 0x1400888f1
mov eax, 4
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x1400885e3
jmp 0x1400889c3
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x1400888fa
movzx r15d, byte [r14 + rbp + 0x80]
movzx ecx, r15b
test r9d, r9d
je 0x140088944
cmp r9d, 1
jne 0x14008890f
add rcx, 6
jmp 0x140088944
mov eax, 2
mov rbp, qword [rsp + 0xc8]
test byte [rsp + 0x108], 1
je 0x140088963
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
cmp qword [rax + 0x38], rdx
jbe 0x140088976
add rcx, qword [rsp + 0x100]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140087d04
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140088989
mov ebp, eax
mov eax, 5
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x1400885e3
jmp 0x1400889c3
lea rcx, [rsp + 0x78]
call fcn.1400ca790
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x14008895c
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r9d
mov r8d, dword [rsp + 0x98]
mov r9d, r15d
call fcn.140270ae0
mov rbp, rax
shr rbp, 0x20
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x1400885e3
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x140088bd5
cmp ecx, 1
jne 0x140089814
mov ecx, ebp
mov rdx, r12
call fcn.140092180
jmp 0x14008948e
cmp rbx, r15
jae 0x140088a87
movzx esi, byte [rsi + rbx]
movzx eax, byte [r14 + rsi + 0x190]
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089750
mov eax, edx
test eax, 0x8000000
jne 0x140088b2a
test eax, 0x20000000
jne 0x140087d6e
xor esi, esi
jmp 0x140088b95
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140088bd5
cmp eax, 1
jne 0x140088c31
test r13, r13
je 0x140089931
dec r13
mov ecx, ebp
mov rdx, r13
call fcn.140092180
jmp 0x14008948e
movzx r8d, byte [r14 + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, ebp
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
jbe 0x140089896
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14008977a
xor eax, eax
test edx, 0x8000000
jne 0x140088b63
xor esi, esi
jmp 0x140088b95
test byte [r14 + 0x79], 1
mov ebp, dword [rsp + 0x98]
mov ecx, 2
je 0x140088540
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], rbp
jbe 0x1400894a4
lea rcx, [rbp*2]
add rcx, rbp
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jb 0x14008852a
jmp 0x140089887
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 1
je 0x140088b5e
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov r15, rbx
jmp 0x140088b95
mov esi, 1
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 1
je 0x140088b95
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140089919
mov rdx, rbx
sub rdx, rcx
neg rdx
sub rbx, rcx
cmovb rbx, rdx
add qword [rdi + 0x158], rbx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r15
mov dword [rcx + 0x10], eax
jmp 0x14008970b
mov rcx, r13
call fcn.1400921d0
jmp 0x14008948e
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
jne 0x140088c63
jmp 0x140087755
mov rsi, r11
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
je 0x14008952e
mov rcx, rsi
jmp 0x140089514
mov edx, ebp
jmp 0x140089489
mov r12, r10
mov r15, r11
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
je 0x140089677
mov rcx, rbx
jmp 0x140089514
mov r12, r9
mov r15, r10
mov rsi, r11
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
je 0x140089722
mov rcx, r12
jmp 0x140089514
movzx r15d, byte [r14 + rsi + 0x80]
movzx eax, r15b
test r10d, r10d
je 0x140088ce9
cmp r10d, 1
jne 0x140088cb8
add rax, 6
jmp 0x140088ce9
test byte [r14 + 0x79], 1
mov esi, dword [rsp + 0xa0]
mov ecx, 2
je 0x140088d0c
mov rcx, qword [rsp + 0xb8]
cmp qword [rcx + 0x38], rsi
jbe 0x14008962f
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089887
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140089646
mov esi, eax
mov ecx, 5
mov r15, qword [rsp + 0xd0]
cmp ecx, 5
jne 0x14008929d
cmp qword [rdi], 1
jne 0x140088d42
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], r12
mov qword [rdi + 0x10], r12
cmp r12, rbx
jae 0x14008921a
lea rax, [rbx + 1]
mov qword [rsp + 0x110], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0x108], rax
movzx eax, byte [r14 + 0x79]
mov byte [rsp + 0x100], al
mov eax, dword [rsp + 0xa0]
mov qword [rsp + 0xf8], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x130], rax
xor eax, eax
mov qword [rsp + 0xc8], rax
mov r13, r12
cmp esi, 0x7ffffff
jbe 0x140088e10
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r13
cmp r13, r15
jae 0x140089875
movzx r8d, byte [rbp + r13]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140089145
mov r12, r13
mov esi, eax
jmp 0x140088f2a
cmp r13, rbx
jae 0x14008919a
mov r9, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx eax, byte [rbp + r13]
movzx eax, byte [r14 + rax + 0x190]
mov ecx, esi
add rcx, rax
mov ecx, dword [r9 + rcx*4]
lea r12, [r13 + 3]
cmp r12, rbx
jae 0x140088ec7
cmp ecx, 0x8000000
jae 0x140088ec7
movzx eax, byte [rbp + r13 + 1]
movzx eax, byte [r14 + rax + 0x190]
add rax, rcx
mov r8d, dword [r9 + rax*4]
cmp r8, 0x7ffffff
ja 0x140088ece
movzx eax, byte [rbp + r13 + 2]
movzx eax, byte [r14 + rax + 0x190]
add rax, r8
mov ecx, dword [r9 + rax*4]
cmp rcx, 0x7ffffff
ja 0x140088edb
movzx eax, byte [rbp + r13 + 3]
movzx eax, byte [r14 + rax + 0x190]
add rax, rcx
mov esi, dword [r9 + rax*4]
cmp esi, 0x7ffffff
ja 0x140088ee7
add r13, 4
cmp r13, rbx
jb 0x140088e30
jmp 0x14008919a
mov eax, esi
mov r12, r13
jmp 0x140088eeb
inc r13
mov eax, ecx
mov r12, r13
mov ecx, r8d
jmp 0x140088eeb
add r13, 2
mov eax, r8d
mov r12, r13
jmp 0x140088eeb
mov eax, ecx
mov ecx, esi
test ecx, ecx
js 0x140088ef3
mov esi, ecx
jmp 0x140088f2a
cmp qword [rdi], 0
je 0x1400898e0
mov qword [rdi + 0x10], r12
movzx r8d, byte [rbp + r12]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, eax
add rcx, r10
cmp rcx, rdx
jae 0x140089739
mov esi, dword [r9 + rcx*4]
test esi, esi
js 0x140089171
cmp esi, 0x7ffffff
jbe 0x14008919d
mov eax, esi
test eax, 0x10000000
je 0x1400891ab
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x118]
mov rdx, qword [rsp + 0xc0]
mov r8, rbp
mov r9, r15
call qword [rsp + 0x98]
cmp qword [rsp + 0x118], 0
je 0x140089375
mov r13, qword [rsp + 0x120]
cmp r13, r12
jbe 0x14008919d
cmp dword [rsp + 0xa8], 0
mov r9, qword [rsp + 0x40]
je 0x1400890b3
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x140089949
cmp qword [rsp + 0x110], r13
jb 0x140089949
lea r12, [r13 - 1]
cmp r15, r12
jbe 0x140089055
movzx eax, byte [rbp + r12]
movzx esi, al
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x140089067
xor eax, eax
mov ecx, esi
mov edx, 1
shld rax, rdx, cl
mov edx, esi
shr edx, 7
mov r8d, 1
shl r8, cl
shl rdx, 4
test sil, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
mov rcx, qword [rsp + 0x108]
and rax, qword [rcx + rdx + 8]
and r8, qword [rcx + rdx]
or r8, rax
je 0x140089067
mov eax, 4
jmp 0x1400890a2
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x140089070
movzx r15d, byte [r14 + rsi + 0x80]
movzx ecx, r15b
test r9d, r9d
je 0x140089083
cmp r9d, 1
jne 0x1400890c1
add rcx, 6
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140087d04
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140089117
mov esi, eax
mov eax, 5
cmp eax, 5
mov r15, qword [rsp + 0xd0]
jne 0x1400894ec
cmp r13, rbx
jb 0x140088db1
jmp 0x140089224
mov eax, 2
mov rsi, qword [rsp + 0xf8]
test byte [rsp + 0x100], 1
je 0x1400890a2
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xf8]
cmp qword [rax + 0x38], rdx
jbe 0x140089104
add rcx, qword [rsp + 0x130]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x140089090
jmp 0x140087d04
lea rcx, [rsp + 0x78]
call fcn.1400ca790
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x14008909b
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r9d
mov r8d, dword [rsp + 0xa0]
mov r9d, r15d
call fcn.140270ae0
mov rsi, rax
shr rsi, 0x20
jmp 0x1400890a2
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.14026fe30
test eax, eax
jne 0x140089511
mov esi, edx
mov r12, r13
jmp 0x140088f2a
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, eax
call fcn.14026fe30
test eax, eax
jne 0x140088c92
mov esi, edx
jmp 0x140088f2a
mov r12, r13
inc r12
cmp r12, rbx
jb 0x140088dae
jmp 0x140089224
test eax, 0x8000000
je 0x14008983c
mov eax, 1
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xb4], 0
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 1
je 0x140089204
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov dword [rsp + 0xb4], eax
mov qword [rsp + 0xe0], r12
inc r12
cmp r12, rbx
jb 0x140088dae
jmp 0x140089224
xor eax, eax
mov qword [rsp + 0xc8], rax
cmp rbx, r15
jae 0x1400892d7
movzx r15d, byte [rbp + rbx]
movzx eax, byte [r14 + r15 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
mov ebp, dword [rsp + 0xb4]
mov r12, qword [rsp + 0xe0]
jae 0x140089739
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x1400897b2
mov eax, edx
test eax, 0x8000000
jne 0x1400893a8
test eax, 0x20000000
mov rsi, qword [rsp + 0xc8]
je 0x1400893e1
mov ecx, r15d
mov rdx, rbx
jmp 0x140088329
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x14008947d
cmp eax, 1
jne 0x140089487
test r12, r12
je 0x140089931
dec r12
mov ecx, esi
mov rdx, r12
call fcn.140092180
jmp 0x14008948e
movzx r8d, byte [r14 + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov eax, r8d
shr eax, 0x10
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
mov ebp, dword [rsp + 0xb4]
mov r12, qword [rsp + 0xe0]
jbe 0x140089896
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x1400897dc
test edx, 0x8000000
mov rsi, qword [rsp + 0xc8]
je 0x1400893e1
mov esi, 1
xor ebp, ebp
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 1
je 0x140089370
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov ebp, eax
mov r12, r15
jmp 0x1400893e1
mov rcx, rdi
mov rdx, rbx
call fcn.140086f70
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0xc8]
mov qword [rcx], rax
mov rax, qword [rsp + 0xe0]
mov qword [rcx + 8], rax
mov eax, dword [rsp + 0xb4]
jmp 0x140089708
mov esi, 1
xor ebp, ebp
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 1
je 0x1400893de
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov ebp, eax
mov r12, rbx
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140089919
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r12
mov dword [rcx + 0x10], ebp
jmp 0x14008970b
test eax, 0x8000000
jne 0x1400895ba
test eax, 0x40000000
jne 0x140089745
test eax, 0x20000000
je 0x140089a07
mov rcx, rdi
mov rdx, r12
call fcn.140086f70
cmp r12, r15
jae 0x1400898f8
movzx ecx, byte [rsi + r12]
mov rdx, r12
jmp 0x140088329
mov rcx, rdi
mov rdx, rbx
call fcn.140086f70
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x14008970b
mov rcx, r12
call fcn.1400921d0
jmp 0x14008948e
mov edx, esi
call fcn.140092210
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x14008970b
lea rcx, [rsp + 0x78]
call fcn.1400ca790
mov r10, qword [rsp + 0x40]
test eax, eax
jns 0x140088539
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
mov r8d, dword [rsp + 0x98]
mov r9d, r15d
call fcn.140270ae0
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x140088540
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x140089511
cmp ecx, 1
jne 0x140089799
mov ecx, esi
mov rdx, r12
jmp 0x140088329
mov rcx, r13
call fcn.1400921d0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x14008970b
mov r11, rsi
xor eax, eax
test edx, 0x8000000
je 0x1400877c2
mov esi, 1
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x38], 1
je 0x14008957a
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov r14, rdi
mov rdi, r11
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov r11, rdi
mov rdi, r14
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140089919
mov rdx, rbx
sub rdx, rcx
neg rdx
sub rbx, rcx
cmovb rbx, rdx
add qword [rdi + 0x158], rbx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov qword [rcx + 8], r11
mov dword [rcx + 0x10], eax
jmp 0x14008970b
xor eax, eax
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 1
je 0x1400895eb
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140089919
mov rdx, r12
sub rdx, rcx
neg rdx
mov r8, r12
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x30]
mov qword [rcx], 1
mov qword [rcx + 8], r12
jmp 0x140089708
lea rcx, [rsp + 0x78]
call fcn.1400ca790
mov r10, qword [rsp + 0x40]
test eax, eax
jns 0x140088d05
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
mov r8d, dword [rsp + 0xa0]
mov r9d, r15d
call fcn.140270ae0
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
jmp 0x140088d0c
mov r11, r15
mov r10, r12
mov eax, edx
test eax, 0x8000000
je 0x140087d63
mov r10d, 1
cmp qword [r11 + 0x38], 1
jne 0x1400896a1
mov dword [rsp + 0x40], 0
jmp 0x1400896c9
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400ca740
mov rcx, rax
xor edx, edx
call fcn.1400cfd70
mov r10d, 1
mov dword [rsp + 0x40], eax
mov r13, rbx
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140089919
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov rcx, qword [rsp + 0x30]
mov qword [rcx], r10
mov qword [rcx + 8], r13
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x10], eax
mov rax, rcx
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r11, rsi
mov r10, r15
mov r9, r12
test edx, 0x8000000
jne 0x140087dd1
jmp 0x1400896cc
lea r8, [0x1402a7598]
call fcn.140273a00
mov rcx, rdi
mov rdx, r12
jmp 0x14008841d
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
jne 0x140088c63
jmp 0x140088a2e
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.14026fe30
test eax, eax
jne 0x1400897fa
jmp 0x140088ac7
mov ecx, eax
jmp 0x1400883c3
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r13
mov rdx, r11
call fcn.140273a00
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.14026fe30
test eax, eax
jne 0x140088c63
jmp 0x140089272
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.14026fe30
test eax, eax
je 0x140089326
mov rcx, r15
jmp 0x140089514
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r13
mov rdx, r9
call fcn.140273a00
mov ecx, eax
mov edx, ebp
jmp 0x140089489
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rcx, rax
call fcn.140273a00
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.140273a00
test eax, 0x40000000
jne 0x1400898b1
test eax, 0x20000000
je 0x140089a07
mov rcx, rdi
mov rdx, r12
call fcn.140086f70
cmp r12, qword [rsp + 0xd0]
jae 0x1400899f0
movzx ecx, byte [rbp + r12]
mov rdx, r12
jmp 0x140088329
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r13
mov rdx, r15
call fcn.140273a00
lea r8, str._u_
mov rcx, rax
call fcn.140273a00
lea r8, [0x1402a75b0]
call fcn.140273a00
lea r8, [0x1402a7598]
mov rdx, rax
call fcn.140273a00
mov rcx, rdi
mov rdx, r12
jmp 0x14008937b
mov rdx, rdi
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r15
call fcn.140273a00
mov rdx, rbx
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, rsi
call fcn.140273a00
lea rcx, str.no_in_progress_search_to_update
lea r8, [0x1402a7660]
mov edx, 0x1f
call fcn.1402737c0
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r12
mov rdx, r15
call fcn.140273a00
mov ecx, 8
mov edx, 0x10
call fcn.140273560
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x1402a7698]
mov edx, 0x1f
call fcn.1402737c0
lea rcx, str.no_quit_in_start_without_look_behind
lea r8, [0x1402a75f0]
mov edx, 0x24
call fcn.1402737c0
mov qword [rsp + 0xd8], r15
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x78], rax
lea rax, [0x140092110]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x88], rax
lea rax, [fcn.140192070]
mov qword [rsp + 0x90], rax
lea rax, [0x1402a7d70]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x68], 0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 2
lea rdx, [0x1402a7e00]
lea rcx, [rsp + 0x48]
call fcn.140273830
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutildeterminize_state.rs
mov ecx, 0xd
call fcn.140273d70
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutilwire.rs
mov ecx, 4
call fcn.140273df0
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r12
mov rdx, qword [rsp + 0xd0]
call fcn.140273a00
lea rax, str.pw_
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
lea rax, [rsp + 0x38]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
lea rdx, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
lea rcx, [rsp + 0x48]
call fcn.140273830
int3