Function at 0x1400876d0
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 0x1400876fc
mov qword [rcx], 0
jmp 0x140089e1b
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 0x140087738
lea rax, [r14 + 0x58]
cmp byte [r14 + 0x70], 3
lea r15, [0x1402a76c8]
cmovne r15, rax
cmp byte [r15 + 0x18], 2
jne 0x1400878dd
cmp byte [r12 + 0x28], 0
je 0x140087827
mov rax, qword [r14 + 0x180]
mov qword [rsp + 0x40], rax
test r13, r13
je 0x140087800
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x140087800
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x140087800
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 0x140087b1a
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 0x140087b1a
mov esi, 4
jmp 0x140087b5d
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 0x140087b2c
jmp 0x140087b3a
mov r11, qword [r14 + 0x180]
test r13, r13
je 0x1400879f2
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x1400879f2
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x1400879f2
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 0x140087f07
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 0x140087f07
mov esi, 4
jmp 0x140087f50
cmp byte [r12 + 0x28], 0
je 0x140087a47
mov rax, qword [r14 + 0x180]
mov qword [rsp + 0xc0], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xa8], eax
test r13, r13
je 0x140087a19
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x140087a19
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x140087a19
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 0x1400885c7
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 0x1400885c7
mov ecx, 4
cmp ecx, 5
je 0x140088649
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140089c21
cmp eax, 1
jne 0x14008878e
test r13, r13
je 0x14008a041
dec r13
mov ecx, ebp
jmp 0x140088a36
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 0x140087f19
jmp 0x140087f27
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 0x1400885d9
jmp 0x14008861d
mov rax, qword [r14 + 0x180]
mov qword [rsp + 0xb8], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0xa8], eax
test r13, r13
je 0x140087ed9
lea rax, [r13 - 1]
cmp qword [r12 + 0x10], rax
jbe 0x140087ed9
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x140087ed9
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 0x14008886e
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 0x14008886e
mov ecx, 4
jmp 0x1400888b1
movzx r15d, byte [r14 + rbp + 0x80]
movzx ecx, r15b
test r10d, r10d
je 0x140087b3a
cmp r10d, 1
jne 0x140087ddb
add rcx, 6
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140088414
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14008859e
mov ebp, eax
mov esi, 5
cmp esi, 5
jne 0x140088323
cmp qword [rdi], 1
jne 0x140087b8b
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 0x140087e22
mov rsi, qword [r12 + 8]
mov r11, qword [r12 + 0x10]
jmp 0x140087bc1
mov ebp, edx
mov r13, r15
inc r13
cmp r13, rbx
jae 0x140087e27
cmp ebp, 0x7ffffff
jbe 0x140087c40
cmp qword [rdi], 0
je 0x140089ff0
mov qword [rdi + 0x10], r13
cmp r13, r11
jae 0x140089eb0
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140087da1
mov r15, r13
cmp edx, 0x8000000
jb 0x140087bb0
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x140087bb0
jmp 0x140088502
cmp r13, rbx
jae 0x140087bb5
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 0x140087cf6
cmp edx, 0x8000000
jae 0x140087cf6
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 0x140087d06
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 0x140087d1b
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 0x140087d2f
add r13, 4
cmp r13, rbx
jb 0x140087c60
jmp 0x140087bb5
mov r9d, ebp
mov r15, r13
test edx, edx
jns 0x140087c18
jmp 0x140087d3c
inc r13
mov r9d, edx
mov r15, r13
mov edx, ecx
test edx, edx
jns 0x140087c18
jmp 0x140087d3c
add r13, 2
mov r9d, ecx
mov r15, r13
test edx, edx
jns 0x140087c18
jmp 0x140087d3c
mov r9d, edx
mov edx, ebp
test edx, edx
jns 0x140087c18
cmp qword [rdi], 0
je 0x140089ff0
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 0x140089fb2
mov edx, dword [r10 + rcx*4]
test edx, edx
jns 0x140087c18
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.140270540
test eax, eax
jne 0x140089f0a
mov r11, r13
jmp 0x140087c18
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.140270540
test eax, eax
jne 0x140089c21
mov r15, r13
mov r11, qword [rsp + 0xa8]
jmp 0x140087c18
test byte [r14 + 0x79], 1
mov ebp, r8d
mov esi, 2
je 0x140087b5d
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x38], rbp
jbe 0x140088580
lea rax, [rbp*2]
add rax, rbp
lea rcx, [rcx + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x140087b47
jmp 0x140088414
mov r11, qword [r12 + 0x10]
cmp rbx, r11
jae 0x140087e84
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x1400892f2
mov eax, edx
test eax, 0x8000000
jne 0x140088547
test eax, 0x20000000
jne 0x14008847e
xor esi, esi
jmp 0x140089c8a
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 0x140089fa6
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089318
xor eax, eax
test edx, 0x8000000
jne 0x140089c4f
xor esi, esi
jmp 0x140089c8a
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 0x140088880
jmp 0x14008888e
movzx r9d, byte [r14 + rbp + 0x80]
movzx ecx, r9b
test r10d, r10d
je 0x140087f27
cmp r10d, 1
jne 0x1400883cd
add rcx, 6
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140088414
mov r15, r11
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140088848
mov ebp, eax
mov esi, 5
mov r11, r15
cmp esi, 5
jne 0x140088323
cmp qword [rdi], 1
jne 0x140087f7e
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 0x140088420
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 0x140087fd7
mov qword [rsp + 0xa8], rsi
inc rsi
mov r13, rsi
cmp rsi, rbx
jae 0x140088488
cmp ebp, 0x7ffffff
jbe 0x140088040
cmp qword [rdi], 0
je 0x140089ff0
mov qword [rdi + 0x10], r13
cmp r13, r9
jae 0x140089f12
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400881d2
mov rsi, r13
mov ebp, eax
cmp ebp, 0x8000000
jae 0x140088230
jmp 0x140087fc8
cmp r13, rbx
jae 0x140088120
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 0x140088128
cmp ecx, 0x8000000
jae 0x140088128
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 0x14008814c
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 0x1400881b0
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 0x1400881c4
add r13, 4
cmp r13, rbx
jb 0x140088060
mov rsi, r13
mov r9, qword [rsp + 0x98]
jmp 0x140087fc8
mov rsi, r13
jmp 0x140087fc8
mov eax, ebp
mov rsi, r13
test ecx, ecx
js 0x14008815b
mov ebp, ecx
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jae 0x140088230
jmp 0x140087fc8
inc r13
mov eax, ecx
mov rsi, r13
mov ecx, r8d
test ecx, ecx
jns 0x140088131
cmp qword [rdi], 0
je 0x140089ff0
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 0x140089e49
mov ebp, dword [r9 + rcx*4]
test ebp, ebp
js 0x1400882d3
mov r10, r13
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jae 0x140088230
jmp 0x140087fc8
add r13, 2
mov eax, r8d
mov rsi, r13
test ecx, ecx
jns 0x140088131
jmp 0x14008815b
mov eax, ecx
mov ecx, ebp
test ecx, ecx
jns 0x140088131
jmp 0x14008815b
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.140270540
test eax, eax
jne 0x140089c21
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 0x140087fc8
nop dword [rax]
mov eax, ebp
mov ecx, eax
and ecx, 0x10000000
jne 0x140087fc8
test eax, 0x8000000
je 0x140088a99
mov r10d, 1
mov dword [rsp + 0x40], 0
cmp qword [r11 + 0x38], 1
je 0x140087fc0
mov eax, ebp
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr rax, cl
mov rdx, qword [rdi + 0x58]
cmp rax, rdx
jae 0x140089f2d
mov rcx, qword [rdi + 0x50]
shl rax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x140089f3c
mov rax, qword [rcx + rax]
test byte [rax + 0x10], 2
je 0x140087fc0
cmp rdx, 0xd
jb 0x14008a0de
add rdx, 0xfffffffffffffff3
cmp rdx, 3
jbe 0x14008a0ef
mov eax, dword [rax + 0x1d]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0xa8], rsi
jmp 0x140087fc8
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.140270540
test eax, eax
jne 0x140089339
mov ebp, edx
mov r11, qword [rsp + 0xa0]
mov r10, r13
mov r9, qword [rsp + 0x98]
cmp ebp, 0x8000000
jae 0x140088230
jmp 0x140087fc8
lea ecx, [rsi - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140088375
cmp eax, 1
jne 0x1400883a0
test r13, r13
je 0x14008a041
movzx eax, byte [0x14031b901]
mov ecx, 0x10
mov edx, 8
call fcn.1400016f0
test rax, rax
je 0x14008a01a
dec r13
mov byte [rax], 0
mov byte [rax + 1], bpl
mov qword [rax + 8], r13
jmp 0x140089c29
movzx eax, byte [0x14031b901]
mov ecx, 0x10
mov edx, 8
call fcn.1400016f0
test rax, rax
je 0x14008a01a
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x140089c29
movzx eax, byte [0x14031b901]
mov ecx, 0x10
mov edx, 8
call fcn.1400016f0
test rax, rax
je 0x14008a01a
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], ebp
jmp 0x140089c29
test byte [r14 + 0x79], 1
mov dword [rsp + 0x40], r8d
mov ebp, r8d
mov esi, 2
je 0x140087f50
cmp qword [r11 + 0x38], rbp
jbe 0x140088822
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 0x140087f34
lea r8, str._u_
call fcn.140274110
mov r9, qword [r12 + 0x10]
xor r10d, r10d
cmp rbx, r9
jae 0x140088495
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089348
mov eax, edx
test eax, 0x8000000
jne 0x140089d9a
test eax, 0x20000000
je 0x140089ddc
mov ecx, esi
mov rdx, rbx
jmp 0x140088a39
mov r13, qword [rsp + 0xa8]
cmp rbx, r9
jb 0x14008842d
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 0x140089fa6
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x14008937b
test edx, 0x8000000
je 0x140089ddc
mov r10d, 1
cmp qword [r11 + 0x38], 1
jne 0x140088adf
mov dword [rsp + 0x40], 0
mov r13, r9
jmp 0x140089ddc
test eax, 0x8000000
jne 0x14008879a
test eax, 0x40000000
jne 0x140088b27
test eax, 0x20000000
je 0x14008a117
mov rcx, rdi
mov rdi, r11
mov rdx, r15
call fcn.140087680
cmp r15, rdi
jae 0x140089fcc
movzx ecx, byte [rsi + r15]
mov rdx, r15
jmp 0x140088a39
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x38], 1
je 0x140088578
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov r11, rbx
jmp 0x140089c8a
lea rcx, [rsp + 0x78]
mov rsi, r10
mov ebp, r8d
call fcn.1400caea0
mov r8d, ebp
mov r10, rsi
test eax, eax
jns 0x140087b56
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
mov r9d, r15d
call fcn.1402711f0
mov rsi, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x140087b5d
movzx esi, byte [r14 + rbp + 0x80]
movzx eax, sil
test r10d, r10d
je 0x14008861d
cmp r10d, 1
jne 0x1400885e5
add rax, 6
jmp 0x14008861d
test byte [r14 + 0x79], 1
mov ebp, dword [rsp + 0x98]
mov ecx, 2
je 0x140088640
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], rbp
jbe 0x140088b3c
lea rcx, [rbp*2]
add rcx, rbp
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089f97
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140088b54
mov ebp, eax
mov ecx, 5
cmp ecx, 5
jne 0x1400879c0
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 0x140088a43
mov r13, qword [rsp + 0x120]
cmp dword [rsp + 0xa8], 0
mov r10, qword [rsp + 0x40]
je 0x140088c5c
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14008a059
lea rax, [rbx + 1]
cmp rax, r13
jb 0x14008a059
test r13, r13
je 0x14008880a
lea rax, [r13 - 1]
cmp r15, rax
jbe 0x14008880a
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 0x140088c0a
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 0x140088c0a
mov ecx, 4
jmp 0x140088c53
mov edx, ebp
call fcn.140092920
jmp 0x140089c29
xor eax, eax
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x38], 1
je 0x1400887c6
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14008a029
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 0x140089e18
mov r12, r15
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x140088c16
mov r15, r11
lea rcx, [rsp + 0x78]
mov rsi, r10
mov ebp, r9d
call fcn.1400caea0
mov r9d, ebp
mov r10, rsi
mov r8d, dword [rsp + 0x40]
test eax, eax
jns 0x140087f46
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, r10d
call fcn.1402711f0
mov rsi, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x140087f4d
movzx ebp, byte [r14 + rsi + 0x80]
movzx eax, bpl
test r10d, r10d
je 0x14008888e
cmp r10d, 1
jne 0x140088a52
add rax, 6
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089f97
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140088bd3
mov esi, eax
mov ecx, 5
cmp ecx, 5
jne 0x140088a09
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 0x140088a43
mov r12, qword [rsp + 0x120]
cmp dword [rsp + 0xa8], 0
mov r10, qword [rsp + 0x40]
mov qword [rsp + 0xd0], r15
je 0x14008942d
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14008a059
lea rax, [rbx + 1]
cmp rax, r12
jb 0x14008a059
test r12, r12
je 0x140088b12
lea rax, [r12 - 1]
cmp r15, rax
jbe 0x140088b12
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 0x1400893aa
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 0x1400893aa
mov ecx, 4
jmp 0x140089424
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140089c21
cmp eax, 1
jne 0x140088ad3
test r13, r13
je 0x14008a041
dec r13
mov ecx, esi
mov rdx, r13
call fcn.140092890
jmp 0x140089c29
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x140089e1b
test byte [r14 + 0x79], 1
mov esi, dword [rsp + 0xa0]
mov ecx, 2
je 0x1400888b1
mov rcx, qword [rsp + 0xb8]
cmp qword [rcx + 0x38], rsi
jbe 0x140088bbb
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jb 0x14008889b
jmp 0x140089f97
test eax, 0x40000000
jne 0x140088b94
test eax, 0x20000000
je 0x14008a117
mov rbx, r9
mov rcx, rdi
mov rdx, rsi
call fcn.140087680
cmp rsi, rbx
jae 0x140089fde
movzx ecx, byte [r15 + rsi]
mov rdx, rsi
jmp 0x140088a39
mov edx, esi
call fcn.140092920
jmp 0x140089c29
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov rsi, r9
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov r10d, 1
mov dword [rsp + 0x40], eax
mov r13, rsi
jmp 0x140089ddc
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x1400893b3
mov rcx, rdi
mov rdx, r15
call fcn.140087680
mov rcx, qword [rsp + 0x30]
jmp 0x1400876f0
lea rcx, [rsp + 0x78]
mov rbp, r10
call fcn.1400caea0
mov r10, rbp
test eax, eax
jns 0x140088639
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.1402711f0
mov r10, rsi
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
cmp ecx, 5
je 0x140088649
jmp 0x1400879c0
mov rcx, rdi
mov rdx, rsi
mov rsi, r10
call fcn.140087680
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rsi
mov rax, qword [rsp + 0xa8]
mov qword [rcx + 8], rax
jmp 0x140089e14
lea rcx, [rsp + 0x78]
mov rsi, r10
call fcn.1400caea0
mov r10, rsi
test eax, eax
jns 0x1400888aa
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.1402711f0
mov r10, rsi
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
jmp 0x1400888b1
mov r12, r15
movzx r15d, byte [r14 + rbp + 0x80]
movzx eax, r15b
test r10d, r10d
je 0x140088c2d
cmp r10d, 1
jne 0x1400891ec
add rax, 6
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089f97
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140089bcb
mov ebp, eax
mov ecx, 5
mov r15, r12
cmp ecx, 5
jne 0x14008915d
cmp qword [rdi], 1
jne 0x140088c81
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 0x140089101
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 0x140088cfc
mov r13, r12
inc r13
cmp r13, rbx
jae 0x140089101
cmp ebp, 0x7ffffff
jbe 0x140088d5a
cmp qword [rdi], 0
je 0x140089ff0
mov qword [rdi + 0x10], r13
cmp r13, r15
jae 0x140089f85
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140088e8a
mov r12, r13
mov ebp, eax
jmp 0x140088eb1
cmp r13, rbx
jae 0x140088cf0
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 0x140088e06
cmp ecx, 0x8000000
jae 0x140088e06
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 0x140088e0d
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 0x140088e1a
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 0x140088e26
add r13, 4
cmp r13, rbx
jb 0x140088d70
jmp 0x140088cf0
mov eax, ebp
mov r12, r13
jmp 0x140088e2a
inc r13
mov eax, ecx
mov r12, r13
mov ecx, r8d
jmp 0x140088e2a
add r13, 2
mov eax, r8d
mov r12, r13
jmp 0x140088e2a
mov eax, ecx
mov ecx, ebp
test ecx, ecx
js 0x140088e32
mov ebp, ecx
jmp 0x140088eb1
cmp qword [rdi], 0
je 0x140089ff0
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 0x140089e49
mov ebp, dword [r9 + rcx*4]
test ebp, ebp
jns 0x140088eb1
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, eax
call fcn.140270540
test eax, eax
jne 0x1400893a2
mov ebp, edx
jmp 0x140088eb1
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.140270540
test eax, eax
jne 0x140089c21
mov ebp, edx
mov r12, r13
cmp ebp, 0x7ffffff
jbe 0x140088ced
mov eax, ebp
test eax, 0x10000000
je 0x140089b31
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 0x140089b73
mov r13, qword [rsp + 0x120]
cmp r13, r12
jbe 0x140088ced
cmp dword [rsp + 0xa8], 0
mov r9, qword [rsp + 0x40]
je 0x140088cf3
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14008a059
cmp qword [rsp + 0xd0], r13
jb 0x14008a059
lea r12, [r13 - 1]
cmp r15, r12
jbe 0x140088fef
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 0x140089001
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 0x140089001
mov eax, 4
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x140088cf3
jmp 0x1400890d3
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x14008900a
movzx r15d, byte [r14 + rbp + 0x80]
movzx ecx, r15b
test r9d, r9d
je 0x140089054
cmp r9d, 1
jne 0x14008901f
add rcx, 6
jmp 0x140089054
mov eax, 2
mov rbp, qword [rsp + 0xc8]
test byte [rsp + 0x108], 1
je 0x140089073
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
cmp qword [rax + 0x38], rdx
jbe 0x140089086
add rcx, qword [rsp + 0x100]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140088414
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140089099
mov ebp, eax
mov eax, 5
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x140088cf3
jmp 0x1400890d3
lea rcx, [rsp + 0x78]
call fcn.1400caea0
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x14008906c
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.1402711f0
mov rbp, rax
shr rbp, 0x20
cmp eax, 5
mov r15, qword [rsp + 0x110]
je 0x140088cf3
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x1400892e5
cmp ecx, 1
jne 0x140089f24
mov ecx, ebp
mov rdx, r12
call fcn.140092890
jmp 0x140089b9e
cmp rbx, r15
jae 0x140089197
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089e60
mov eax, edx
test eax, 0x8000000
jne 0x14008923a
test eax, 0x20000000
jne 0x14008847e
xor esi, esi
jmp 0x1400892a5
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x1400892e5
cmp eax, 1
jne 0x140089341
test r13, r13
je 0x14008a041
dec r13
mov ecx, ebp
mov rdx, r13
call fcn.140092890
jmp 0x140089b9e
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 0x140089fa6
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089e8a
xor eax, eax
test edx, 0x8000000
jne 0x140089273
xor esi, esi
jmp 0x1400892a5
test byte [r14 + 0x79], 1
mov ebp, dword [rsp + 0x98]
mov ecx, 2
je 0x140088c50
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], rbp
jbe 0x140089bb4
lea rcx, [rbp*2]
add rcx, rbp
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jb 0x140088c3a
jmp 0x140089f97
mov esi, 1
xor eax, eax
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 1
je 0x14008926e
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov r15, rbx
jmp 0x1400892a5
mov esi, 1
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 1
je 0x1400892a5
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14008a029
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 0x140089e1b
mov rcx, r13
call fcn.1400928e0
jmp 0x140089b9e
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.140270540
test eax, eax
jne 0x140089373
jmp 0x140087e65
mov rsi, r11
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.140270540
test eax, eax
je 0x140089c3e
mov rcx, rsi
jmp 0x140089c24
mov edx, ebp
jmp 0x140089b99
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.140270540
test eax, eax
je 0x140089d87
mov rcx, rbx
jmp 0x140089c24
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.140270540
test eax, eax
je 0x140089e32
mov rcx, r12
jmp 0x140089c24
movzx r15d, byte [r14 + rsi + 0x80]
movzx eax, r15b
test r10d, r10d
je 0x1400893f9
cmp r10d, 1
jne 0x1400893c8
add rax, 6
jmp 0x1400893f9
test byte [r14 + 0x79], 1
mov esi, dword [rsp + 0xa0]
mov ecx, 2
je 0x14008941c
mov rcx, qword [rsp + 0xb8]
cmp qword [rcx + 0x38], rsi
jbe 0x140089d3f
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*2]
add rax, 0xc
mov rdx, qword [rdi + 0x40]
cmp rax, rdx
jae 0x140089f97
mov rcx, qword [rdi + 0x38]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140089d56
mov esi, eax
mov ecx, 5
mov r15, qword [rsp + 0xd0]
cmp ecx, 5
jne 0x1400899ad
cmp qword [rdi], 1
jne 0x140089452
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 0x14008992a
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 0x140089520
cmp qword [rdi], 0
je 0x140089ff0
mov qword [rdi + 0x10], r13
cmp r13, r15
jae 0x140089f85
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140089855
mov r12, r13
mov esi, eax
jmp 0x14008963a
cmp r13, rbx
jae 0x1400898aa
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 0x1400895d7
cmp ecx, 0x8000000
jae 0x1400895d7
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 0x1400895de
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 0x1400895eb
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 0x1400895f7
add r13, 4
cmp r13, rbx
jb 0x140089540
jmp 0x1400898aa
mov eax, esi
mov r12, r13
jmp 0x1400895fb
inc r13
mov eax, ecx
mov r12, r13
mov ecx, r8d
jmp 0x1400895fb
add r13, 2
mov eax, r8d
mov r12, r13
jmp 0x1400895fb
mov eax, ecx
mov ecx, esi
test ecx, ecx
js 0x140089603
mov esi, ecx
jmp 0x14008963a
cmp qword [rdi], 0
je 0x140089ff0
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 0x140089e49
mov esi, dword [r9 + rcx*4]
test esi, esi
js 0x140089881
cmp esi, 0x7ffffff
jbe 0x1400898ad
mov eax, esi
test eax, 0x10000000
je 0x1400898bb
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 0x140089a85
mov r13, qword [rsp + 0x120]
cmp r13, r12
jbe 0x1400898ad
cmp dword [rsp + 0xa8], 0
mov r9, qword [rsp + 0x40]
je 0x1400897c3
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rbx
cmp r15, rbx
jb 0x14008a059
cmp qword [rsp + 0x110], r13
jb 0x14008a059
lea r12, [r13 - 1]
cmp r15, r12
jbe 0x140089765
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 0x140089777
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 0x140089777
mov eax, 4
jmp 0x1400897b2
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rdi
mov r15b, 2
jmp 0x140089780
movzx r15d, byte [r14 + rsi + 0x80]
movzx ecx, r15b
test r9d, r9d
je 0x140089793
cmp r9d, 1
jne 0x1400897d1
add rcx, 6
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x140088414
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140089827
mov esi, eax
mov eax, 5
cmp eax, 5
mov r15, qword [rsp + 0xd0]
jne 0x140089bfc
cmp r13, rbx
jb 0x1400894c1
jmp 0x140089934
mov eax, 2
mov rsi, qword [rsp + 0xf8]
test byte [rsp + 0x100], 1
je 0x1400897b2
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xf8]
cmp qword [rax + 0x38], rdx
jbe 0x140089814
add rcx, qword [rsp + 0x130]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x1400897a0
jmp 0x140088414
lea rcx, [rsp + 0x78]
call fcn.1400caea0
mov r9, qword [rsp + 0x40]
test eax, eax
jns 0x1400897ab
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.1402711f0
mov rsi, rax
shr rsi, 0x20
jmp 0x1400897b2
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.140270540
test eax, eax
jne 0x140089c21
mov esi, edx
mov r12, r13
jmp 0x14008963a
shl r8d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, eax
call fcn.140270540
test eax, eax
jne 0x1400893a2
mov esi, edx
jmp 0x14008963a
mov r12, r13
inc r12
cmp r12, rbx
jb 0x1400894be
jmp 0x140089934
test eax, 0x8000000
je 0x140089f4c
mov eax, 1
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xb4], 0
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 1
je 0x140089914
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov dword [rsp + 0xb4], eax
mov qword [rsp + 0xe0], r12
inc r12
cmp r12, rbx
jb 0x1400894be
jmp 0x140089934
xor eax, eax
mov qword [rsp + 0xc8], rax
cmp rbx, r15
jae 0x1400899e7
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 0x140089e49
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089ec2
mov eax, edx
test eax, 0x8000000
jne 0x140089ab8
test eax, 0x20000000
mov rsi, qword [rsp + 0xc8]
je 0x140089af1
mov ecx, r15d
mov rdx, rbx
jmp 0x140088a39
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140089b8d
cmp eax, 1
jne 0x140089b97
test r12, r12
je 0x14008a041
dec r12
mov ecx, esi
mov rdx, r12
call fcn.140092890
jmp 0x140089b9e
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 0x140089fa6
mov rax, qword [rdi + 0x20]
mov edx, dword [rax + rcx*4]
test edx, edx
js 0x140089eec
test edx, 0x8000000
mov rsi, qword [rsp + 0xc8]
je 0x140089af1
mov esi, 1
xor ebp, ebp
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 1
je 0x140089a80
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov ebp, eax
mov r12, r15
jmp 0x140089af1
mov rcx, rdi
mov rdx, rbx
call fcn.140087680
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 0x140089e18
mov esi, 1
xor ebp, ebp
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 1
je 0x140089aee
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov ebp, eax
mov r12, rbx
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14008a029
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 0x140089e1b
test eax, 0x8000000
jne 0x140089cca
test eax, 0x40000000
jne 0x140089e55
test eax, 0x20000000
je 0x14008a117
mov rcx, rdi
mov rdx, r12
call fcn.140087680
cmp r12, r15
jae 0x14008a008
movzx ecx, byte [rsi + r12]
mov rdx, r12
jmp 0x140088a39
mov rcx, rdi
mov rdx, rbx
call fcn.140087680
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x140089e1b
mov rcx, r12
call fcn.1400928e0
jmp 0x140089b9e
mov edx, esi
call fcn.140092920
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x140089e1b
lea rcx, [rsp + 0x78]
call fcn.1400caea0
mov r10, qword [rsp + 0x40]
test eax, eax
jns 0x140088c49
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.1402711f0
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
jmp 0x140088c50
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x140089c21
cmp ecx, 1
jne 0x140089ea9
mov ecx, esi
mov rdx, r12
jmp 0x140088a39
mov rcx, r13
call fcn.1400928e0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x140089e1b
mov r11, rsi
xor eax, eax
test edx, 0x8000000
je 0x140087ed2
mov esi, 1
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x38], 1
je 0x140089c8a
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov r14, rdi
mov rdi, r11
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov r11, rdi
mov rdi, r14
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14008a029
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 0x140089e1b
xor eax, eax
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 1
je 0x140089cfb
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14008a029
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 0x140089e18
lea rcx, [rsp + 0x78]
call fcn.1400caea0
mov r10, qword [rsp + 0x40]
test eax, eax
jns 0x140089415
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.1402711f0
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
jmp 0x14008941c
mov r11, r15
mov r10, r12
mov eax, edx
test eax, 0x8000000
je 0x140088473
mov r10d, 1
cmp qword [r11 + 0x38], 1
jne 0x140089db1
mov dword [rsp + 0x40], 0
jmp 0x140089dd9
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
call fcn.1400cae50
mov rcx, rax
xor edx, edx
call fcn.1400d0480
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 0x14008a029
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 0x1400884e1
jmp 0x140089ddc
lea r8, [0x1402a7598]
call fcn.140274110
mov rcx, rdi
mov rdx, r12
jmp 0x140088b2d
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.140270540
test eax, eax
jne 0x140089373
jmp 0x14008913e
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, ebp
call fcn.140270540
test eax, eax
jne 0x140089f0a
jmp 0x1400891d7
mov ecx, eax
jmp 0x140088ad3
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.140274110
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.140270540
test eax, eax
jne 0x140089373
jmp 0x140089982
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.140270540
test eax, eax
je 0x140089a36
mov rcx, r15
jmp 0x140089c24
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.140274110
mov ecx, eax
mov edx, ebp
jmp 0x140089b99
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rcx, rax
call fcn.140274110
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.140274110
test eax, 0x40000000
jne 0x140089fc1
test eax, 0x20000000
je 0x14008a117
mov rcx, rdi
mov rdx, r12
call fcn.140087680
cmp r12, qword [rsp + 0xd0]
jae 0x14008a100
movzx ecx, byte [rbp + r12]
mov rdx, r12
jmp 0x140088a39
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.140274110
lea r8, str._u_
mov rcx, rax
call fcn.140274110
lea r8, [0x1402a75b0]
call fcn.140274110
lea r8, [0x1402a7598]
mov rdx, rax
call fcn.140274110
mov rcx, rdi
mov rdx, r12
jmp 0x140089a8b
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.140274110
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.140274110
lea rcx, str.no_in_progress_search_to_update
lea r8, [0x1402a7660]
mov edx, 0x1f
call fcn.140273ed0
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.140274110
mov ecx, 8
mov edx, 0x10
call fcn.140273c70
lea rcx, str.no_in_progress_search_to_finish
lea r8, [0x1402a7698]
mov edx, 0x1f
call fcn.140273ed0
lea rcx, str.no_quit_in_start_without_look_behind
lea r8, [0x1402a75f0]
mov edx, 0x24
call fcn.140273ed0
mov qword [rsp + 0xd8], r15
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x78], rax
lea rax, [0x140092820]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x88], rax
lea rax, [fcn.140192780]
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.140273f40
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutildeterminize_state.rs
mov ecx, 0xd
call fcn.140274480
lea r8, str.C:Usershulk.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutilwire.rs
mov ecx, 4
call fcn.140274500
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.140274110
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.140273f40
int3