Function at 0x69969660
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
movups xmmword [rsp + 0x60], xmm6
movups xmmword [rsp + 0x70], xmm7
movups xmmword [rsp + 0x80], xmm8
movups xmmword [rsp + 0x90], xmm9
movups xmmword [rsp + 0xa0], xmm10
movups xmmword [rsp + 0xb0], xmm11
movups xmmword [rsp + 0xc0], xmm12
movups xmmword [rsp + 0xd0], xmm13
movups xmmword [rsp + 0xe0], xmm14
movups xmmword [rsp + 0xf0], xmm15
movabs r8, 0x1fffffffffffffe
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x48], rdx
movzx edx, byte [rcx + 0x286]
movzx ecx, byte [rdi + 0x13]
mov r15, qword [rdi + 8]
mov r10, qword [r12 + 0x248]
mov eax, edx
add ecx, 7
sar ecx, 3
cmp r15, r8
jbe 0x69969e28
mov r13d, edx
neg r13d
and edx, r13d
mov r13, 0xfffffffffffffeff
cmp edx, 0x10
je 0x6996abe0
test dl, 0x10
jne 0x6996a5d0
cmp edx, 0x20
je 0x6996a200
test dl, 0x20
je 0x69969908
mov rbp, qword [r12 + 0x250]
mov rbx, qword [r12 + 0x248]
mov rsi, qword [r12 + 0x240]
mov byte [rbp], 2
test r15, r15
je 0x6996dacf
mov r14, r15
xor r9d, r9d
xor r11d, r11d
mov edi, 0x100
and r14d, 3
je 0x6996981d
cmp r14, 1
je 0x699697e1
cmp r14, 2
je 0x699697ae
movzx r9d, byte [rbx + 1]
sub r9b, byte [rsi + 1]
mov byte [rbp + 1], r9b
jns 0x6996d25c
movzx eax, r9b
mov r8d, edi
sub r8d, eax
mov r11, r8
cmp r13, r11
jb 0x69969908
mov r9d, 1
movzx r14d, byte [rbx + r9 + 1]
sub r14b, byte [rsi + r9 + 1]
mov byte [rbp + r9 + 1], r14b
jns 0x6996d050
movzx eax, r14b
mov r8d, edi
sub r8d, eax
mov r14, r8
add r11, r14
cmp r13, r11
jb 0x69969908
add r9, 1
movzx eax, byte [rbx + r9 + 1]
sub al, byte [rsi + r9 + 1]
mov byte [rbp + r9 + 1], al
jns 0x6996cec0
movzx r8d, al
mov r14d, edi
sub r14d, r8d
mov rax, r14
add r11, rax
cmp r13, r11
jb 0x69969908
add r9, 1
cmp r15, r9
je 0x699698cf
movzx r8d, byte [rbx + r9 + 1]
sub r8b, byte [rsi + r9 + 1]
mov byte [rbp + r9 + 1], r8b
js 0x6996cd30
movzx r14d, r8b
add r11, r14
cmp r13, r11
jb 0x69969908
add r9, 1
movzx eax, byte [rbx + r9 + 1]
sub al, byte [rsi + r9 + 1]
mov byte [rbp + r9 + 1], al
js 0x6996cd48
movzx eax, al
add r11, rax
cmp r13, r11
jb 0x69969908
movzx r8d, byte [rbx + r9 + 2]
sub r8b, byte [rsi + r9 + 2]
mov byte [rbp + r9 + 2], r8b
jns 0x6996cdb8
movzx eax, r8b
mov r8d, edi
sub r8d, eax
mov r14, r8
add r11, r14
cmp r13, r11
jb 0x69969908
movzx eax, byte [rbx + r9 + 3]
sub al, byte [rsi + r9 + 3]
mov byte [rbp + r9 + 3], al
jns 0x6996cdc8
movzx r8d, al
mov r14d, edi
sub r14d, r8d
mov rax, r14
add r11, rax
cmp r13, r11
jb 0x69969908
add r9, 3
cmp r15, r9
jne 0x6996981d
cmp r13, r11
jbe 0x69969908
mov rbp, qword [r12 + 0x258]
mov r10, qword [r12 + 0x250]
mov r13, r11
test rbp, rbp
je 0x69969908
movq xmm15, rbp
movq xmm7, r10
punpcklqdq xmm15, xmm7
movups xmmword [r12 + 0x250], xmm15
nop dword [rax]
cmp edx, 0x40
jne 0x6996b250
mov r11, qword [r12 + 0x250]
mov rdx, qword [r12 + 0x248]
mov rbx, qword [r12 + 0x240]
mov byte [r11], 3
lea r9, [rdx + 1]
lea r8, [r11 + 1]
lea r10, [rbx + 1]
test ecx, ecx
je 0x6996d37e
lea r13, [rbx + 0x11]
lea r14, [r11 + 0x11]
cmp r8, r13
lea rax, [rdx + 0x11]
lea edi, [rcx - 1]
setae sil
cmp r10, r14
setae bpl
or esi, ebp
cmp r8, rax
setae r13b
cmp r9, r14
setae r14b
or r13d, r14d
test sil, r13b
je 0x6996d3c0
cmp edi, 0xe
jbe 0x6996d3c0
mov esi, ecx
mov eax, 1
pxor xmm12, xmm12
movdqu xmm13, xmmword [0x699fe620]
shr esi, 4
lea ebp, [rsi - 1]
shl rbp, 4
add rbp, 0x11
nop word cs:[rax + rax]
movdqu xmm8, xmmword [rbx + rax]
movdqu xmm6, xmm8
punpckhbw xmm8, xmm12
punpcklbw xmm6, xmm12
psrlw xmm8, 1
psrlw xmm6, 1
pand xmm8, xmm13
pand xmm6, xmm13
movdqu xmm0, xmm6
packuswb xmm0, xmm8
movdqu xmm4, xmm0
movdqu xmm0, xmmword [rdx + rax]
psubb xmm0, xmm4
movups xmmword [r11 + rax], xmm0
add rax, 0x10
cmp rax, rbp
jne 0x699699b0
mov r11d, ecx
mov esi, edi
and r11d, 0xfffffff0
mov eax, r11d
lea rbx, [r9 + rax]
lea rbp, [r10 + rax]
add rax, r8
cmp ecx, r11d
je 0x69969bf0
movzx r13d, byte [rbp]
movzx r14d, byte [rbx]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 1]
mov byte [rax], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 1]
movzx r14d, byte [rbx + 1]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 2]
mov byte [rax + 1], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 2]
movzx r14d, byte [rbx + 2]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 3]
mov byte [rax + 2], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 3]
movzx r14d, byte [rbx + 3]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 4]
mov byte [rax + 3], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 4]
movzx r14d, byte [rbx + 4]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 5]
mov byte [rax + 4], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 5]
movzx r14d, byte [rbx + 5]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 6]
mov byte [rax + 5], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 6]
movzx r14d, byte [rbx + 6]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 7]
mov byte [rax + 6], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx r13d, byte [rbp + 7]
movzx r14d, byte [rbx + 7]
shr r13b, 1
sub r14d, r13d
lea r13d, [r11 + 8]
mov byte [rax + 7], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx esi, byte [rbp + 8]
movzx r14d, byte [rbx + 8]
lea r13d, [r11 + 9]
shr sil, 1
sub r14d, esi
mov esi, edi
mov byte [rax + 8], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx edi, byte [rbp + 9]
movzx r14d, byte [rbx + 9]
lea r13d, [r11 + 0xa]
shr dil, 1
sub r14d, edi
mov byte [rax + 9], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx edi, byte [rbp + 0xa]
movzx r14d, byte [rbx + 0xa]
lea r13d, [r11 + 0xb]
shr dil, 1
sub r14d, edi
mov byte [rax + 0xa], r14b
cmp r13d, ecx
jae 0x69969bf0
movzx edi, byte [rbp + 0xb]
movzx r14d, byte [rbx + 0xb]
lea r13d, [r11 + 0xc]
shr dil, 1
sub r14d, edi
mov byte [rax + 0xb], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx edi, byte [rbp + 0xc]
movzx r14d, byte [rbx + 0xc]
lea r13d, [r11 + 0xd]
shr dil, 1
sub r14d, edi
mov byte [rax + 0xc], r14b
cmp ecx, r13d
jbe 0x69969bf0
movzx edi, byte [rbp + 0xd]
movzx r14d, byte [rbx + 0xd]
add r11d, 0xe
shr dil, 1
sub r14d, edi
mov byte [rax + 0xd], r14b
cmp ecx, r11d
jbe 0x69969bf0
movzx ebp, byte [rbp + 0xe]
movzx r11d, byte [rbx + 0xe]
shr bpl, 1
sub r11d, ebp
mov byte [rax + 0xe], r11b
nop dword [rax]
lea rbx, [rsi + 1]
mov eax, ecx
add r9, rbx
add r10, rbx
add r8, rbx
lea r11d, [rcx + 1]
cmp r15, rax
jbe 0x69969d28
movzx r13d, byte [rdx + 1]
movzx esi, byte [r10]
mov ecx, r15d
mov edi, r11d
movzx eax, byte [r9]
sub ecx, r11d
add esi, r13d
and ecx, 3
mov r13d, 1
sar esi, 1
sub eax, esi
mov byte [r8], al
cmp r15, rdi
jbe 0x69969d28
test ecx, ecx
je 0x69969c9c
cmp ecx, 1
je 0x69969c6e
cmp ecx, 2
jne 0x6996d108
movzx eax, byte [r10 + r13]
movzx ebp, byte [rdx + r13 + 1]
movzx ecx, byte [r9 + r13]
add eax, ebp
sar eax, 1
sub ecx, eax
mov byte [r8 + r13], cl
add r13, 1
movzx r14d, byte [r10 + r13]
movzx ebx, byte [rdx + r13 + 1]
lea eax, [r11 + r13]
movzx ecx, byte [r9 + r13]
add r14d, ebx
sar r14d, 1
sub ecx, r14d
mov byte [r8 + r13], cl
add r13, 1
cmp r15, rax
jbe 0x69969d28
movzx edi, byte [rdx + r13 + 1]
movzx ebp, byte [r10 + r13]
movzx ecx, byte [r9 + r13]
add ebp, edi
sar ebp, 1
sub ecx, ebp
mov byte [r8 + r13], cl
movzx esi, byte [rdx + r13 + 2]
movzx r14d, byte [r10 + r13 + 1]
movzx ecx, byte [r9 + r13 + 1]
add r14d, esi
sar r14d, 1
sub ecx, r14d
mov byte [r8 + r13 + 1], cl
movzx ebp, byte [r10 + r13 + 2]
movzx edi, byte [rdx + r13 + 3]
movzx ecx, byte [r9 + r13 + 2]
add ebp, edi
sar ebp, 1
sub ecx, ebp
lea ebp, [r11 + r13 + 3]
mov byte [r8 + r13 + 2], cl
movzx r14d, byte [r10 + r13 + 3]
movzx esi, byte [rdx + r13 + 4]
movzx ecx, byte [r9 + r13 + 3]
add r14d, esi
sar r14d, 1
sub ecx, r14d
mov byte [r8 + r13 + 3], cl
add r13, 4
cmp r15, rbp
ja 0x69969c9c
nop dword [rax]
mov r10, qword [r12 + 0x250]
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, r12
mov r14, qword [rdx + 8]
mov rdx, r10
lea r8, [r14 + 1]
call fcn.699316e0
mov r10, qword [r12 + 0x240]
test r10, r10
je 0x69969d70
mov r15, qword [r12 + 0x248]
mov qword [r12 + 0x248], r10
mov qword [r12 + 0x240], r15
mov ebp, dword [r12 + 0x234]
add ebp, 1
mov dword [r12 + 0x234], ebp
cmp ebp, dword [r12 + 0x220]
jb 0x69969d95
mov rcx, r12
call fcn.6996db10
mov ecx, dword [r12 + 0x2bc]
mov r8d, dword [r12 + 0x2b8]
add ecx, 1
mov dword [r12 + 0x2bc], ecx
cmp ecx, r8d
jb 0x69969dbe
test r8d, r8d
jne 0x6996cdd0
movups xmm6, xmmword [rsp + 0x60]
movups xmm7, xmmword [rsp + 0x70]
movups xmm8, xmmword [rsp + 0x80]
movups xmm9, xmmword [rsp + 0x90]
movups xmm10, xmmword [rsp + 0xa0]
movups xmm11, xmmword [rsp + 0xb0]
movups xmm12, xmmword [rsp + 0xc0]
movups xmm13, xmmword [rsp + 0xd0]
movups xmm14, xmmword [rsp + 0xe0]
movups xmm15, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test al, 8
je 0x6996abd0
cmp edx, 8
je 0x6996c5d0
lea r9, [r10 + 1]
test r15, r15
je 0x6996dabd
lea rbx, [r15 - 1]
cmp rbx, 0xe
jbe 0x6996dac5
mov r11, r15
pxor xmm3, xmm3
pxor xmm10, xmm10
mov rbp, r10
movdqu xmm7, xmmword [0x699fe610]
and r11, 0xfffffffffffffff0
movdqu xmm6, xmmword [0x699fe5f0]
pxor xmm8, xmm8
movdqu xmm9, xmmword [0x699fe600]
add r11, r10
pxor xmm5, xmm5
psubd xmm6, xmm7
movdqu xmm4, xmmword [rbp + 1]
movdqu xmm13, xmm9
movdqu xmm15, xmm9
movdqu xmm0, xmm9
add rbp, 0x10
movdqu xmm11, xmm4
punpckhbw xmm4, xmm10
punpcklbw xmm11, xmm10
movdqu xmm12, xmm4
punpckhwd xmm4, xmm8
movdqu xmm2, xmm11
punpckhwd xmm11, xmm8
punpcklwd xmm12, xmm8
movdqu xmm14, xmm11
psubd xmm13, xmm11
punpcklwd xmm2, xmm8
psubd xmm14, xmm7
movdqu xmm1, xmm2
psubd xmm15, xmm12
pcmpgtd xmm14, xmm6
psubd xmm1, xmm7
psubd xmm0, xmm2
pcmpgtd xmm1, xmm6
pand xmm13, xmm14
pandn xmm14, xmm11
movdqu xmm11, xmm12
psubd xmm11, xmm7
pand xmm0, xmm1
pandn xmm1, xmm2
pcmpgtd xmm11, xmm6
por xmm0, xmm1
por xmm13, xmm14
movdqu xmm2, xmm9
movdqu xmm1, xmm0
movdqu xmm14, xmm13
psubd xmm2, xmm4
punpckldq xmm1, xmm5
punpckhdq xmm0, xmm5
pand xmm15, xmm11
pandn xmm11, xmm12
movdqu xmm12, xmm4
psubd xmm12, xmm7
punpckldq xmm14, xmm5
punpckhdq xmm13, xmm5
pcmpgtd xmm12, xmm6
por xmm15, xmm11
paddq xmm13, xmm14
paddq xmm0, xmm1
paddq xmm0, xmm13
movdqu xmm13, xmm15
punpckhdq xmm15, xmm5
pand xmm2, xmm12
pandn xmm12, xmm4
punpckldq xmm13, xmm5
movdqu xmm4, xmm12
paddq xmm15, xmm13
por xmm4, xmm2
movdqu xmm11, xmm4
punpckhdq xmm4, xmm5
punpckldq xmm11, xmm5
paddq xmm3, xmm4
paddq xmm15, xmm11
paddq xmm0, xmm15
paddq xmm3, xmm0
cmp rbp, r11
jne 0x69969e90
movdqu xmm9, xmm3
mov rsi, r15
psrldq xmm9, 8
and rsi, 0xfffffffffffffff0
paddq xmm3, xmm9
add r9, rsi
movq r13, xmm3
cmp r15, rsi
je 0x69969712
movzx r14d, byte [r9]
mov rdi, r14
test r14b, r14b
jns 0x6996a004
mov edi, 0x100
sub edi, r14d
lea rax, [rsi + 1]
add r13, rdi
cmp r15, rax
jbe 0x69969712
movzx ebx, byte [r9 + 1]
mov r8, rbx
test bl, bl
jns 0x6996a029
mov r8d, 0x100
sub r8d, ebx
lea rbp, [rsi + 2]
add r13, r8
cmp r15, rbp
jbe 0x69969712
movzx r11d, byte [r9 + 2]
mov r14, r11
test r11b, r11b
jns 0x6996a04f
mov r14d, 0x100
sub r14d, r11d
lea rdi, [rsi + 3]
add r13, r14
cmp r15, rdi
jbe 0x69969712
movzx eax, byte [r9 + 3]
mov rbx, rax
test al, al
js 0x6996d0a0
lea r8, [rsi + 4]
add r13, rbx
cmp r15, r8
jbe 0x69969712
movzx ebp, byte [r9 + 4]
mov r11, rbp
test bpl, bpl
js 0x6996d0d8
lea r14, [rsi + 5]
add r13, r11
cmp r15, r14
jbe 0x69969712
movzx edi, byte [r9 + 5]
mov rax, rdi
test dil, dil
js 0x6996d170
lea rbx, [rsi + 6]
add r13, rax
cmp r15, rbx
jbe 0x69969712
movzx ebp, byte [r9 + 6]
mov r8, rbp
test bpl, bpl
js 0x6996d1c0
lea r11, [rsi + 7]
add r13, r8
cmp r15, r11
jbe 0x69969712
movzx r14d, byte [r9 + 7]
mov rdi, r14
test r14b, r14b
js 0x6996d209
lea rax, [rsi + 8]
add r13, rdi
cmp r15, rax
jbe 0x69969712
movzx ebx, byte [r9 + 8]
mov rbp, rbx
test bl, bl
js 0x6996d250
lea r8, [rsi + 9]
add r13, rbp
cmp r15, r8
jbe 0x69969712
movzx r11d, byte [r9 + 9]
mov r14, r11
test r11b, r11b
jns 0x6996a139
mov r14d, 0x100
sub r14d, r11d
lea rdi, [rsi + 0xa]
add r13, r14
cmp r15, rdi
jbe 0x69969712
movzx eax, byte [r9 + 0xa]
mov rbx, rax
test al, al
jns 0x6996a15c
mov ebx, 0x100
sub ebx, eax
lea rbp, [rsi + 0xb]
add r13, rbx
cmp r15, rbp
jbe 0x69969712
movzx r11d, byte [r9 + 0xb]
mov r8, r11
test r11b, r11b
jns 0x6996a182
mov r8d, 0x100
sub r8d, r11d
lea r14, [rsi + 0xc]
add r13, r8
cmp r15, r14
jbe 0x69969712
movzx edi, byte [r9 + 0xc]
mov rax, rdi
test dil, dil
jns 0x6996a1a6
mov eax, 0x100
sub eax, edi
lea rbx, [rsi + 0xd]
add r13, rax
cmp r15, rbx
jbe 0x69969712
movzx ebp, byte [r9 + 0xd]
mov r11, rbp
test bpl, bpl
jns 0x6996a1cc
mov r11d, 0x100
sub r11d, ebp
add rsi, 0xe
add r13, r11
cmp r15, rsi
jbe 0x69969712
movzx r9d, byte [r9 + 0xe]
movzx r8d, r9b
test r9b, r9b
jns 0x6996a1f3
mov r8d, 0x100
sub r8d, r9d
add r13, r8
jmp 0x69969712
mov rdx, qword [r12 + 0x250]
mov r8, qword [r12 + 0x248]
mov r13, qword [r12 + 0x240]
mov byte [rdx], 2
lea r11, [r8 + 1]
lea r10, [rdx + 1]
lea rdi, [r13 + 1]
test r15, r15
je 0x69969d28
lea r9, [r8 + 0x11]
lea rbx, [rdx + 0x11]
cmp r10, r9
lea rcx, [r13 + 0x11]
setae r14b
cmp r11, rbx
setae sil
or r14d, esi
cmp r10, rcx
setae al
cmp rdi, rbx
setae bpl
or eax, ebp
test r14b, al
je 0x6996cef0
lea rbx, [r15 - 1]
cmp rbx, 0xe
jbe 0x6996cef0
mov r9, r15
mov esi, 1
and r9, 0xfffffffffffffff0
lea r14, [r9 + 1]
sub r9, 0x10
shr r9, 4
add r9, 1
and r9d, 7
je 0x6996a36e
cmp r9, 1
je 0x6996a34c
cmp r9, 2
je 0x6996a331
cmp r9, 3
je 0x6996a317
cmp r9, 4
je 0x6996a2fc
cmp r9, 5
je 0x6996a2e3
cmp r9, 6
jne 0x6996d216
movdqu xmm5, xmmword [r8 + rsi]
movdqu xmm9, xmmword [r13 + rsi]
psubb xmm5, xmm9
movups xmmword [rdx + rsi], xmm5
add rsi, 0x10
movdqu xmm7, xmmword [r8 + rsi]
movdqu xmm2, xmmword [r13 + rsi]
psubb xmm7, xmm2
movups xmmword [rdx + rsi], xmm7
add rsi, 0x10
movdqu xmm11, xmmword [r8 + rsi]
movdqu xmm3, xmmword [r13 + rsi]
psubb xmm11, xmm3
movups xmmword [rdx + rsi], xmm11
add rsi, 0x10
movdqu xmm1, xmmword [r8 + rsi]
movdqu xmm13, xmmword [r13 + rsi]
psubb xmm1, xmm13
movups xmmword [rdx + rsi], xmm1
add rsi, 0x10
movdqu xmm12, xmmword [r8 + rsi]
movdqu xmm8, xmmword [r13 + rsi]
psubb xmm12, xmm8
movups xmmword [rdx + rsi], xmm12
add rsi, 0x10
movdqu xmm4, xmmword [r8 + rsi]
movdqu xmm6, xmmword [r13 + rsi]
psubb xmm4, xmm6
movups xmmword [rdx + rsi], xmm4
add rsi, 0x10
cmp rsi, r14
je 0x6996a43a
movdqu xmm0, xmmword [r8 + rsi]
movdqu xmm10, xmmword [r13 + rsi]
psubb xmm0, xmm10
movups xmmword [rdx + rsi], xmm0
movdqu xmm15, xmmword [r8 + rsi + 0x10]
movdqu xmm14, xmmword [r13 + rsi + 0x10]
psubb xmm15, xmm14
movups xmmword [rdx + rsi + 0x10], xmm15
movdqu xmm5, xmmword [r8 + rsi + 0x20]
movdqu xmm9, xmmword [r13 + rsi + 0x20]
psubb xmm5, xmm9
movups xmmword [rdx + rsi + 0x20], xmm5
movdqu xmm7, xmmword [r8 + rsi + 0x30]
movdqu xmm2, xmmword [r13 + rsi + 0x30]
psubb xmm7, xmm2
movups xmmword [rdx + rsi + 0x30], xmm7
movdqu xmm11, xmmword [r8 + rsi + 0x40]
movdqu xmm3, xmmword [r13 + rsi + 0x40]
psubb xmm11, xmm3
movups xmmword [rdx + rsi + 0x40], xmm11
movdqu xmm1, xmmword [r8 + rsi + 0x50]
movdqu xmm13, xmmword [r13 + rsi + 0x50]
psubb xmm1, xmm13
movups xmmword [rdx + rsi + 0x50], xmm1
movdqu xmm12, xmmword [r8 + rsi + 0x60]
movdqu xmm8, xmmword [r13 + rsi + 0x60]
psubb xmm12, xmm8
movups xmmword [rdx + rsi + 0x60], xmm12
movdqu xmm4, xmmword [r8 + rsi + 0x70]
movdqu xmm6, xmmword [r13 + rsi + 0x70]
psubb xmm4, xmm6
movups xmmword [rdx + rsi + 0x70], xmm4
sub rsi, 0xffffffffffffff80
cmp rsi, r14
jne 0x6996a36e
mov r8, r15
and r8, 0xfffffffffffffff0
add r11, r8
add rdi, r8
add r10, r8
cmp r15, r8
je 0x69969d28
movzx edx, byte [r11]
lea r13, [r8 + 1]
sub dl, byte [rdi]
mov byte [r10], dl
cmp r15, r13
jbe 0x69969d28
movzx ecx, byte [r11 + 1]
lea rax, [r8 + 2]
sub cl, byte [rdi + 1]
mov byte [r10 + 1], cl
cmp r15, rax
jbe 0x69969d28
movzx ebp, byte [r11 + 2]
lea rbx, [r8 + 3]
sub bpl, byte [rdi + 2]
mov byte [r10 + 2], bpl
cmp r15, rbx
jbe 0x69969d28
movzx r9d, byte [r11 + 3]
lea r14, [r8 + 4]
sub r9b, byte [rdi + 3]
mov byte [r10 + 3], r9b
cmp r15, r14
jbe 0x69969d28
movzx esi, byte [r11 + 4]
lea rdx, [r8 + 5]
sub sil, byte [rdi + 4]
mov byte [r10 + 4], sil
cmp r15, rdx
jbe 0x69969d28
movzx r13d, byte [r11 + 5]
lea rcx, [r8 + 6]
sub r13b, byte [rdi + 5]
mov byte [r10 + 5], r13b
cmp r15, rcx
jbe 0x69969d28
movzx eax, byte [r11 + 6]
lea rbp, [r8 + 7]
sub al, byte [rdi + 6]
mov byte [r10 + 6], al
cmp r15, rbp
jbe 0x69969d28
movzx ebx, byte [r11 + 7]
lea r9, [r8 + 8]
sub bl, byte [rdi + 7]
mov byte [r10 + 7], bl
cmp r15, r9
jbe 0x69969d28
movzx r14d, byte [r11 + 8]
lea rsi, [r8 + 9]
sub r14b, byte [rdi + 8]
mov byte [r10 + 8], r14b
cmp r15, rsi
jbe 0x69969d28
movzx edx, byte [r11 + 9]
lea r13, [r8 + 0xa]
sub dl, byte [rdi + 9]
mov byte [r10 + 9], dl
cmp r15, r13
jbe 0x69969d28
movzx ecx, byte [r11 + 0xa]
lea rax, [r8 + 0xb]
sub cl, byte [rdi + 0xa]
mov byte [r10 + 0xa], cl
cmp r15, rax
jbe 0x69969d28
movzx ebp, byte [r11 + 0xb]
lea rbx, [r8 + 0xc]
sub bpl, byte [rdi + 0xb]
mov byte [r10 + 0xb], bpl
cmp r15, rbx
jbe 0x69969d28
movzx r9d, byte [r11 + 0xc]
lea r14, [r8 + 0xd]
sub r9b, byte [rdi + 0xc]
mov byte [r10 + 0xc], r9b
cmp r15, r14
jbe 0x69969d28
movzx esi, byte [r11 + 0xd]
add r8, 0xe
sub sil, byte [rdi + 0xd]
mov byte [r10 + 0xd], sil
cmp r15, r8
jbe 0x69969d28
movzx r15d, byte [r11 + 0xe]
sub r15b, byte [rdi + 0xe]
mov byte [r10 + 0xe], r15b
jmp 0x69969d28
mov rbx, qword [r12 + 0x250]
lea r11, [r10 + 1]
movsxd r8, ecx
mov byte [rbx], 1
lea r9, [rbx + 1]
test ecx, ecx
je 0x6996dab3
lea r14, [r10 + 0x11]
lea rbp, [rbx + 0x11]
cmp r9, r14
setae dil
cmp r11, rbp
setae sil
or dil, sil
je 0x6996d310
lea rax, [r8 - 1]
cmp rax, 0xe
jbe 0x6996d310
movdqu xmm6, xmmword [0x699fe610]
mov r14, r8
movdqu xmm5, xmmword [0x699fe5f0]
mov edi, 1
pxor xmm3, xmm3
pxor xmm7, xmm7
pxor xmm4, xmm4
and r14d, 0x30
add r14, 1
pxor xmm15, xmm15
psubd xmm5, xmm6
movdqu xmm8, xmmword [0x699fe600]
nop dword [rax]
movdqu xmm10, xmmword [r10 + rdi]
movdqu xmm13, xmm8
movdqu xmm9, xmm8
movdqu xmm0, xmm8
movdqu xmm14, xmm10
movups xmmword [rbx + rdi], xmm10
punpckhbw xmm10, xmm15
add rdi, 0x10
punpcklbw xmm14, xmm15
movdqu xmm12, xmm10
punpckhwd xmm10, xmm7
movdqu xmm2, xmm14
punpckhwd xmm14, xmm7
punpcklwd xmm12, xmm7
movdqu xmm11, xmm14
psubd xmm13, xmm14
punpcklwd xmm2, xmm7
psubd xmm11, xmm6
movdqu xmm1, xmm2
psubd xmm9, xmm12
pcmpgtd xmm11, xmm5
psubd xmm1, xmm6
psubd xmm0, xmm2
pcmpgtd xmm1, xmm5
pand xmm13, xmm11
pandn xmm11, xmm14
movdqu xmm14, xmm12
psubd xmm14, xmm6
pand xmm0, xmm1
pandn xmm1, xmm2
pcmpgtd xmm14, xmm5
por xmm0, xmm1
por xmm13, xmm11
movdqu xmm2, xmm8
movdqu xmm1, xmm0
movdqu xmm11, xmm13
psubd xmm2, xmm10
punpckldq xmm1, xmm4
punpckhdq xmm0, xmm4
pand xmm9, xmm14
pandn xmm14, xmm12
movdqu xmm12, xmm10
psubd xmm12, xmm6
punpckldq xmm11, xmm4
punpckhdq xmm13, xmm4
pcmpgtd xmm12, xmm5
por xmm9, xmm14
paddq xmm13, xmm11
paddq xmm0, xmm1
paddq xmm0, xmm13
movdqu xmm13, xmm9
punpckhdq xmm9, xmm4
pand xmm2, xmm12
pandn xmm12, xmm10
punpckldq xmm13, xmm4
movdqu xmm10, xmm12
paddq xmm9, xmm13
por xmm10, xmm2
movdqu xmm14, xmm10
punpckhdq xmm10, xmm4
punpckldq xmm14, xmm4
paddq xmm3, xmm10
paddq xmm9, xmm14
paddq xmm0, xmm9
paddq xmm3, xmm0
cmp rdi, r14
jne 0x6996a660
movdqu xmm8, xmm3
mov rbx, r8
psrldq xmm8, 8
and rbx, 0xfffffffffffffff0
paddq xmm3, xmm8
lea rdi, [r11 + rbx]
movq rax, xmm3
lea rsi, [r9 + rbx]
cmp r8, rbx
je 0x6996aa08
movzx r14d, byte [rdi]
mov byte [rsi], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a7e5
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 1]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 1]
mov byte [rsi + 1], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a80e
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 2]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 2]
mov byte [rsi + 2], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a837
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 3]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 3]
mov byte [rsi + 3], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a860
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 4]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 4]
mov byte [rsi + 4], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a889
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 5]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 5]
mov byte [rsi + 5], r14b
mov rbp, r14
test r14b, r14b
js 0x6996d060
lea r14, [rbx + 6]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 6]
mov byte [rsi + 6], r14b
mov rbp, r14
test r14b, r14b
js 0x6996d0c8
lea r14, [rbx + 7]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 7]
mov byte [rsi + 7], r14b
mov rbp, r14
test r14b, r14b
js 0x6996d148
lea r14, [rbx + 8]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 8]
mov byte [rsi + 8], r14b
mov rbp, r14
test r14b, r14b
js 0x6996d198
lea r14, [rbx + 9]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 9]
mov byte [rsi + 9], r14b
mov rbp, r14
test r14b, r14b
js 0x6996d1ea
lea r14, [rbx + 0xa]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 0xa]
mov byte [rsi + 0xa], r14b
mov rbp, r14
test r14b, r14b
js 0x6996d243
lea r14, [rbx + 0xb]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 0xb]
mov byte [rsi + 0xb], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a990
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 0xc]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 0xc]
mov byte [rsi + 0xc], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a9b5
mov ebp, 0x100
sub ebp, r14d
lea r14, [rbx + 0xd]
add rax, rbp
cmp r8, r14
jbe 0x6996aa08
movzx r14d, byte [rdi + 0xd]
mov byte [rsi + 0xd], r14b
mov rbp, r14
test r14b, r14b
jns 0x6996a9da
mov ebp, 0x100
sub ebp, r14d
add rbx, 0xe
add rax, rbp
cmp r8, rbx
jbe 0x6996aa08
movzx edi, byte [rdi + 0xe]
mov byte [rsi + 0xe], dil
movzx esi, dil
test dil, dil
jns 0x6996a9fe
mov esi, 0x100
sub esi, edi
add rax, rsi
nop dword [rax]
add r11, r8
add r9, r8
cmp r15, r8
jbe 0x6996ab8d
mov rdi, r15
mov esi, 0x100
sub rdi, r8
xor r8d, r8d
mov rbx, rdi
and ebx, 3
je 0x6996aad5
cmp rbx, 1
je 0x6996aa9b
cmp rbx, 2
je 0x6996aa6d
movzx r8d, byte [r11]
sub r8b, byte [r10 + 1]
mov byte [r9], r8b
jns 0x6996d1d0
movzx r14d, r8b
mov r8d, esi
sub r8d, r14d
mov rbp, r8
add rax, rbp
cmp r13, rax
jb 0x69969724
mov r8d, 1
movzx ebx, byte [r11 + r8]
sub bl, byte [r10 + r8 + 1]
mov byte [r9 + r8], bl
jns 0x6996cee0
movzx ebp, bl
mov ebx, esi
sub ebx, ebp
mov r14, rbx
add rax, r14
cmp r13, rax
jb 0x69969724
add r8, 1
movzx ebp, byte [r11 + r8]
sub bpl, byte [r10 + r8 + 1]
mov byte [r9 + r8], bpl
jns 0x6996ceb0
movzx ebx, bpl
mov r14d, esi
sub r14d, ebx
mov rbp, r14
add rax, rbp
cmp r13, rax
jb 0x69969724
add r8, 1
cmp r8, rdi
je 0x6996ab8d
movzx ebx, byte [r11 + r8]
sub bl, byte [r10 + r8 + 1]
mov byte [r9 + r8], bl
js 0x6996cd70
movzx r14d, bl
add rax, r14
cmp r13, rax
jb 0x69969724
movzx ebx, byte [r11 + r8 + 1]
sub bl, byte [r10 + r8 + 2]
lea rbp, [r8 + 1]
mov byte [r9 + r8 + 1], bl
js 0x6996cd80
movzx r14d, bl
add rax, r14
cmp r13, rax
jb 0x69969724
movzx r8d, byte [r11 + rbp + 1]
sub r8b, byte [r10 + rbp + 2]
mov byte [r9 + rbp + 1], r8b
jns 0x6996cd98
movzx r14d, r8b
mov r8d, esi
sub r8d, r14d
mov rbx, r8
add rax, rbx
cmp r13, rax
jb 0x69969724
movzx r14d, byte [r11 + rbp + 2]
sub r14b, byte [r10 + rbp + 3]
mov byte [r9 + rbp + 2], r14b
jns 0x6996cda8
movzx r8d, r14b
mov ebx, esi
sub ebx, r8d
mov r14, rbx
add rax, r14
cmp r13, rax
jb 0x69969724
lea r8, [rbp + 3]
cmp r8, rdi
jne 0x6996aad5
cmp r13, rax
jbe 0x69969724
mov r11, qword [r12 + 0x258]
mov r10, qword [r12 + 0x250]
mov r13, rax
test r11, r11
je 0x69969724
movq xmm3, r11
movq xmm6, r10
punpcklqdq xmm3, xmm6
movups xmmword [r12 + 0x250], xmm3
jmp 0x69969724
mov r13, 0xfffffffffffffeff
cmp edx, 0x10
jne 0x6996971b
mov r13, qword [r12 + 0x250]
lea rdi, [r10 + 1]
movsxd r8, ecx
mov byte [r13], 1
lea rdx, [r13 + 1]
test ecx, ecx
je 0x6996d373
lea rsi, [r10 + 0x11]
lea rcx, [r13 + 0x11]
cmp rdx, rsi
setae r11b
cmp rdi, rcx
setae al
or r11b, al
je 0x6996d550
lea rbp, [r8 - 1]
cmp rbp, 0xe
jbe 0x6996d550
mov r9, r8
mov r14d, 1
and r9d, 0x30
lea rbx, [r9 + 1]
sub r9, 0x10
shr r9, 4
add r9, 1
and r9d, 7
je 0x6996aced
cmp r9, 1
je 0x6996acd8
cmp r9, 2
je 0x6996acc8
cmp r9, 3
je 0x6996acb8
cmp r9, 4
je 0x6996aca8
cmp r9, 5
je 0x6996ac98
cmp r9, 6
je 0x6996ac88
movdqu xmm0, xmmword [r10 + 1]
mov r14d, 0x11
movups xmmword [r13 + 1], xmm0
movdqu xmm10, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm10
add r14, 0x10
movdqu xmm15, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm15
add r14, 0x10
movdqu xmm14, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm14
add r14, 0x10
movdqu xmm5, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm5
add r14, 0x10
movdqu xmm9, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm9
add r14, 0x10
movdqu xmm7, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm7
add r14, 0x10
cmp r14, rbx
je 0x6996ad5d
movdqu xmm2, xmmword [r10 + r14]
movups xmmword [r13 + r14], xmm2
movdqu xmm11, xmmword [r10 + r14 + 0x10]
movups xmmword [r13 + r14 + 0x10], xmm11
movdqu xmm3, xmmword [r10 + r14 + 0x20]
movups xmmword [r13 + r14 + 0x20], xmm3
movdqu xmm1, xmmword [r10 + r14 + 0x30]
movups xmmword [r13 + r14 + 0x30], xmm1
movdqu xmm13, xmmword [r10 + r14 + 0x40]
movups xmmword [r13 + r14 + 0x40], xmm13
movdqu xmm12, xmmword [r10 + r14 + 0x50]
movups xmmword [r13 + r14 + 0x50], xmm12
movdqu xmm8, xmmword [r10 + r14 + 0x60]
movups xmmword [r13 + r14 + 0x60], xmm8
movdqu xmm4, xmmword [r10 + r14 + 0x70]
movups xmmword [r13 + r14 + 0x70], xmm4
sub r14, 0xffffffffffffff80
cmp r14, rbx
jne 0x6996aced
mov r13, r8
and r13, 0xfffffffffffffff0
lea rsi, [rdi + r13]
lea r11, [rdx + r13]
cmp r8, r13
je 0x6996ae90
movzx ecx, byte [rsi]
lea rax, [r13 + 1]
mov byte [r11], cl
cmp r8, rax
jbe 0x6996ae90
movzx ebp, byte [rsi + 1]
lea r9, [r13 + 2]
mov byte [r11 + 1], bpl
cmp r8, r9
jbe 0x6996ae90
movzx ebx, byte [rsi + 2]
lea r14, [r13 + 3]
mov byte [r11 + 2], bl
cmp r8, r14
jbe 0x6996ae90
movzx ecx, byte [rsi + 3]
lea rax, [r13 + 4]
mov byte [r11 + 3], cl
cmp r8, rax
jbe 0x6996ae90
movzx ebp, byte [rsi + 4]
lea r9, [r13 + 5]
mov byte [r11 + 4], bpl
cmp r8, r9
jbe 0x6996ae90
movzx ebx, byte [rsi + 5]
lea r14, [r13 + 6]
mov byte [r11 + 5], bl
cmp r8, r14
jbe 0x6996ae90
movzx ecx, byte [rsi + 6]
lea rax, [r13 + 7]
mov byte [r11 + 6], cl
cmp r8, rax
jbe 0x6996ae90
movzx ebp, byte [rsi + 7]
lea r9, [r13 + 8]
mov byte [r11 + 7], bpl
cmp r8, r9
jbe 0x6996ae90
movzx ebx, byte [rsi + 8]
lea r14, [r13 + 9]
mov byte [r11 + 8], bl
cmp r8, r14
jbe 0x6996ae90
movzx ecx, byte [rsi + 9]
lea rax, [r13 + 0xa]
mov byte [r11 + 9], cl
cmp r8, rax
jbe 0x6996ae90
movzx ebp, byte [rsi + 0xa]
lea r9, [r13 + 0xb]
mov byte [r11 + 0xa], bpl
cmp r8, r9
jbe 0x6996ae90
movzx ebx, byte [rsi + 0xb]
lea r14, [r13 + 0xc]
mov byte [r11 + 0xb], bl
cmp r8, r14
jbe 0x6996ae90
movzx ecx, byte [rsi + 0xc]
lea rax, [r13 + 0xd]
mov byte [r11 + 0xc], cl
cmp r8, rax
jbe 0x6996ae90
movzx ebp, byte [rsi + 0xd]
add r13, 0xe
mov byte [r11 + 0xd], bpl
cmp r8, r13
jbe 0x6996ae90
movzx r13d, byte [rsi + 0xe]
mov byte [r11 + 0xe], r13b
nop word cs:[rax + rax]
lea r14, [rdi + r8]
add rdx, r8
cmp r15, r8
jbe 0x69969d28
lea r13, [r15 - 1]
lea rbx, [rdx + 0xf]
sub r13, r8
cmp r13, 0xe
seta r9b
sub rbx, r14
cmp rbx, 0x1e
seta cl
test r9b, cl
je 0x6996d950
lea rax, [r10 + 0x11]
lea rsi, [rdx + 0x10]
cmp rdx, rax
setae bpl
cmp rdi, rsi
setae r11b
or bpl, r11b
je 0x6996d950
mov r13, r15
xor ecx, ecx
sub r13, r8
mov r9, r13
and r9, 0xfffffffffffffff0
lea rbx, [r9 - 0x10]
shr rbx, 4
add rbx, 1
and ebx, 7
je 0x6996aff4
cmp rbx, 1
je 0x6996afd0
cmp rbx, 2
je 0x6996afb7
cmp rbx, 3
je 0x6996af9d
cmp rbx, 4
je 0x6996af82
cmp rbx, 5
je 0x6996af67
cmp rbx, 6
je 0x6996af4c
movdqu xmm0, xmmword [r14]
movdqu xmm6, xmmword [r10 + 1]
mov ecx, 0x10
psubb xmm0, xmm6
movups xmmword [rdx], xmm0
movdqu xmm10, xmmword [r14 + rcx]
movdqu xmm15, xmmword [r10 + rcx + 1]
psubb xmm10, xmm15
movups xmmword [rdx + rcx], xmm10
add rcx, 0x10
movdqu xmm14, xmmword [r14 + rcx]
movdqu xmm5, xmmword [r10 + rcx + 1]
psubb xmm14, xmm5
movups xmmword [rdx + rcx], xmm14
add rcx, 0x10
movdqu xmm9, xmmword [r14 + rcx]
movdqu xmm7, xmmword [r10 + rcx + 1]
psubb xmm9, xmm7
movups xmmword [rdx + rcx], xmm9
add rcx, 0x10
movdqu xmm2, xmmword [r14 + rcx]
movdqu xmm11, xmmword [r10 + rcx + 1]
psubb xmm2, xmm11
movups xmmword [rdx + rcx], xmm2
add rcx, 0x10
movdqu xmm3, xmmword [r14 + rcx]
movdqu xmm1, xmmword [r10 + rcx + 1]
psubb xmm3, xmm1
movups xmmword [rdx + rcx], xmm3
add rcx, 0x10
movdqu xmm13, xmmword [r14 + rcx]
movdqu xmm12, xmmword [r10 + rcx + 1]
psubb xmm13, xmm12
movups xmmword [rdx + rcx], xmm13
add rcx, 0x10
cmp rcx, r9
je 0x6996b0c2
movdqu xmm8, xmmword [r14 + rcx]
movdqu xmm4, xmmword [r10 + rcx + 1]
psubb xmm8, xmm4
movups xmmword [rdx + rcx], xmm8
movdqu xmm0, xmmword [r14 + rcx + 0x10]
movdqu xmm6, xmmword [r10 + rcx + 0x11]
psubb xmm0, xmm6
movups xmmword [rdx + rcx + 0x10], xmm0
movdqu xmm10, xmmword [r14 + rcx + 0x20]
movdqu xmm15, xmmword [r10 + rcx + 0x21]
psubb xmm10, xmm15
movups xmmword [rdx + rcx + 0x20], xmm10
movdqu xmm14, xmmword [r14 + rcx + 0x30]
movdqu xmm5, xmmword [r10 + rcx + 0x31]
psubb xmm14, xmm5
movups xmmword [rdx + rcx + 0x30], xmm14
movdqu xmm9, xmmword [r14 + rcx + 0x40]
movdqu xmm7, xmmword [r10 + rcx + 0x41]
psubb xmm9, xmm7
movups xmmword [rdx + rcx + 0x40], xmm9
movdqu xmm2, xmmword [r14 + rcx + 0x50]
movdqu xmm11, xmmword [r10 + rcx + 0x51]
psubb xmm2, xmm11
movups xmmword [rdx + rcx + 0x50], xmm2
movdqu xmm3, xmmword [r14 + rcx + 0x60]
movdqu xmm1, xmmword [r10 + rcx + 0x61]
psubb xmm3, xmm1
movups xmmword [rdx + rcx + 0x60], xmm3
movdqu xmm13, xmmword [r14 + rcx + 0x70]
movdqu xmm12, xmmword [r10 + rcx + 0x71]
psubb xmm13, xmm12
movups xmmword [rdx + rcx + 0x70], xmm13
sub rcx, 0xffffffffffffff80
cmp rcx, r9
jne 0x6996aff4
mov r10, r13
and r10, 0xfffffffffffffff0
add r14, r10
add rdi, r10
add rdx, r10
add r8, r10
cmp r13, r10
je 0x69969d28
movzx eax, byte [r14]
lea rbp, [r8 + 1]
sub al, byte [rdi]
mov byte [rdx], al
cmp r15, rbp
jbe 0x69969d28
movzx esi, byte [r14 + 1]
lea r11, [r8 + 2]
sub sil, byte [rdi + 1]
mov byte [rdx + 1], sil
cmp r15, r11
jbe 0x69969d28
movzx r13d, byte [r14 + 2]
lea r9, [r8 + 3]
sub r13b, byte [rdi + 2]
mov byte [rdx + 2], r13b
cmp r15, r9
jbe 0x69969d28
movzx ebx, byte [r14 + 3]
lea rcx, [r8 + 4]
sub bl, byte [rdi + 3]
mov byte [rdx + 3], bl
cmp r15, rcx
jbe 0x69969d28
movzx r10d, byte [r14 + 4]
lea rax, [r8 + 5]
sub r10b, byte [rdi + 4]
mov byte [rdx + 4], r10b
cmp r15, rax
jbe 0x69969d28
movzx ebp, byte [r14 + 5]
lea rsi, [r8 + 6]
sub bpl, byte [rdi + 5]
mov byte [rdx + 5], bpl
cmp r15, rsi
jbe 0x69969d28
movzx r11d, byte [r14 + 6]
lea r13, [r8 + 7]
sub r11b, byte [rdi + 6]
mov byte [rdx + 6], r11b
cmp r15, r13
jbe 0x69969d28
movzx r9d, byte [r14 + 7]
lea rbx, [r8 + 8]
sub r9b, byte [rdi + 7]
mov byte [rdx + 7], r9b
cmp r15, rbx
jbe 0x69969d28
movzx ecx, byte [r14 + 8]
lea r10, [r8 + 9]
sub cl, byte [rdi + 8]
mov byte [rdx + 8], cl
cmp r15, r10
jbe 0x69969d28
movzx eax, byte [r14 + 9]
lea rbp, [r8 + 0xa]
sub al, byte [rdi + 9]
mov byte [rdx + 9], al
cmp r15, rbp
jbe 0x69969d28
movzx esi, byte [r14 + 0xa]
lea r11, [r8 + 0xb]
sub sil, byte [rdi + 0xa]
mov byte [rdx + 0xa], sil
cmp r15, r11
jbe 0x69969d28
movzx r13d, byte [r14 + 0xb]
lea r9, [r8 + 0xc]
sub r13b, byte [rdi + 0xb]
mov byte [rdx + 0xb], r13b
cmp r15, r9
jbe 0x69969d28
movzx ebx, byte [r14 + 0xc]
lea rcx, [r8 + 0xd]
sub bl, byte [rdi + 0xc]
mov byte [rdx + 0xc], bl
cmp r15, rcx
jbe 0x69969d28
movzx r10d, byte [r14 + 0xd]
lea r8, [r8 + 0xe]
sub r10b, byte [rdi + 0xd]
mov byte [rdx + 0xd], r10b
cmp r15, r8
jbe 0x69969d28
movzx r15d, byte [r14 + 0xe]
sub r15b, byte [rdi + 0xe]
mov byte [rdx + 0xe], r15b
jmp 0x69969d28
test dl, 0x40
je 0x6996bae2
mov r11, qword [r12 + 0x250]
mov rsi, qword [r12 + 0x240]
mov r8, qword [r12 + 0x248]
lea rdi, [r11 + 1]
lea rbp, [rsi + 1]
mov byte [r11], 3
mov qword [rsp + 0x50], rdi
lea r14, [r8 + 1]
mov qword [rsp + 0x30], rbp
test ecx, ecx
je 0x6996daa2
lea rax, [r8 + 0x11]
lea r9d, [rcx - 1]
mov dword [rsp + 0x5c], ecx
cmp rdi, rax
lea rbx, [r11 + 0x11]
mov dword [rsp + 0x20], r9d
setae r9b
cmp r14, rbx
setae al
or r9d, eax
lea rax, [rsi + 0x11]
cmp rdi, rax
setae dil
cmp rbp, rbx
setae bpl
or edi, ebp
test r9b, dil
je 0x6996d2b0
cmp dword [rsp + 0x20], 0xe
jbe 0x6996d2b0
mov ebx, ecx
pxor xmm3, xmm3
pxor xmm5, xmm5
mov eax, 1
shr ebx, 4
pxor xmm6, xmm6
pxor xmm4, xmm4
movdqu xmm15, xmmword [0x699fe600]
movdqu xmm8, xmmword [0x699fe620]
lea r9d, [rbx - 1]
shl r9, 4
add r9, 0x11
nop dword [rax + rax]
movdqu xmm0, xmmword [rsi + rax]
movdqu xmm12, xmmword [r8 + rax]
movdqu xmm1, xmm5
movdqu xmm14, xmm5
movdqu xmm10, xmm6
movdqu xmm2, xmm0
punpckhbw xmm0, xmm5
punpcklbw xmm2, xmm5
psrlw xmm0, 1
psrlw xmm2, 1
pand xmm0, xmm8
pand xmm2, xmm8
movdqu xmm9, xmm2
packuswb xmm9, xmm0
psubb xmm12, xmm9
pcmpgtb xmm1, xmm12
movdqu xmm7, xmm12
movups xmmword [r11 + rax], xmm12
movdqu xmm11, xmm12
punpcklbw xmm7, xmm5
movdqu xmm12, xmm15
punpckhbw xmm11, xmm5
add rax, 0x10
movdqu xmm2, xmm7
punpckhwd xmm7, xmm6
movdqu xmm13, xmm11
pcmpeqb xmm1, xmm5
punpcklwd xmm2, xmm6
punpcklwd xmm13, xmm6
psubd xmm12, xmm2
punpckhwd xmm11, xmm6
pcmpgtb xmm14, xmm1
movdqu xmm9, xmm1
punpcklbw xmm9, xmm14
punpckhbw xmm1, xmm14
pcmpgtw xmm10, xmm9
movdqu xmm0, xmm9
movdqu xmm14, xmm1
punpcklwd xmm0, xmm10
punpckhwd xmm9, xmm10
movdqu xmm10, xmm15
pand xmm2, xmm0
pandn xmm0, xmm12
psubd xmm10, xmm13
por xmm0, xmm2
movdqu xmm2, xmm15
psubd xmm2, xmm7
pand xmm7, xmm9
pandn xmm9, xmm2
por xmm9, xmm7
movdqu xmm7, xmm6
pcmpgtw xmm7, xmm1
movdqu xmm12, xmm9
punpckhdq xmm9, xmm4
punpckldq xmm12, xmm4
paddq xmm9, xmm12
punpcklwd xmm14, xmm7
punpckhwd xmm1, xmm7
pand xmm13, xmm14
pandn xmm14, xmm10
por xmm14, xmm13
movdqu xmm13, xmm15
psubd xmm13, xmm11
pand xmm11, xmm1
pandn xmm1, xmm13
por xmm1, xmm11
movdqu xmm11, xmm0
punpckhdq xmm0, xmm4
punpckldq xmm11, xmm4
movdqu xmm2, xmm1
punpckhdq xmm1, xmm4
paddq xmm0, xmm11
punpckldq xmm2, xmm4
paddq xmm3, xmm1
paddq xmm0, xmm9
movdqu xmm9, xmm14
punpckhdq xmm14, xmm4
punpckldq xmm9, xmm4
paddq xmm14, xmm9
paddq xmm14, xmm2
paddq xmm0, xmm14
paddq xmm3, xmm0
cmp rax, r9
jne 0x6996b320
movdqu xmm15, xmm3
mov r9d, ecx
mov rdi, qword [rsp + 0x30]
mov ebx, dword [rsp + 0x20]
psrldq xmm15, 8
and r9d, 0xfffffff0
mov ebp, r9d
paddq xmm3, xmm15
lea rsi, [r14 + rbp]
add rdi, rbp
movq rax, xmm3
add rbp, qword [rsp + 0x50]
cmp ecx, r9d
je 0x6996b818
movzx r11d, byte [rdi]
movzx ebx, byte [rsi]
shr r11b, 1
sub ebx, r11d
mov byte [rbp], bl
movzx r11d, bl
test bl, bl
jns 0x6996b50f
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 1]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 1]
movzx ebx, byte [rsi + 1]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 1], bl
movzx r11d, bl
test bl, bl
jns 0x6996b549
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 2]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 2]
movzx ebx, byte [rsi + 2]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 2], bl
movzx r11d, bl
test bl, bl
jns 0x6996b583
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 3]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 3]
movzx ebx, byte [rsi + 3]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 3], bl
movzx r11d, bl
test bl, bl
jns 0x6996b5bd
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 4]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 4]
movzx ebx, byte [rsi + 4]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 4], bl
movzx r11d, bl
test bl, bl
jns 0x6996b5f7
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 5]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 5]
movzx ebx, byte [rsi + 5]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 5], bl
movzx r11d, bl
test bl, bl
js 0x6996d070
add rax, r11
lea r11d, [r9 + 6]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 6]
movzx ebx, byte [rsi + 6]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 6], bl
movzx r11d, bl
test bl, bl
js 0x6996d0f0
add rax, r11
lea r11d, [r9 + 7]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 7]
movzx ebx, byte [rsi + 7]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 7], bl
movzx r11d, bl
test bl, bl
js 0x6996d158
add rax, r11
lea r11d, [r9 + 8]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 8]
movzx ebx, byte [rsi + 8]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 8], bl
movzx r11d, bl
test bl, bl
js 0x6996d180
add rax, r11
lea r11d, [r9 + 9]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 9]
movzx ebx, byte [rsi + 9]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 9], bl
movzx r11d, bl
test bl, bl
js 0x6996d1d9
add rax, r11
lea r11d, [r9 + 0xa]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 0xa]
movzx ebx, byte [rsi + 0xa]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 0xa], bl
movzx r11d, bl
test bl, bl
jns 0x6996b72b
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 0xb]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 0xb]
movzx ebx, byte [rsi + 0xb]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 0xb], bl
movzx r11d, bl
test bl, bl
jns 0x6996b765
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 0xc]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 0xc]
movzx ebx, byte [rsi + 0xc]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 0xc], bl
movzx r11d, bl
test bl, bl
jns 0x6996b79f
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add rax, r11
lea r11d, [r9 + 0xd]
mov ebx, dword [rsp + 0x20]
cmp ecx, r11d
jbe 0x6996b818
movzx r11d, byte [rdi + 0xd]
movzx ebx, byte [rsi + 0xd]
shr r11b, 1
sub ebx, r11d
mov byte [rbp + 0xd], bl
movzx r11d, bl
test bl, bl
jns 0x6996b7d5
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
add r9d, 0xe
mov ebx, dword [rsp + 0x20]
add rax, r11
cmp ecx, r9d
jbe 0x6996b818
movzx r9d, byte [rdi + 0xe]
movzx esi, byte [rsi + 0xe]
shr r9b, 1
sub esi, r9d
mov byte [rbp + 0xe], sil
movzx edi, sil
test sil, sil
jns 0x6996b80c
movzx ebp, sil
mov edi, 0x100
sub edi, ebp
mov ebx, dword [rsp + 0x20]
add rax, rdi
nop dword [rax + rax]
add rbx, 1
add qword [rsp + 0x30], rbx
add qword [rsp + 0x50], rbx
add r14, rbx
movsxd rbx, ecx
cmp r15, rbx
jbe 0x6996baad
mov rbp, qword [rsp + 0x30]
movzx edi, byte [r8 + 1]
mov r11d, r15d
mov ebx, 0x100
mov esi, dword [rsp + 0x5c]
movzx r9d, byte [rbp]
movzx ebp, byte [r14]
add esi, 1
add r9d, edi
mov rdi, qword [rsp + 0x50]
sub r11d, esi
sar r9d, 1
and r11d, 3
sub ebp, r9d
movzx r9d, bpl
mov byte [rdi], r9b
test r9b, r9b
jns 0x6996b880
mov ebp, ebx
sub ebp, r9d
mov r9, rbp
add rax, r9
cmp r13, rax
jb 0x6996bae2
mov edi, esi
mov r9d, 1
cmp r15, rdi
jbe 0x6996baad
test r11d, r11d
je 0x6996b996
cmp r11d, 1
je 0x6996b942
cmp r11d, 2
je 0x6996b8f9
mov r11, qword [rsp + 0x30]
movzx edi, byte [r8 + r9 + 1]
movzx ebp, byte [r11 + r9]
movzx r11d, byte [r14 + r9]
add ebp, edi
sar ebp, 1
sub r11d, ebp
mov rbp, qword [rsp + 0x50]
movzx r11d, r11b
mov byte [rbp + r9], r11b
test r11b, r11b
js 0x6996d236
add rax, r11
cmp r13, rax
jb 0x6996bae2
add r9, 1
mov rbp, qword [rsp + 0x30]
movzx edi, byte [r8 + r9 + 1]
movzx r11d, byte [rbp + r9]
movzx ebp, byte [r14 + r9]
add r11d, edi
mov rdi, qword [rsp + 0x50]
sar r11d, 1
sub ebp, r11d
movzx r11d, bpl
mov byte [rdi + r9], r11b
test r11b, r11b
jns 0x6996b932
mov ebp, ebx
sub ebp, r11d
mov r11, rbp
add rax, r11
cmp r13, rax
jb 0x6996bae2
add r9, 1
mov rdi, qword [rsp + 0x30]
movzx r11d, byte [r8 + r9 + 1]
movzx ebp, byte [rdi + r9]
movzx edi, byte [r14 + r9]
add ebp, r11d
sar ebp, 1
sub edi, ebp
mov rbp, qword [rsp + 0x50]
movzx r11d, dil
mov byte [rbp + r9], r11b
test r11b, r11b
jns 0x6996b979
mov edi, ebx
sub edi, r11d
mov r11, rdi
add rax, r11
cmp r13, rax
jb 0x6996bae2
lea ebp, [rsi + r9]
add r9, 1
cmp r15, rbp
jbe 0x6996baad
mov r11, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x5c], edx
movzx edx, byte [r11 + r9]
movzx ecx, byte [r8 + r9 + 1]
movzx ebp, byte [r14 + r9]
add edx, ecx
sar edx, 1
sub ebp, edx
movzx edx, bpl
mov byte [rdi + r9], dl
test dl, dl
jns 0x6996b9d1
mov ecx, ebx
sub ecx, edx
mov rdx, rcx
add rax, rdx
cmp r13, rax
jb 0x6996cea0
movzx ebp, byte [r8 + r9 + 2]
movzx ecx, byte [r11 + r9 + 1]
lea rdx, [r9 + 1]
add ecx, ebp
movzx ebp, byte [r14 + r9 + 1]
sar ecx, 1
sub ebp, ecx
movzx ecx, bpl
mov byte [rdi + r9 + 1], cl
test cl, cl
jns 0x6996ba0f
mov r9d, ebx
sub r9d, ecx
mov rcx, r9
add rax, rcx
cmp r13, rax
jb 0x6996cea0
movzx r9d, byte [r8 + rdx + 2]
movzx ebp, byte [r11 + rdx + 1]
movzx ecx, byte [r14 + rdx + 1]
add ebp, r9d
sar ebp, 1
sub ecx, ebp
movzx r9d, cl
mov byte [rdi + rdx + 1], r9b
test r9b, r9b
jns 0x6996ba4a
mov ebp, ebx
sub ebp, r9d
mov r9, rbp
add rax, r9
cmp r13, rax
jb 0x6996cea0
movzx r9d, byte [r8 + rdx + 3]
movzx ecx, byte [r11 + rdx + 2]
lea rbp, [rdx + 2]
add ecx, r9d
movzx r9d, byte [r14 + rdx + 2]
sar ecx, 1
sub r9d, ecx
movzx ecx, r9b
mov byte [rdi + rdx + 2], cl
test cl, cl
jns 0x6996ba89
mov r9d, ebx
sub r9d, ecx
mov rcx, r9
add rax, rcx
cmp r13, rax
jb 0x6996cea0
lea ebp, [rsi + rbp]
lea r9, [rdx + 3]
cmp r15, rbp
ja 0x6996b9a8
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x5c]
cmp r13, rax
jbe 0x6996bae2
mov r8, qword [r12 + 0x258]
mov r10, qword [r12 + 0x250]
mov r13, rax
test r8, r8
je 0x6996bae2
movq xmm3, r8
movq xmm8, r10
punpcklqdq xmm3, xmm8
movups xmmword [r12 + 0x250], xmm3
cmp edx, 0x80
jne 0x6996c5d7
mov rbp, qword [r12 + 0x250]
mov rax, qword [r12 + 0x248]
movsxd rbx, ecx
mov r11, qword [r12 + 0x240]
mov byte [rbp], 4
lea r9, [rax + 1]
lea rdx, [rbp + 1]
lea r10, [r11 + 1]
test ecx, ecx
je 0x6996d366
lea rsi, [rax + 0x11]
lea rdi, [rbp + 0x11]
cmp rdx, rsi
lea r8, [r11 + 0x11]
setae r14b
cmp r9, rdi
setae r13b
or r14d, r13d
cmp rdx, r8
setae cl
cmp r10, rdi
setae dil
or ecx, edi
test r14b, cl
je 0x6996d7f0
lea rsi, [rbx - 1]
cmp rsi, 0xe
jbe 0x6996d7f0
mov r14, rbx
mov r8d, 1
and r14d, 0x30
lea r13, [r14 + 1]
sub r14, 0x10
shr r14, 4
add r14, 1
and r14d, 7
je 0x6996bc7a
cmp r14, 1
je 0x6996bc56
cmp r14, 2
je 0x6996bc3b
cmp r14, 3
je 0x6996bc20
cmp r14, 4
je 0x6996bc06
cmp r14, 5
je 0x6996bbeb
cmp r14, 6
je 0x6996bbd0
movdqu xmm5, xmmword [rax + 1]
movdqu xmm4, xmmword [r11 + 1]
mov r8d, 0x11
psubb xmm5, xmm4
movups xmmword [rbp + 1], xmm5
movdqu xmm15, xmmword [rax + r8]
movdqu xmm1, xmmword [r11 + r8]
psubb xmm15, xmm1
movups xmmword [rbp + r8], xmm15
add r8, 0x10
movdqu xmm13, xmmword [rax + r8]
movdqu xmm9, xmmword [r11 + r8]
psubb xmm13, xmm9
movups xmmword [rbp + r8], xmm13
add r8, 0x10
movdqu xmm2, xmmword [rax + r8]
movdqu xmm0, xmmword [r11 + r8]
psubb xmm2, xmm0
movups xmmword [rbp + r8], xmm2
add r8, 0x10
movdqu xmm12, xmmword [rax + r8]
movdqu xmm10, xmmword [r11 + r8]
psubb xmm12, xmm10
movups xmmword [rbp + r8], xmm12
add r8, 0x10
movdqu xmm11, xmmword [rax + r8]
movdqu xmm3, xmmword [r11 + r8]
psubb xmm11, xmm3
movups xmmword [rbp + r8], xmm11
add r8, 0x10
movdqu xmm8, xmmword [rax + r8]
movdqu xmm7, xmmword [r11 + r8]
psubb xmm8, xmm7
movups xmmword [rbp + r8], xmm8
add r8, 0x10
cmp r8, r13
je 0x6996bd4b
movdqu xmm14, xmmword [rax + r8]
movdqu xmm6, xmmword [r11 + r8]
psubb xmm14, xmm6
movups xmmword [rbp + r8], xmm14
movdqu xmm5, xmmword [rax + r8 + 0x10]
movdqu xmm4, xmmword [r11 + r8 + 0x10]
psubb xmm5, xmm4
movups xmmword [rbp + r8 + 0x10], xmm5
movdqu xmm15, xmmword [rax + r8 + 0x20]
movdqu xmm1, xmmword [r11 + r8 + 0x20]
psubb xmm15, xmm1
movups xmmword [rbp + r8 + 0x20], xmm15
movdqu xmm13, xmmword [rax + r8 + 0x30]
movdqu xmm9, xmmword [r11 + r8 + 0x30]
psubb xmm13, xmm9
movups xmmword [rbp + r8 + 0x30], xmm13
movdqu xmm2, xmmword [rax + r8 + 0x40]
movdqu xmm0, xmmword [r11 + r8 + 0x40]
psubb xmm2, xmm0
movups xmmword [rbp + r8 + 0x40], xmm2
movdqu xmm12, xmmword [rax + r8 + 0x50]
movdqu xmm10, xmmword [r11 + r8 + 0x50]
psubb xmm12, xmm10
movups xmmword [rbp + r8 + 0x50], xmm12
movdqu xmm11, xmmword [rax + r8 + 0x60]
movdqu xmm3, xmmword [r11 + r8 + 0x60]
psubb xmm11, xmm3
movups xmmword [rbp + r8 + 0x60], xmm11
movdqu xmm8, xmmword [rax + r8 + 0x70]
movdqu xmm7, xmmword [r11 + r8 + 0x70]
psubb xmm8, xmm7
movups xmmword [rbp + r8 + 0x70], xmm8
sub r8, 0xffffffffffffff80
cmp r8, r13
jne 0x6996bc7a
mov rcx, rbx
and rcx, 0xfffffffffffffff0
lea rdi, [r9 + rcx]
lea rsi, [r10 + rcx]
lea r14, [rdx + rcx]
cmp rbx, rcx
je 0x6996bec0
movzx ebp, byte [rdi]
lea r13, [rcx + 1]
sub bpl, byte [rsi]
mov byte [r14], bpl
cmp r13, rbx
jae 0x6996bec0
movzx r8d, byte [rdi + 1]
lea rbp, [rcx + 2]
sub r8b, byte [rsi + 1]
mov byte [r14 + 1], r8b
cmp rbp, rbx
jae 0x6996bec0
movzx r13d, byte [rdi + 2]
lea r8, [rcx + 3]
sub r13b, byte [rsi + 2]
mov byte [r14 + 2], r13b
cmp r8, rbx
jae 0x6996bec0
movzx ebp, byte [rdi + 3]
lea r13, [rcx + 4]
sub bpl, byte [rsi + 3]
mov byte [r14 + 3], bpl
cmp r13, rbx
jae 0x6996bec0
movzx r8d, byte [rdi + 4]
lea rbp, [rcx + 5]
sub r8b, byte [rsi + 4]
mov byte [r14 + 4], r8b
cmp rbp, rbx
jae 0x6996bec0
movzx r13d, byte [rdi + 5]
lea r8, [rcx + 6]
sub r13b, byte [rsi + 5]
mov byte [r14 + 5], r13b
cmp rbx, r8
jbe 0x6996bec0
movzx ebp, byte [rdi + 6]
lea r13, [rcx + 7]
sub bpl, byte [rsi + 6]
mov byte [r14 + 6], bpl
cmp rbx, r13
jbe 0x6996bec0
movzx r8d, byte [rdi + 7]
lea rbp, [rcx + 8]
sub r8b, byte [rsi + 7]
mov byte [r14 + 7], r8b
cmp rbx, rbp
jbe 0x6996bec0
movzx r13d, byte [rdi + 8]
lea r8, [rcx + 9]
sub r13b, byte [rsi + 8]
mov byte [r14 + 8], r13b
cmp rbx, r8
jbe 0x6996bec0
movzx ebp, byte [rdi + 9]
lea r13, [rcx + 0xa]
sub bpl, byte [rsi + 9]
mov byte [r14 + 9], bpl
cmp r13, rbx
jae 0x6996bec0
movzx r8d, byte [rdi + 0xa]
lea rbp, [rcx + 0xb]
sub r8b, byte [rsi + 0xa]
mov byte [r14 + 0xa], r8b
cmp rbx, rbp
jbe 0x6996bec0
movzx r13d, byte [rdi + 0xb]
lea r8, [rcx + 0xc]
sub r13b, byte [rsi + 0xb]
mov byte [r14 + 0xb], r13b
cmp rbx, r8
jbe 0x6996bec0
movzx ebp, byte [rdi + 0xc]
lea r13, [rcx + 0xd]
sub bpl, byte [rsi + 0xc]
mov byte [r14 + 0xc], bpl
cmp rbx, r13
jbe 0x6996bec0
movzx r8d, byte [rdi + 0xd]
add rcx, 0xe
sub r8b, byte [rsi + 0xd]
mov byte [r14 + 0xd], r8b
cmp rbx, rcx
jbe 0x6996bec0
movzx ecx, byte [rdi + 0xe]
sub cl, byte [rsi + 0xe]
mov byte [r14 + 0xe], cl
nop
lea rcx, [r9 + rbx]
lea r8, [r10 + rbx]
add rdx, rbx
cmp r15, rbx
jbe 0x69969d28
lea r14, [rax + 0x11]
lea rbp, [rdx + 0x10]
cmp rdx, r14
lea rdi, [r11 + 0x11]
setae r13b
cmp r9, rbp
setae sil
or esi, r13d
cmp rdx, rdi
lea r13, [r15 - 1]
setae r14b
cmp r10, rbp
setae bpl
sub r13, rbx
or r14d, ebp
and esi, r14d
cmp r13, 0xe
lea r14, [rcx + 0xf]
seta dil
sub r14, rdx
and esi, edi
cmp r14, 0x1e
seta bpl
test sil, bpl
je 0x6996d660
lea rsi, [r8 + 0xf]
sub rsi, rdx
cmp rsi, 0x1e
jbe 0x6996d660
mov r13, r15
xor r14d, r14d
pxor xmm13, xmm13
sub r13, rbx
mov rdi, r13
and rdi, 0xfffffffffffffff0
nop dword [rax]
movdqu xmm1, xmmword [r8 + r14]
pxor xmm3, xmm3
movdqu xmm14, xmmword [r11 + r14 + 1]
movdqu xmm0, xmmword [r8 + r14]
movdqu xmm6, xmmword [r11 + r14 + 1]
movdqu xmm5, xmmword [rax + r14 + 1]
movdqu xmm4, xmmword [rax + r14 + 1]
punpcklbw xmm14, xmm3
punpcklbw xmm1, xmm3
punpckhbw xmm0, xmm3
punpckhbw xmm6, xmm3
movdqu xmm15, xmm14
punpcklbw xmm5, xmm3
punpckhwd xmm14, xmm13
punpckhbw xmm4, xmm3
movdqu xmm3, xmm1
punpckhwd xmm1, xmm13
movdqu xmm9, xmm5
psubd xmm1, xmm14
punpckhwd xmm5, xmm13
movdqu xmm12, xmm6
psubd xmm5, xmm14
movdqu xmm2, xmm0
movdqu xmm14, xmm1
punpcklwd xmm12, xmm13
psrad xmm14, 0x1f
punpcklwd xmm2, xmm13
psubd xmm2, xmm12
punpckhwd xmm6, xmm13
movdqu xmm8, xmm4
movdqu xmm7, xmm14
punpckhwd xmm0, xmm13
punpckhwd xmm4, xmm13
psubd xmm4, xmm6
psubd xmm0, xmm6
pxor xmm7, xmm1
movdqu xmm6, xmm2
punpcklwd xmm15, xmm13
psubd xmm7, xmm14
psrad xmm6, 0x1f
punpcklwd xmm3, xmm13
punpcklwd xmm9, xmm13
movups xmmword [rsp + 0x30], xmm7
psubd xmm9, xmm15
psubd xmm3, xmm15
movdqu xmm7, xmm6
movdqu xmm15, xmm0
movdqu xmm10, xmm3
pxor xmm7, xmm2
psrad xmm15, 0x1f
psrad xmm10, 0x1f
psubd xmm7, xmm6
punpcklwd xmm8, xmm13
movdqu xmm6, xmm15
movdqu xmm11, xmm10
psubd xmm8, xmm12
pxor xmm6, xmm0
pxor xmm11, xmm3
psubd xmm6, xmm15
movdqu xmm12, xmm9
movdqu xmm15, xmm8
psubd xmm11, xmm10
psrad xmm12, 0x1f
movdqu xmm10, xmm5
psrad xmm15, 0x1f
movups xmmword [rsp + 0x20], xmm11
movdqu xmm14, xmm12
paddd xmm3, xmm9
movdqu xmm11, xmm15
psrad xmm10, 0x1f
pxor xmm14, xmm9
pxor xmm11, xmm8
psubd xmm14, xmm12
movdqu xmm12, xmm10
psubd xmm11, xmm15
movdqu xmm15, xmm4
pxor xmm12, xmm5
psrad xmm15, 0x1f
movdqu xmm9, xmm3
psubd xmm12, xmm10
psrad xmm9, 0x1f
movdqu xmm10, xmm15
paddd xmm1, xmm5
pxor xmm10, xmm4
pxor xmm3, xmm9
movdqu xmm5, xmm1
psubd xmm10, xmm15
psubd xmm3, xmm9
movdqu xmm15, xmm14
pcmpgtd xmm15, xmm3
paddd xmm2, xmm8
paddd xmm0, xmm4
psrad xmm5, 0x1f
movdqu xmm8, xmm2
movdqu xmm4, xmm0
psrad xmm8, 0x1f
psrad xmm4, 0x1f
pxor xmm1, xmm5
movdqu xmm9, xmm15
psubd xmm1, xmm5
pxor xmm2, xmm8
pandn xmm9, xmm14
pand xmm3, xmm15
movdqu xmm14, xmm12
pcmpgtd xmm14, xmm1
psubd xmm2, xmm8
por xmm3, xmm9
movdqu xmm8, xmmword [rsp + 0x20]
movdqu xmm9, xmm11
pxor xmm0, xmm4
pcmpgtd xmm9, xmm2
pcmpgtd xmm8, xmm3
psubd xmm0, xmm4
movdqu xmm5, xmm14
pand xmm1, xmm14
pandn xmm5, xmm12
movdqu xmm12, xmm9
por xmm1, xmm5
pand xmm2, xmm9
movdqu xmm5, xmmword [rsp + 0x30]
pandn xmm12, xmm11
movdqu xmm11, xmm10
movdqu xmm3, xmm8
pcmpgtd xmm11, xmm0
pcmpgtd xmm5, xmm1
por xmm2, xmm12
pcmpgtd xmm7, xmm2
pxor xmm2, xmm2
movdqu xmm4, xmm11
pcmpeqd xmm2, xmm5
pand xmm0, xmm11
pandn xmm4, xmm10
pxor xmm10, xmm10
por xmm0, xmm4
pxor xmm4, xmm4
pcmpgtd xmm6, xmm0
pcmpeqd xmm4, xmm7
pxor xmm0, xmm0
pcmpeqd xmm0, xmm8
pcmpeqd xmm10, xmm6
movdqu xmm1, xmm0
punpcklwd xmm0, xmm2
punpckhwd xmm1, xmm2
movdqu xmm2, xmm4
movdqu xmm12, xmm0
punpcklwd xmm4, xmm10
punpckhwd xmm2, xmm10
punpckhwd xmm12, xmm1
movdqu xmm8, xmm4
punpcklwd xmm0, xmm1
punpcklwd xmm4, xmm2
punpckhwd xmm8, xmm2
punpcklwd xmm0, xmm12
movdqu xmm1, xmm15
punpcklwd xmm4, xmm8
movdqu xmm12, xmm14
pand xmm4, xmmword [0x699fe620]
pand xmm12, xmm5
pand xmm1, xmm3
movdqu xmm2, xmm9
pand xmm0, xmmword [0x699fe620]
pand xmm2, xmm7
movdqu xmm8, xmm2
packuswb xmm0, xmm4
movdqu xmm4, xmm1
punpcklwd xmm1, xmm12
punpckhwd xmm4, xmm12
movdqu xmm10, xmm1
movdqu xmm12, xmm11
punpckhwd xmm10, xmm4
punpcklwd xmm1, xmm4
pand xmm12, xmm6
punpcklwd xmm1, xmm10
pxor xmm10, xmm10
punpcklwd xmm2, xmm12
pcmpeqd xmm14, xmm10
pcmpeqd xmm9, xmm10
punpckhwd xmm8, xmm12
pcmpeqd xmm11, xmm10
pcmpeqd xmm15, xmm10
movdqu xmm4, xmm2
punpckhwd xmm4, xmm8
punpcklwd xmm2, xmm8
pand xmm1, xmmword [0x699fe620]
pand xmm5, xmm14
pand xmm7, xmm9
punpcklwd xmm2, xmm4
pand xmm6, xmm11
pand xmm3, xmm15
movdqu xmm9, xmm7
movdqu xmm14, xmm3
punpcklwd xmm7, xmm6
punpcklwd xmm3, xmm5
punpckhwd xmm14, xmm5
punpckhwd xmm9, xmm6
movdqu xmm5, xmm3
movdqu xmm6, xmm7
punpckhwd xmm5, xmm14
punpcklwd xmm3, xmm14
punpckhwd xmm6, xmm9
punpcklwd xmm7, xmm9
pand xmm2, xmmword [0x699fe620]
punpcklwd xmm3, xmm5
punpcklwd xmm7, xmm6
pand xmm3, xmmword [0x699fe620]
pand xmm7, xmmword [0x699fe620]
packuswb xmm1, xmm2
movdqu xmm2, xmmword [r11 + r14 + 1]
packuswb xmm3, xmm7
movdqu xmm7, xmmword [r8 + r14]
movdqu xmm11, xmm2
pand xmm11, xmm1
pand xmm7, xmm3
pandn xmm3, xmm2
por xmm3, xmm7
pandn xmm1, xmm3
movdqu xmm3, xmmword [rax + r14 + 1]
por xmm1, xmm11
pand xmm3, xmm0
pandn xmm0, xmm1
movdqu xmm1, xmmword [rcx + r14]
por xmm0, xmm3
psubb xmm1, xmm0
movups xmmword [rdx + r14], xmm1
add r14, 0x10
cmp r14, rdi
jne 0x6996bf58
mov r11, r13
and r11, 0xfffffffffffffff0
lea rax, [rbx + r11]
cmp r13, r11
je 0x69969d28
sub r8, rbx
sub r10, rbx
sub r9, rbx
sub rdx, rbx
sub rcx, rbx
mov rbx, rax
movzx esi, byte [r10 + rax]
movzx r11d, byte [r9 + rax]
not rbx
add rbx, r15
mov ebp, r11d
sub r11d, esi
mov r13d, esi
and ebx, 1
mov qword [rsp + 0x20], rbx
movzx ebx, byte [r8 + rax]
mov r14d, ebx
sub ebx, esi
mov esi, r11d
sar esi, 0x1f
mov edi, esi
xor edi, r11d
add r11d, ebx
sub edi, esi
mov esi, r11d
sar esi, 0x1f
xor r11d, esi
sub r11d, esi
mov esi, ebx
sar esi, 0x1f
xor ebx, esi
sub ebx, esi
cmp edi, r11d
mov esi, r11d
cmovle esi, edi
cmp ebx, esi
jle 0x6996c442
cmp edi, r11d
mov ebp, r13d
cmovle ebp, r14d
movzx ebx, byte [rcx + rax]
sub ebx, ebp
mov byte [rdx + rax], bl
add rax, 1
cmp r15, rax
jbe 0x69969d28
cmp qword [rsp + 0x20], 0
je 0x6996c4e0
movzx r14d, byte [r10 + rax]
movzx r11d, byte [r9 + rax]
movzx ebx, byte [r8 + rax]
mov edi, r11d
sub r11d, r14d
mov ebp, r14d
mov r13d, ebx
sub ebx, r14d
mov r14d, r11d
sar r14d, 0x1f
mov esi, r14d
xor esi, r11d
add r11d, ebx
sub esi, r14d
mov r14d, r11d
sar r14d, 0x1f
xor r11d, r14d
sub r11d, r14d
mov r14d, ebx
sar r14d, 0x1f
xor ebx, r14d
sub ebx, r14d
cmp esi, r11d
mov r14d, r11d
cmovle r14d, esi
cmp ebx, r14d
jle 0x6996c4c7
cmp esi, r11d
mov edi, ebp
cmovle edi, r13d
movzx ebx, byte [rcx + rax]
sub ebx, edi
mov byte [rdx + rax], bl
add rax, 1
cmp r15, rax
jbe 0x69969d28
nop dword [rax]
movzx esi, byte [r10 + rax]
movzx r11d, byte [r9 + rax]
movzx ebx, byte [r8 + rax]
mov edi, r11d
sub r11d, esi
mov ebp, esi
mov r14d, r11d
mov r13d, ebx
sub ebx, esi
sar r14d, 0x1f
mov esi, r14d
xor esi, r11d
add r11d, ebx
sub esi, r14d
mov r14d, r11d
sar r14d, 0x1f
xor r11d, r14d
sub r11d, r14d
mov r14d, ebx
sar r14d, 0x1f
xor ebx, r14d
sub ebx, r14d
cmp esi, r11d
mov r14d, r11d
cmovle r14d, esi
cmp ebx, r14d
jle 0x6996c541
cmp esi, r11d
mov edi, ebp
cmovle edi, r13d
movzx ebx, byte [rcx + rax]
lea rsi, [rax + 1]
sub ebx, edi
mov byte [rdx + rax], bl
movzx r14d, byte [r10 + rax + 1]
movzx r11d, byte [r8 + rax + 1]
movzx eax, byte [r9 + rax + 1]
mov ebp, r14d
mov edi, eax
sub eax, r14d
mov r13d, r11d
sub r11d, r14d
mov r14d, eax
sar r14d, 0x1f
mov ebx, r14d
xor ebx, eax
add eax, r11d
sub ebx, r14d
mov r14d, eax
sar r14d, 0x1f
xor eax, r14d
sub eax, r14d
mov r14d, r11d
sar r14d, 0x1f
xor r11d, r14d
sub r11d, r14d
cmp ebx, eax
mov r14d, eax
cmovle r14d, ebx
cmp r11d, r14d
jle 0x6996c5b0
cmp ebx, eax
mov edi, ebp
cmovle edi, r13d
movzx r11d, byte [rcx + rsi]
lea rax, [rsi + 1]
sub r11d, edi
mov byte [rdx + rsi], r11b
cmp r15, rax
ja 0x6996c4e0
jmp 0x69969d28
mov r13, 0xfffffffffffffeff
and edx, 0x80
je 0x69969d30
mov rbx, qword [r12 + 0x240]
mov r8, qword [r12 + 0x250]
movsxd rdx, ecx
mov r11, qword [r12 + 0x248]
lea r14, [rbx + 1]
mov byte [r8], 4
lea rbp, [r8 + 1]
mov qword [rsp + 0x30], r14
lea rdi, [r11 + 1]
test ecx, ecx
je 0x6996da99
lea r9, [r11 + 0x11]
lea rsi, [r8 + 0x11]
cmp rbp, r9
lea r9, [rbx + 0x11]
setae cl
cmp rdi, rsi
setae al
or ecx, eax
cmp rbp, r9
setae al
cmp r14, rsi
setae r14b
or eax, r14d
test cl, al
je 0x6996d268
lea rsi, [rdx - 1]
cmp rsi, 0xe
jbe 0x6996d268
pxor xmm14, xmm14
pxor xmm6, xmm6
pxor xmm5, xmm5
mov rcx, rdx
and ecx, 0x30
movdqu xmm7, xmmword [0x699fe600]
mov r9d, 1
pxor xmm4, xmm4
add rcx, 1
nop dword [rax]
movdqu xmm1, xmmword [rbx + r9]
movdqu xmm13, xmmword [r11 + r9]
movdqu xmm15, xmm6
movdqu xmm0, xmm6
movdqu xmm11, xmm5
movdqu xmm8, xmm7
psubb xmm13, xmm1
pcmpgtb xmm15, xmm13
movdqu xmm9, xmm13
movups xmmword [r8 + r9], xmm13
movdqu xmm10, xmm13
punpcklbw xmm9, xmm6
movdqu xmm13, xmm7
punpckhbw xmm10, xmm6
add r9, 0x10
movdqu xmm2, xmm9
punpckhwd xmm9, xmm5
movdqu xmm12, xmm10
pcmpeqb xmm15, xmm6
psubd xmm13, xmm9
punpcklwd xmm2, xmm5
psubd xmm8, xmm2
punpcklwd xmm12, xmm5
punpckhwd xmm10, xmm5
pcmpgtb xmm0, xmm15
movdqu xmm3, xmm15
punpcklbw xmm3, xmm0
punpckhbw xmm15, xmm0
movdqu xmm0, xmm7
pcmpgtw xmm11, xmm3
movdqu xmm1, xmm3
psubd xmm0, xmm12
punpckhwd xmm3, xmm11
punpcklwd xmm1, xmm11
pand xmm9, xmm3
pandn xmm3, xmm13
pand xmm2, xmm1
por xmm3, xmm9
movdqu xmm9, xmm5
pandn xmm1, xmm8
pcmpgtw xmm9, xmm15
por xmm1, xmm2
movdqu xmm2, xmm15
movdqu xmm11, xmm3
punpckhdq xmm3, xmm4
punpckldq xmm11, xmm4
punpcklwd xmm2, xmm9
punpckhwd xmm15, xmm9
paddq xmm3, xmm11
pand xmm12, xmm2
pandn xmm2, xmm0
por xmm2, xmm12
movdqu xmm12, xmm7
psubd xmm12, xmm10
pand xmm10, xmm15
pandn xmm15, xmm12
por xmm15, xmm10
movdqu xmm10, xmm1
punpckhdq xmm1, xmm4
punpckldq xmm10, xmm4
movdqu xmm8, xmm15
punpckhdq xmm15, xmm4
paddq xmm1, xmm10
punpckldq xmm8, xmm4
paddq xmm14, xmm15
paddq xmm1, xmm3
movdqu xmm3, xmm2
punpckhdq xmm2, xmm4
punpckldq xmm3, xmm4
paddq xmm2, xmm3
paddq xmm2, xmm8
paddq xmm1, xmm2
paddq xmm14, xmm1
cmp r9, rcx
jne 0x6996c688
movdqu xmm7, xmm14
mov r8, qword [rsp + 0x30]
mov rcx, rdx
and rcx, 0xfffffffffffffff0
psrldq xmm7, 8
paddq xmm14, xmm7
add r8, rcx
lea r9, [rdi + rcx]
mov qword [rsp + 0x20], r8
movq rax, xmm14
lea r14, [rbp + rcx]
cmp rdx, rcx
je 0x6996cb00
movzx esi, byte [r9]
sub sil, byte [r8]
mov byte [r14], sil
movzx r8d, sil
jns 0x6996c846
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 1]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 1]
sub sil, byte [r8 + 1]
mov byte [r14 + 1], sil
movzx r8d, sil
jns 0x6996c87b
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 2]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 2]
sub sil, byte [r8 + 2]
mov byte [r14 + 2], sil
movzx r8d, sil
jns 0x6996c8b0
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 3]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 3]
sub sil, byte [r8 + 3]
mov byte [r14 + 3], sil
movzx r8d, sil
jns 0x6996c8e5
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 4]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 4]
sub sil, byte [r8 + 4]
mov byte [r14 + 4], sil
movzx r8d, sil
jns 0x6996c91a
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 5]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 5]
sub sil, byte [r8 + 5]
mov byte [r14 + 5], sil
movzx r8d, sil
js 0x6996d088
lea rsi, [rcx + 6]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 6]
sub sil, byte [r8 + 6]
mov byte [r14 + 6], sil
movzx r8d, sil
js 0x6996d0b0
lea rsi, [rcx + 7]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 7]
sub sil, byte [r8 + 7]
mov byte [r14 + 7], sil
movzx r8d, sil
js 0x6996d130
lea rsi, [rcx + 8]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 8]
sub sil, byte [r8 + 8]
mov byte [r14 + 8], sil
movzx r8d, sil
js 0x6996d1a8
lea rsi, [rcx + 9]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 9]
sub sil, byte [r8 + 9]
mov byte [r14 + 9], sil
movzx r8d, sil
js 0x6996d1f7
lea rsi, [rcx + 0xa]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 0xa]
sub sil, byte [r8 + 0xa]
mov byte [r14 + 0xa], sil
movzx r8d, sil
jns 0x6996ca2b
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 0xb]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 0xb]
sub sil, byte [r8 + 0xb]
mov byte [r14 + 0xb], sil
movzx r8d, sil
jns 0x6996ca60
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 0xc]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 0xc]
sub sil, byte [r8 + 0xc]
mov byte [r14 + 0xc], sil
movzx r8d, sil
jns 0x6996ca95
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
lea rsi, [rcx + 0xd]
add rax, r8
cmp rdx, rsi
jbe 0x6996cb00
mov r8, qword [rsp + 0x20]
movzx esi, byte [r9 + 0xd]
sub sil, byte [r8 + 0xd]
mov byte [r14 + 0xd], sil
movzx r8d, sil
jns 0x6996cac6
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
add rcx, 0xe
add rax, r8
cmp rdx, rcx
jbe 0x6996cb00
movzx ecx, byte [r9 + 0xe]
mov r9, qword [rsp + 0x20]
sub cl, byte [r9 + 0xe]
mov byte [r14 + 0xe], cl
movzx esi, cl
jns 0x6996caf5
movzx r14d, cl
mov esi, 0x100
sub esi, r14d
add rax, rsi
nop dword [rax + rax]
add qword [rsp + 0x30], rdx
add rdi, rdx
add rbp, rdx
cmp r15, rdx
jbe 0x6996ce4a
sub r15, rdx
xor r8d, r8d
mov qword [rsp + 0x20], r15
and r15d, 1
je 0x6996cbcd
movzx r8d, byte [rbx + 1]
movzx edx, byte [r11 + 1]
mov r15, qword [rsp + 0x30]
mov r9d, edx
sub edx, r8d
mov esi, r8d
movzx ecx, byte [r15]
mov r14d, edx
sar r14d, 0x1f
mov r15d, ecx
sub ecx, r8d
mov r8d, r14d
xor r8d, edx
add edx, ecx
sub r8d, r14d
mov r14d, edx
sar r14d, 0x1f
xor edx, r14d
sub edx, r14d
mov r14d, ecx
sar r14d, 0x1f
xor ecx, r14d
sub ecx, r14d
cmp r8d, edx
mov r14d, edx
cmovle r14d, r8d
cmp ecx, r14d
jle 0x6996cb90
cmp r8d, edx
cmovle esi, r15d
mov r9d, esi
movzx ecx, byte [rdi]
sub ecx, r9d
mov byte [rbp], cl
test cl, cl
jns 0x6996ced0
movzx r15d, cl
mov edx, 0x100
sub edx, r15d
mov rsi, rdx
add rax, rsi
cmp r13, rax
jb 0x69969d30
mov r8d, 1
cmp r8, qword [rsp + 0x20]
je 0x6996ce4a
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x30], r12
jmp 0x6996cca1
movzx r12d, cl
add rax, r12
cmp r13, rax
jb 0x6996ce90
lea r9, [r8 + 1]
movzx ecx, byte [rsi + r8 + 1]
movzx edx, byte [r11 + r9 + 1]
movzx r8d, byte [rbx + r9 + 1]
mov r14d, ecx
mov r10d, edx
sub edx, r8d
sub ecx, r8d
mov r12d, r8d
mov r15d, edx
sar r15d, 0x1f
mov r8d, r15d
xor r8d, edx
add edx, ecx
sub r8d, r15d
mov r15d, edx
sar r15d, 0x1f
xor edx, r15d
sub edx, r15d
mov r15d, ecx
sar r15d, 0x1f
xor ecx, r15d
sub ecx, r15d
cmp r8d, edx
mov r15d, edx
cmovle r15d, r8d
cmp ecx, r15d
jle 0x6996cc62
cmp r8d, edx
mov r10d, r12d
cmovle r10d, r14d
movzx ecx, byte [rdi + r9]
sub ecx, r10d
mov byte [rbp + r9], cl
test cl, cl
jns 0x6996cd60
movzx r14d, cl
mov edx, 0x100
sub edx, r14d
mov r12, rdx
add rax, r12
cmp r13, rax
jb 0x6996ce90
lea r8, [r9 + 1]
cmp r8, qword [rsp + 0x20]
je 0x6996ce40
movzx r9d, byte [rbx + r8 + 1]
movzx edx, byte [r11 + r8 + 1]
movzx ecx, byte [rsi + r8]
mov r10d, edx
sub edx, r9d
mov r12d, r9d
mov r15d, edx
mov r14d, ecx
sub ecx, r9d
sar r15d, 0x1f
mov r9d, r15d
xor r9d, edx
add edx, ecx
sub r9d, r15d
mov r15d, edx
sar r15d, 0x1f
xor edx, r15d
sub edx, r15d
mov r15d, ecx
sar r15d, 0x1f
xor ecx, r15d
sub ecx, r15d
cmp r9d, edx
mov r15d, edx
cmovle r15d, r9d
cmp ecx, r15d
jle 0x6996cd06
cmp r9d, edx
mov r10d, r12d
cmovle r10d, r14d
movzx ecx, byte [rdi + r8]
sub ecx, r10d
mov byte [rbp + r8], cl
test cl, cl
jns 0x6996cbe8
movzx r14d, cl
mov edx, 0x100
sub edx, r14d
mov r12, rdx
jmp 0x6996cbec
movzx eax, r8b
mov r8d, edi
sub r8d, eax
mov r14, r8
jmp 0x69969837
movzx r8d, al
mov r14d, edi
sub r14d, r8d
mov rax, r14
jmp 0x69969860
movzx r12d, cl
jmp 0x6996cc86
movzx ebp, bl
mov ebx, esi
sub ebx, ebp
mov r14, rbx
jmp 0x6996aaed
movzx r8d, bl
mov ebx, esi
sub ebx, r8d
mov r14, rbx
jmp 0x6996ab17
movzx ebx, r8b
jmp 0x6996ab46
movzx r14d, r14b
jmp 0x6996ab74
movzx r14d, r8b
jmp 0x6996988f
movzx eax, al
jmp 0x699698ba
movups xmm6, xmmword [rsp + 0x60]
movups xmm7, xmmword [rsp + 0x70]
mov rcx, r12
movups xmm8, xmmword [rsp + 0x80]
movups xmm9, xmmword [rsp + 0x90]
movups xmm10, xmmword [rsp + 0xa0]
movups xmm11, xmmword [rsp + 0xb0]
movups xmm12, xmmword [rsp + 0xc0]
movups xmm13, xmmword [rsp + 0xd0]
movups xmm14, xmmword [rsp + 0xe0]
movups xmm15, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x6996dee0
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x30]
cmp r13, rax
jbe 0x69969d30
mov r13, qword [r12 + 0x258]
mov r10, qword [r12 + 0x250]
test r13, r13
je 0x69969d30
movq xmm14, r13
movq xmm6, r10
punpcklqdq xmm14, xmm6
movups xmmword [r12 + 0x250], xmm14
jmp 0x69969d30
mov r10, qword [rsp + 0x50]
mov r12, qword [rsp + 0x30]
jmp 0x69969d30
mov ecx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x5c]
jmp 0x6996bae2
movzx ebp, bpl
jmp 0x6996aabc
movzx eax, al
jmp 0x69969804
movzx esi, cl
jmp 0x6996cbb0
movzx r14d, bl
jmp 0x6996aa8b
mov r11, r15
xor edi, edi
and r11d, 7
je 0x6996cfb7
cmp r11, 1
je 0x6996cf9a
cmp r11, 2
je 0x6996cf86
cmp r11, 3
je 0x6996cf73
cmp r11, 4
je 0x6996cf5f
cmp r11, 5
je 0x6996cf4c
cmp r11, 6
je 0x6996cf39
movzx r10d, byte [r8 + 1]
sub r10b, byte [r13 + 1]
mov edi, 1
mov byte [rdx + 1], r10b
movzx ecx, byte [r8 + rdi + 1]
sub cl, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], cl
add rdi, 1
movzx eax, byte [r8 + rdi + 1]
sub al, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], al
add rdi, 1
movzx ebp, byte [r8 + rdi + 1]
sub bpl, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], bpl
add rdi, 1
movzx ebx, byte [r8 + rdi + 1]
sub bl, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], bl
add rdi, 1
movzx r9d, byte [r8 + rdi + 1]
sub r9b, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], r9b
add rdi, 1
movzx r14d, byte [r8 + rdi + 1]
sub r14b, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], r14b
add rdi, 1
cmp r15, rdi
je 0x69969d28
movzx esi, byte [r8 + rdi + 1]
sub sil, byte [r13 + rdi + 1]
mov byte [rdx + rdi + 1], sil
movzx r11d, byte [r8 + rdi + 2]
sub r11b, byte [r13 + rdi + 2]
mov byte [rdx + rdi + 2], r11b
movzx r10d, byte [r8 + rdi + 3]
sub r10b, byte [r13 + rdi + 3]
mov byte [rdx + rdi + 3], r10b
movzx ecx, byte [r8 + rdi + 4]
sub cl, byte [r13 + rdi + 4]
mov byte [rdx + rdi + 4], cl
movzx eax, byte [r8 + rdi + 5]
sub al, byte [r13 + rdi + 5]
mov byte [rdx + rdi + 5], al
movzx ebp, byte [r8 + rdi + 6]
sub bpl, byte [r13 + rdi + 6]
mov byte [rdx + rdi + 6], bpl
movzx ebx, byte [r8 + rdi + 7]
sub bl, byte [r13 + rdi + 7]
mov byte [rdx + rdi + 7], bl
movzx r9d, byte [r8 + rdi + 8]
sub r9b, byte [r13 + rdi + 8]
mov byte [rdx + rdi + 8], r9b
add rdi, 8
cmp r15, rdi
jne 0x6996cfb7
jmp 0x69969d28
movzx r14d, r14b
jmp 0x699697d1
mov ebp, 0x100
sub ebp, r14d
jmp 0x6996a8ae
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
jmp 0x6996b629
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
jmp 0x6996c946
mov ebx, 0x100
sub ebx, eax
jmp 0x6996a06f
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
jmp 0x6996c972
mov ebp, 0x100
sub ebp, r14d
jmp 0x6996a8d3
mov r11d, 0x100
sub r11d, ebp
jmp 0x6996a090
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
jmp 0x6996b65b
movzx r14d, byte [r10 + r13]
movzx ebx, byte [rdx + r13 + 1]
movzx ecx, byte [r9 + r13]
add r14d, ebx
sar r14d, 1
sub ecx, r14d
mov byte [r8 + r13], cl
mov r13d, 2
jmp 0x69969c50
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
jmp 0x6996c99e
mov ebp, 0x100
sub ebp, r14d
jmp 0x6996a8f8
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
jmp 0x6996b68d
mov eax, 0x100
sub eax, edi
jmp 0x6996a0b1
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
jmp 0x6996b6bf
mov ebp, 0x100
sub ebp, r14d
jmp 0x6996a91d
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
jmp 0x6996c9ca
mov r8d, 0x100
sub r8d, ebp
jmp 0x6996a0d2
movzx ebp, r8b
jmp 0x6996aa5b
movzx ebx, bl
mov r11d, 0x100
sub r11d, ebx
jmp 0x6996b6f1
mov ebp, 0x100
sub ebp, r14d
jmp 0x6996a942
movzx esi, sil
mov r8d, 0x100
sub r8d, esi
jmp 0x6996c9f6
mov edi, 0x100
sub edi, r14d
jmp 0x6996a0f3
movdqu xmm15, xmmword [r8 + 1]
movdqu xmm14, xmmword [r13 + 1]
mov esi, 0x11
psubb xmm15, xmm14
movups xmmword [rdx + 1], xmm15
jmp 0x6996a2c9
mov edi, ebx
sub edi, r11d
mov r11, rdi
jmp 0x6996b8e9
mov ebp, 0x100
sub ebp, r14d
jmp 0x6996a967
mov ebp, 0x100
sub ebp, ebx
jmp 0x6996a113
movzx r11d, r9b
jmp 0x6996979f
xor r9d, r9d
xor eax, eax
mov esi, 0x100
nop word [rax + rax]
movzx ecx, byte [r11 + r9 + 1]
sub cl, byte [rbx + r9 + 1]
mov byte [r8 + r9 + 1], cl
jns 0x6996d3a0
movzx ecx, cl
mov r14d, esi
add r9, 1
sub r14d, ecx
add rax, r14
cmp rdx, r9
jne 0x6996d278
jmp 0x6996cb00
mov ebx, dword [rsp + 0x20]
mov dword [rsp + 0x20], edx
mov edi, 1
xor eax, eax
lea rbp, [rbx + 2]
nop dword [rax + rax]
movzx r9d, byte [rsi + rdi]
movzx edx, byte [r8 + rdi]
shr r9b, 1
sub edx, r9d
movzx r9d, dl
mov byte [r11 + rdi], r9b
test r9b, r9b
jns 0x6996d388
mov edx, 0x100
add rdi, 1
sub edx, r9d
add rax, rdx
cmp rdi, rbp
jne 0x6996d2c8
mov edx, dword [rsp + 0x20]
jmp 0x6996b818
xor edi, edi
xor eax, eax
mov r14d, 0x100
nop word [rax + rax]
movzx ebp, byte [r10 + rdi + 1]
mov byte [rbx + rdi + 1], bpl
test bpl, bpl
jns 0x6996d355
mov esi, r14d
add rdi, 1
sub esi, ebp
add rax, rsi
cmp r8, rdi
je 0x6996aa08
movzx ebp, byte [r10 + rdi + 1]
mov byte [rbx + rdi + 1], bpl
test bpl, bpl
js 0x6996d330
add rdi, 1
add rax, rbp
cmp r8, rdi
jne 0x6996d320
jmp 0x6996aa08
mov r8, r10
mov rcx, r9
xor ebx, ebx
jmp 0x6996becb
mov r14, rdi
xor r8d, r8d
jmp 0x6996ae97
xor eax, eax
jmp 0x69969bff
add rdi, 1
add rax, r9
cmp rdi, rbp
jne 0x6996d2c8
jmp 0x6996d2fd
movzx ecx, cl
add r9, 1
add rax, rcx
cmp rdx, r9
jne 0x6996d278
jmp 0x6996cb00
mov esi, edi
mov eax, 1
lea rdi, [rsi + 1]
lea r13, [rsi + 2]
and edi, 7
je 0x6996d4a0
cmp rdi, 1
je 0x6996d482
cmp rdi, 2
je 0x6996d46d
cmp rdi, 3
je 0x6996d458
cmp rdi, 4
je 0x6996d443
cmp rdi, 5
je 0x6996d42e
cmp rdi, 6
je 0x6996d419
movzx eax, byte [rbx + 1]
movzx ebp, byte [rdx + 1]
shr al, 1
sub ebp, eax
mov eax, 2
mov byte [r11 + 1], bpl
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
add rax, 1
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
add rax, 1
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
add rax, 1
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
add rax, 1
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
add rax, 1
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
add rax, 1
cmp rax, r13
je 0x69969bf0
movzx ebp, byte [rbx + rax]
movzx edi, byte [rdx + rax]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax], dil
movzx ebp, byte [rbx + rax + 1]
movzx edi, byte [rdx + rax + 1]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 1], dil
movzx ebp, byte [rbx + rax + 2]
movzx edi, byte [rdx + rax + 2]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 2], dil
movzx ebp, byte [rbx + rax + 3]
movzx edi, byte [rdx + rax + 3]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 3], dil
movzx ebp, byte [rbx + rax + 4]
movzx edi, byte [rdx + rax + 4]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 4], dil
movzx ebp, byte [rbx + rax + 5]
movzx edi, byte [rdx + rax + 5]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 5], dil
movzx ebp, byte [rbx + rax + 6]
movzx edi, byte [rdx + rax + 6]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 6], dil
movzx ebp, byte [rbx + rax + 7]
movzx edi, byte [rdx + rax + 7]
shr bpl, 1
sub edi, ebp
mov byte [r11 + rax + 7], dil
add rax, 8
cmp rax, r13
jne 0x6996d4a0
jmp 0x69969bf0
mov rsi, r8
xor r9d, r9d
and esi, 7
je 0x6996d5f5
cmp rsi, 1
je 0x6996d5dd
cmp rsi, 2
je 0x6996d5ce
cmp rsi, 3
je 0x6996d5bf
cmp rsi, 4
je 0x6996d5b0
cmp rsi, 5
je 0x6996d5a1
cmp rsi, 6
je 0x6996d592
movzx r11d, byte [r10 + 1]
mov r9d, 1
mov byte [r13 + 1], r11b
movzx ebx, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], bl
add r9, 1
movzx r14d, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], r14b
add r9, 1
movzx ecx, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], cl
add r9, 1
movzx eax, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], al
add r9, 1
movzx ebp, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], bpl
add r9, 1
movzx esi, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], sil
add r9, 1
cmp r8, r9
je 0x6996ae90
movzx r11d, byte [r10 + r9 + 1]
mov byte [r13 + r9 + 1], r11b
movzx ebx, byte [r10 + r9 + 2]
mov byte [r13 + r9 + 2], bl
movzx r14d, byte [r10 + r9 + 3]
mov byte [r13 + r9 + 3], r14b
movzx ecx, byte [r10 + r9 + 4]
mov byte [r13 + r9 + 4], cl
movzx eax, byte [r10 + r9 + 5]
mov byte [r13 + r9 + 5], al
movzx ebp, byte [r10 + r9 + 6]
mov byte [r13 + r9 + 6], bpl
movzx esi, byte [r10 + r9 + 7]
mov byte [r13 + r9 + 7], sil
movzx r11d, byte [r10 + r9 + 8]
mov byte [r13 + r9 + 8], r11b
add r9, 8
cmp r8, r9
jne 0x6996d5f5
jmp 0x6996ae90
mov rdi, r15
xor esi, esi
sub rdi, rbx
test dil, 1
je 0x6996d6f0
movzx r13d, byte [r11 + 1]
movzx r9d, byte [rax + 1]
movzx r15d, byte [r8]
mov esi, r9d
sub r9d, r13d
mov ebp, r13d
mov r14d, r9d
mov r10d, r15d
sub r15d, r13d
sar r14d, 0x1f
mov ebx, r14d
xor ebx, r9d
add r9d, r15d
mov r13d, r9d
sub ebx, r14d
mov r14d, r15d
sar r13d, 0x1f
sar r14d, 0x1f
xor r9d, r13d
xor r15d, r14d
sub r9d, r13d
sub r15d, r14d
mov r13d, r9d
cmp ebx, r9d
cmovle r13d, ebx
cmp r15d, r13d
jle 0x6996d6d4
cmp ebx, r9d
mov esi, ebp
cmovle esi, r10d
movzx r15d, byte [rcx]
sub r15d, esi
mov esi, 1
mov byte [rdx], r15b
cmp rsi, rdi
je 0x69969d28
nop dword [rax]
movzx ebx, byte [r11 + rsi + 1]
movzx r9d, byte [rax + rsi + 1]
movzx r10d, byte [r8 + rsi]
mov ebp, r9d
sub r9d, ebx
mov r13d, ebx
mov r15d, r9d
mov r14d, r10d
sub r10d, ebx
sar r15d, 0x1f
mov ebx, r15d
xor ebx, r9d
add r9d, r10d
sub ebx, r15d
mov r15d, r9d
sar r15d, 0x1f
xor r9d, r15d
sub r9d, r15d
mov r15d, r10d
sar r15d, 0x1f
xor r10d, r15d
sub r10d, r15d
cmp ebx, r9d
mov r15d, r9d
cmovle r15d, ebx
cmp r10d, r15d
jle 0x6996d756
cmp ebx, r9d
mov ebp, r13d
cmovle ebp, r14d
movzx r10d, byte [rcx + rsi]
lea rbx, [rsi + 1]
sub r10d, ebp
mov byte [rdx + rsi], r10b
movzx r10d, byte [r8 + rsi + 1]
movzx r9d, byte [rax + rbx + 1]
movzx esi, byte [r11 + rbx + 1]
mov r14d, r10d
mov ebp, r9d
sub r9d, esi
sub r10d, esi
mov r13d, esi
mov r15d, r9d
sar r15d, 0x1f
mov esi, r15d
xor esi, r9d
add r9d, r10d
sub esi, r15d
mov r15d, r9d
sar r15d, 0x1f
xor r9d, r15d
sub r9d, r15d
mov r15d, r10d
sar r15d, 0x1f
xor r10d, r15d
sub r10d, r15d
cmp esi, r9d
mov r15d, r9d
cmovle r15d, esi
cmp r10d, r15d
jle 0x6996d7cd
cmp esi, r9d
mov ebp, r13d
cmovle ebp, r14d
movzx r10d, byte [rcx + rbx]
lea rsi, [rbx + 1]
sub r10d, ebp
mov byte [rdx + rbx], r10b
cmp rsi, rdi
jne 0x6996d6f0
jmp 0x69969d28
mov rdi, rbx
xor r14d, r14d
and edi, 7
je 0x6996d8ba
cmp rdi, 1
je 0x6996d89d
cmp rdi, 2
je 0x6996d889
cmp rdi, 3
je 0x6996d875
cmp rdi, 4
je 0x6996d861
cmp rdi, 5
je 0x6996d84d
cmp rdi, 6
je 0x6996d839
movzx esi, byte [rax + 1]
sub sil, byte [r11 + 1]
mov r14d, 1
mov byte [rbp + 1], sil
movzx r13d, byte [rax + r14 + 1]
sub r13b, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], r13b
add r14, 1
movzx r8d, byte [rax + r14 + 1]
sub r8b, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], r8b
add r14, 1
movzx ecx, byte [rax + r14 + 1]
sub cl, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], cl
add r14, 1
movzx edi, byte [rax + r14 + 1]
sub dil, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], dil
add r14, 1
movzx esi, byte [rax + r14 + 1]
sub sil, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], sil
add r14, 1
movzx r13d, byte [rax + r14 + 1]
sub r13b, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], r13b
add r14, 1
cmp rbx, r14
je 0x6996bec0
movzx r8d, byte [rax + r14 + 1]
sub r8b, byte [r11 + r14 + 1]
mov byte [rbp + r14 + 1], r8b
movzx ecx, byte [rax + r14 + 2]
sub cl, byte [r11 + r14 + 2]
mov byte [rbp + r14 + 2], cl
movzx edi, byte [rax + r14 + 3]
sub dil, byte [r11 + r14 + 3]
mov byte [rbp + r14 + 3], dil
movzx esi, byte [rax + r14 + 4]
sub sil, byte [r11 + r14 + 4]
mov byte [rbp + r14 + 4], sil
movzx r13d, byte [rax + r14 + 5]
sub r13b, byte [r11 + r14 + 5]
mov byte [rbp + r14 + 5], r13b
movzx r8d, byte [rax + r14 + 6]
sub r8b, byte [r11 + r14 + 6]
mov byte [rbp + r14 + 6], r8b
movzx ecx, byte [rax + r14 + 7]
sub cl, byte [r11 + r14 + 7]
mov byte [rbp + r14 + 7], cl
movzx edi, byte [rax + r14 + 8]
sub dil, byte [r11 + r14 + 8]
mov byte [rbp + r14 + 8], dil
add r14, 8
cmp rbx, r14
jne 0x6996d8ba
jmp 0x6996bec0
sub r15, r8
xor ebp, ebp
mov rdi, r15
and edi, 7
je 0x6996da0b
cmp rdi, 1
je 0x6996d9f1
cmp rdi, 2
je 0x6996d9e0
cmp rdi, 3
je 0x6996d9ce
cmp rdi, 4
je 0x6996d9bc
cmp rdi, 5
je 0x6996d9aa
cmp rdi, 6
je 0x6996d998
movzx eax, byte [r14]
sub al, byte [r10 + 1]
mov ebp, 1
mov byte [rdx], al
movzx esi, byte [r14 + rbp]
sub sil, byte [r10 + rbp + 1]
mov byte [rdx + rbp], sil
add rbp, 1
movzx r11d, byte [r14 + rbp]
sub r11b, byte [r10 + rbp + 1]
mov byte [rdx + rbp], r11b
add rbp, 1
movzx r13d, byte [r14 + rbp]
sub r13b, byte [r10 + rbp + 1]
mov byte [rdx + rbp], r13b
add rbp, 1
movzx r9d, byte [r14 + rbp]
sub r9b, byte [r10 + rbp + 1]
mov byte [rdx + rbp], r9b
add rbp, 1
movzx ebx, byte [r14 + rbp]
sub bl, byte [r10 + rbp + 1]
mov byte [rdx + rbp], bl
add rbp, 1
movzx ecx, byte [r14 + rbp]
sub cl, byte [r10 + rbp + 1]
mov byte [rdx + rbp], cl
add rbp, 1
cmp rbp, r15
je 0x69969d28
movzx r8d, byte [r14 + rbp]
sub r8b, byte [r10 + rbp + 1]
mov byte [rdx + rbp], r8b
movzx edi, byte [r14 + rbp + 1]
sub dil, byte [r10 + rbp + 2]
mov byte [rdx + rbp + 1], dil
movzx eax, byte [r14 + rbp + 2]
sub al, byte [r10 + rbp + 3]
mov byte [rdx + rbp + 2], al
movzx esi, byte [r14 + rbp + 3]
sub sil, byte [r10 + rbp + 4]
mov byte [rdx + rbp + 3], sil
movzx r11d, byte [r14 + rbp + 4]
sub r11b, byte [r10 + rbp + 5]
mov byte [rdx + rbp + 4], r11b
movzx r13d, byte [r14 + rbp + 5]
sub r13b, byte [r10 + rbp + 6]
mov byte [rdx + rbp + 5], r13b
movzx r9d, byte [r14 + rbp + 6]
sub r9b, byte [r10 + rbp + 7]
mov byte [rdx + rbp + 6], r9b
movzx ebx, byte [r14 + rbp + 7]
sub bl, byte [r10 + rbp + 8]
mov byte [rdx + rbp + 7], bl
add rbp, 8
cmp rbp, r15
jne 0x6996da0b
jmp 0x69969d28
xor edx, edx
xor eax, eax
jmp 0x6996cb0b
mov dword [rsp + 0x5c], 0
xor ebx, ebx
xor eax, eax
jmp 0x6996b82c
xor r8d, r8d
xor eax, eax
jmp 0x6996aa0e
xor r13d, r13d
jmp 0x69969712
xor esi, esi
xor r13d, r13d
jmp 0x69969ff0
xor r11d, r11d
jmp 0x699698cf
push r12
sub rsp, 0x20
mov r12, rcx
test rcx, rcx
je 0x6996defc
mov eax, dword [rcx + 0x220]
cmp dword [rcx + 0x234], eax
jb 0x6996df08
add rsp, 0x20
pop r12
ret
mov r9d, 2
xor r8d, r8d
xor edx, edx
call fcn.699316e0
mov rcx, r12
mov dword [r12 + 0x2bc], 0
add rsp, 0x20
pop r12
jmp 0x69949620