Function at 0x1400cb3a0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
vmovups xmmword [rsp + 0x80], xmm6
vmovups xmmword [rsp + 0x90], xmm7
mov rdi, rcx
mov qword [rsp + 0xf8], rdx
test rcx, rcx
je 0x1400cbed0
test rdx, rdx
je 0x1400cbee0
mov rbx, r8
mov eax, 4
and ebx, 0xf
mov qword [rsp + 0x28], rbx
jne 0x1400cb457
cmp qword [rsp + 0x110], 0
je 0x1400cbef0
mov rax, qword [rsp + 0x110]
sub r8, 0x20
mov rdx, qword [rax]
mov qword [rax], r8
test r9, r9
je 0x1400cc1b0
mov eax, 9
cmp rdx, r8
jb 0x1400cb457
cmp qword [rcx], 0
je 0x1400cc1c0
mov rax, qword [rsp + 0xf8]
mov eax, dword [rax]
cmp dword [str.OAES], eax
jne 0x1400cb452
mov rax, qword [rsp + 0xf8]
cmp byte [rax + 4], 1
je 0x1400cb480
mov eax, 0xa
vmovups xmm6, xmmword [rsp + 0x80]
vmovups xmm7, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rax + 5], 2
jne 0x1400cb452
movzx esi, word [rax + 6]
lea eax, [rsi - 1]
cmp ax, 1
ja 0x1400cb452
mov rax, qword [rsp + 0xf8]
movzx ebx, byte [rax + 8]
cmp bl, 1
ja 0x1400cb452
mov rax, qword [rax + 0x10]
mov rcx, r9
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xf8]
lea rdx, [rax + 0x20]
call sym.memcpy
mov r9, rax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax]
test rax, rax
je 0x1400cbf07
and esi, 2
xor edx, edx
lea r14, [0x1401f7b00]
mov byte [rsp + 0x7f], bl
mov word [rsp + 0x7c], si
mov r13, r9
mov r15, rdi
mov qword [rsp + 0x108], r9
jmp 0x1400cb5d1
mov rdi, qword [rsp + 0x28]
test rdi, rdi
je 0x1400cc1d0
mov rcx, qword [rsp + 0xf8]
mov rbx, qword [rcx + rdi + 0x10]
mov rdi, qword [rcx + rdi + 0x18]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
test edx, edx
je 0x1400cc1d8
mov edx, 1
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov ebx, dword [r13 + 9]
vmovq xmm1, qword [r13 + 1]
xor byte [r13], cl
mov rax, rdi
shld rax, rcx, 0x38
vmovq xmm0, rax
mov rax, rdi
shr rax, 8
xor ebx, eax
mov rax, rdi
shr rdi, 0x38
xor byte [r13 + 0xf], dil
mov dword [r13 + 9], ebx
movzx ebx, word [r13 + 0xd]
shr rax, 0x28
vpxor xmm1, xmm1, xmm0
vmovq qword [r13 + 1], xmm1
xor ebx, eax
mov rax, qword [rsp + 0x110]
mov word [r13 + 0xd], bx
mov rax, qword [rax]
add qword [rsp + 0x28], 0x10
add r13, 0x10
mov rbx, qword [rsp + 0x28]
cmp rbx, rax
jae 0x1400cbefa
cmp word [rsp + 0x7c], 0
jne 0x1400cb520
test edx, edx
jne 0x1400cb5b9
mov rdi, qword [rsp + 0x28]
mov rcx, rax
mov edx, 1
sub rcx, rdi
cmp rcx, 0xf
jbe 0x1400cb5b9
mov rcx, qword [r15]
test rcx, rcx
je 0x1400cb5b9
mov rax, qword [rcx + 0x20]
mov esi, 4
dec rax
shl rax, 4
add rax, qword [rcx + 0x18]
movzx eax, byte [rax]
xor byte [r13], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 0xf]
xor byte [r13 + 1], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 0xe]
xor byte [r13 + 2], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 0xd]
xor byte [r13 + 3], al
lea rax, [r13 + 4]
mov rdx, qword [r15]
mov qword [rsp + 0x50], rax
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 0xc]
xor byte [r13 + 4], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 0xb]
xor byte [r13 + 5], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 0xa]
xor byte [r13 + 6], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 9]
xor byte [r13 + 7], al
lea rax, [r13 + 8]
mov rdx, qword [r15]
mov qword [rsp + 0x58], rax
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 8]
xor byte [r13 + 8], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 7]
xor byte [r13 + 9], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 6]
xor byte [r13 + 0xa], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 5]
xor byte [r13 + 0xb], al
lea rax, [r13 + 0xc]
mov rdx, qword [r15]
mov qword [rsp + 0x60], rax
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 4]
xor byte [r13 + 0xc], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 3]
xor byte [r13 + 0xd], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 2]
xor byte [r13 + 0xe], al
mov rdx, qword [r15]
shlx rax, qword [rdx + 0x20], rsi
add rax, qword [rdx + 0x18]
movzx eax, byte [rax - 1]
xor al, byte [r13 + 0xf]
mov byte [r13 + 0xf], al
mov byte [rsp + 0x38], al
mov rax, qword [r15]
mov rax, qword [rax + 0x20]
mov rbx, rax
sub rbx, 2
mov qword [rsp + 0x48], rbx
je 0x1400cbb64
shl rax, 4
mov r12, rax
nop dword [rax + rax]
movzx ebp, byte [r13 + 2]
movzx edi, byte [r13]
movzx esi, byte [r13 + 0xd]
movzx ebx, byte [r13 + 0xa]
movzx r11d, byte [r13 + 7]
movzx r10d, byte [r13 + 4]
movzx r9d, byte [r13 + 1]
movzx r8d, byte [r13 + 0xe]
mov byte [rsp + 0x34], bpl
movzx ebp, byte [r13 + 0xc]
movzx ecx, byte [r13 + 0xb]
movzx edx, byte [r13 + 8]
movzx eax, byte [r13 + 5]
mov byte [rsp + 0x40], bpl
movzx ebp, byte [r13 + 9]
mov byte [rsp + 0x47], bpl
movzx ebp, byte [r13 + 6]
mov byte [rsp + 0x78], bpl
movzx ebp, byte [r13 + 3]
mov byte [rsp + 0x7e], bpl
mov rbp, rdi
and edi, 0xf0
add rdi, r14
and ebp, 0xf
movzx ebp, byte [rdi + rbp]
mov rdi, rsi
and esi, 0xf0
add rsi, r14
and edi, 0xf
movzx edi, byte [rsi + rdi]
mov rsi, rbx
and ebx, 0xf0
add rbx, r14
and esi, 0xf
movzx esi, byte [rbx + rsi]
mov rbx, r11
and r11d, 0xf0
vmovd xmm0, ebp
add r11, r14
and ebx, 0xf
movzx ebx, byte [r11 + rbx]
mov r11, r10
and r10d, 0xf0
vpinsrb xmm0, xmm0, edi, 1
add r10, r14
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov r10, r9
and r9d, 0xf0
vmovd xmm7, esi
add r9, r14
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov r9, r8
and r8d, 0xf0
vpinsrb xmm7, xmm7, ebx, 1
add r8, r14
and r9d, 0xf
vpunpcklwd xmm0, xmm0, xmm7
movzx r9d, byte [r8 + r9]
mov r8, rcx
and ecx, 0xf0
vmovd xmm3, r11d
add rcx, r14
and r8d, 0xf
movzx r8d, byte [rcx + r8]
mov rcx, rdx
and edx, 0xf0
vpinsrb xmm3, xmm3, r10d, 1
add rdx, r14
and ecx, 0xf
movzx ecx, byte [rdx + rcx]
mov rdx, rax
and eax, 0xf0
vmovd xmm6, r9d
and edx, 0xf
add rax, r14
movzx eax, byte [rax + rdx]
vpinsrb xmm6, xmm6, r8d, 1
vpunpcklwd xmm3, xmm3, xmm6
mov byte [rsp + 0x30], cl
vpunpckldq xmm0, xmm0, xmm3
mov byte [rsp + 0x46], al
movzx edx, byte [rsp + 0x34]
vmovd xmm1, dword [rsp + 0x30]
vpinsrb xmm1, xmm1, byte [rsp + 0x46], 1
mov rax, rdx
and edx, 0xf0
and eax, 0xf
add rdx, r14
movzx edx, byte [rdx + rax]
mov byte [rsp + 0x34], dl
movzx edx, byte [rsp + 0x38]
vmovd xmm5, dword [rsp + 0x34]
mov rax, rdx
and edx, 0xf0
add rdx, r14
and eax, 0xf
movzx eax, byte [rdx + rax]
movzx edx, byte [rsp + 0x40]
mov byte [rsp + 0x38], al
mov rax, rdx
and edx, 0xf0
vpinsrb xmm5, xmm5, byte [rsp + 0x38], 1
and eax, 0xf
add rdx, r14
movzx edx, byte [rdx + rax]
mov byte [rsp + 0x40], dl
movzx edx, byte [rsp + 0x47]
vmovd xmm2, dword [rsp + 0x40]
vpunpcklwd xmm1, xmm1, xmm5
mov rax, rdx
and edx, 0xf0
add rdx, r14
and eax, 0xf
movzx eax, byte [rdx + rax]
movzx edx, byte [rsp + 0x78]
mov byte [rsp + 0x47], al
mov rax, rdx
and edx, 0xf0
vpinsrb xmm2, xmm2, byte [rsp + 0x47], 1
and eax, 0xf
add rdx, r14
movzx ecx, byte [rdx + rax]
movzx edx, byte [rsp + 0x7e]
mov rax, rdx
and edx, 0xf0
mov byte [rsp + 0x78], cl
and eax, 0xf
add rdx, r14
vmovd xmm4, dword [rsp + 0x78]
movzx edx, byte [rdx + rax]
mov rax, qword [rsp + 0x48]
vpinsrb xmm4, xmm4, edx, 1
shl rax, 4
vpunpcklwd xmm2, xmm2, xmm4
vpunpckldq xmm1, xmm1, xmm2
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [r13], xmm0
mov rcx, qword [r15]
add rax, qword [rcx + 0x18]
xor bpl, byte [rax]
mov byte [r13], bpl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor dil, byte [rax + r12 - 0x1f]
movzx ecx, byte [rsp + 0x30]
mov byte [r13 + 1], dil
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + r12 - 0x1e]
mov byte [r13 + 2], sil
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor bl, byte [rax + r12 - 0x1d]
mov byte [r13 + 3], bl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r11b, byte [rax + r12 - 0x1c]
mov byte [r13 + 4], r11b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r10b, byte [rax + r12 - 0x1b]
mov byte [r13 + 5], r10b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r9b, byte [rax + r12 - 0x1a]
mov byte [r13 + 6], r9b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r8b, byte [rax + r12 - 0x19]
mov byte [r13 + 7], r8b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + r12 - 0x18]
mov byte [r13 + 8], cl
mov rax, qword [r15]
mov rcx, r13
mov rax, qword [rax + 0x18]
movzx esi, byte [rsp + 0x46]
movzx edi, byte [rsp + 0x78]
xor sil, byte [rax + r12 - 0x17]
mov byte [r13 + 9], sil
mov rax, qword [r15]
movzx esi, byte [rsp + 0x34]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + r12 - 0x16]
mov byte [r13 + 0xa], sil
mov rax, qword [r15]
movzx esi, byte [rsp + 0x38]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + r12 - 0x15]
mov byte [r13 + 0xb], sil
mov rax, qword [r15]
movzx esi, byte [rsp + 0x40]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + r12 - 0x14]
mov byte [r13 + 0xc], sil
mov rax, qword [r15]
movzx esi, byte [rsp + 0x47]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + r12 - 0x13]
mov byte [r13 + 0xd], sil
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor dil, byte [rax + r12 - 0x12]
mov byte [r13 + 0xe], dil
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor dl, byte [rax + r12 - 0x11]
sub r12, 0x10
mov byte [r13 + 0xf], dl
call sym.oaes_inv_mix_cols.isra.0
mov rcx, qword [rsp + 0x50]
call sym.oaes_inv_mix_cols.isra.0
mov rcx, qword [rsp + 0x58]
call sym.oaes_inv_mix_cols.isra.0
mov rcx, qword [rsp + 0x60]
call sym.oaes_inv_mix_cols.isra.0
dec qword [rsp + 0x48]
movzx eax, byte [r13 + 0xf]
mov byte [rsp + 0x38], al
jne 0x1400cb7a0
movzx ebp, byte [r13 + 0xc]
movzx edi, byte [r13]
movzx esi, byte [r13 + 0xd]
movzx ebx, byte [r13 + 0xa]
movzx r11d, byte [r13 + 7]
movzx r10d, byte [r13 + 4]
movzx r9d, byte [r13 + 1]
mov byte [rsp + 0x34], bpl
movzx ebp, byte [r13 + 9]
movzx r8d, byte [r13 + 0xe]
movzx ecx, byte [r13 + 0xb]
movzx edx, byte [r13 + 8]
movzx eax, byte [r13 + 5]
movzx r12d, byte [r13 + 2]
mov byte [rsp + 0x40], bpl
movzx ebp, byte [r13 + 6]
mov byte [rsp + 0x47], bpl
movzx ebp, byte [r13 + 3]
mov byte [rsp + 0x78], bpl
mov rbp, rdi
and edi, 0xf0
add rdi, r14
and ebp, 0xf
movzx ebp, byte [rdi + rbp]
mov rdi, rsi
and esi, 0xf0
add rsi, r14
and edi, 0xf
movzx edi, byte [rsi + rdi]
mov rsi, rbx
and ebx, 0xf0
add rbx, r14
and esi, 0xf
movzx esi, byte [rbx + rsi]
mov rbx, r11
and r11d, 0xf0
vmovd xmm0, ebp
add r11, r14
and ebx, 0xf
movzx ebx, byte [r11 + rbx]
mov r11, r10
and r10d, 0xf0
vpinsrb xmm0, xmm0, edi, 1
add r10, r14
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov r10, r9
and r9d, 0xf0
vmovd xmm7, esi
add r9, r14
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov r9, r8
and r8d, 0xf0
vpinsrb xmm7, xmm7, ebx, 1
add r8, r14
and r9d, 0xf
vpunpcklwd xmm0, xmm0, xmm7
movzx r9d, byte [r8 + r9]
mov r8, rcx
and ecx, 0xf0
vmovd xmm3, r11d
add rcx, r14
and r8d, 0xf
movzx r8d, byte [rcx + r8]
mov rcx, rdx
and edx, 0xf0
vpinsrb xmm3, xmm3, r10d, 1
add rdx, r14
and ecx, 0xf
movzx ecx, byte [rdx + rcx]
mov rdx, rax
and eax, 0xf0
vmovd xmm6, r9d
and edx, 0xf
add rax, r14
movzx eax, byte [rax + rdx]
mov rdx, r12
and r12d, 0xf0
vpinsrb xmm6, xmm6, r8d, 1
and edx, 0xf
vpunpcklwd xmm3, xmm3, xmm6
vmovd xmm1, ecx
vpunpckldq xmm0, xmm0, xmm3
mov byte [rsp + 0x30], al
mov rax, r12
add rax, r14
movzx r12d, byte [rax + rdx]
mov rdx, qword [rsp + 0x38]
and edx, 0xf
vmovd xmm5, r12d
mov rax, rdx
mov rdx, qword [rsp + 0x38]
vpinsrb xmm1, xmm1, byte [rsp + 0x30], 1
and edx, 0xf0
add rdx, r14
movzx edx, byte [rdx + rax]
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x46], dl
mov rdx, rax
and eax, 0xf0
vpinsrb xmm5, xmm5, byte [rsp + 0x46], 1
and edx, 0xf
add rax, r14
movzx eax, byte [rax + rdx]
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x40]
vmovd xmm2, dword [rsp + 0x34]
vpunpcklwd xmm1, xmm1, xmm5
mov rdx, rax
and eax, 0xf0
add rax, r14
and edx, 0xf
movzx edx, byte [rax + rdx]
movzx eax, byte [rsp + 0x47]
mov byte [rsp + 0x38], dl
mov rdx, rax
and eax, 0xf0
vpinsrb xmm2, xmm2, byte [rsp + 0x38], 1
and edx, 0xf
add rax, r14
movzx eax, byte [rax + rdx]
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x78]
vmovd xmm4, dword [rsp + 0x40]
mov rdx, rax
and eax, 0xf0
add rax, r14
and edx, 0xf
movzx edx, byte [rax + rdx]
vpinsrb xmm4, xmm4, edx, 1
vpunpcklwd xmm2, xmm2, xmm4
vpunpckldq xmm1, xmm1, xmm2
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [r13], xmm0
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor bpl, byte [rax]
mov byte [r13], bpl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor dil, byte [rax + 1]
mov byte [r13 + 1], dil
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + 2]
mov byte [r13 + 2], sil
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor bl, byte [rax + 3]
mov byte [r13 + 3], bl
mov rax, qword [r15]
movzx ebx, byte [rsp + 0x30]
mov rax, qword [rax + 0x18]
xor r11b, byte [rax + 4]
mov byte [r13 + 4], r11b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r10b, byte [rax + 5]
mov byte [r13 + 5], r10b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r9b, byte [rax + 6]
mov byte [r13 + 6], r9b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r8b, byte [rax + 7]
mov byte [r13 + 7], r8b
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + 8]
mov byte [r13 + 8], cl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor bl, byte [rax + 9]
mov byte [r13 + 9], bl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor r12b, byte [rax + 0xa]
mov byte [r13 + 0xa], r12b
mov rax, qword [r15]
movzx ecx, byte [rsp + 0x46]
movzx ebx, byte [rsp + 0x34]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + 0xb]
mov byte [r13 + 0xb], cl
mov rax, qword [r15]
movzx ecx, byte [rsp + 0x38]
mov rax, qword [rax + 0x18]
xor bl, byte [rax + 0xc]
mov byte [r13 + 0xc], bl
mov rax, qword [r15]
movzx ebx, byte [rsp + 0x40]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + 0xd]
mov byte [r13 + 0xd], cl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor bl, byte [rax + 0xe]
mov byte [r13 + 0xe], bl
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
xor dl, byte [rax + 0xf]
cmp word [rsp + 0x7c], 0
mov byte [r13 + 0xf], dl
jne 0x1400cc2c6
mov rax, qword [rsp + 0x110]
xor edx, edx
mov rax, qword [rax]
jmp 0x1400cb5b9
mov eax, 2
jmp 0x1400cb457
mov eax, 3
jmp 0x1400cb457
mov eax, 6
jmp 0x1400cb457
movzx ebx, byte [rsp + 0x7f]
mov r9, qword [rsp + 0x108]
test bl, bl
je 0x1400cc1b0
movzx edx, byte [r9 + rax - 1]
lea rcx, [rdx - 1]
cmp rcx, 0xe
ja 0x1400cb452
cmp rdx, 1
je 0x1400cc0d4
movzx r8d, byte [r9 + rax - 2]
cmp rcx, r8
je 0x1400cc200
cmp rdx, 2
je 0x1400cb452
xor ecx, ecx
movzx r8d, byte [r9 + rax - 3]
lea r10, [rdx - 2]
cmp r10, r8
je 0x1400cc230
xor ecx, ecx
cmp rdx, 3
je 0x1400cb452
movzx r8d, byte [r9 + rax - 4]
lea r10, [rdx - 3]
cmp r10, r8
je 0x1400cc214
xor ecx, ecx
cmp rdx, 4
je 0x1400cb452
movzx r8d, byte [r9 + rax - 5]
lea r10, [rdx - 4]
cmp r10, r8
je 0x1400cc23f
xor ecx, ecx
cmp rdx, 5
je 0x1400cb452
movzx r8d, byte [r9 + rax - 6]
lea r10, [rdx - 5]
cmp r10, r8
je 0x1400cc24e
xor ecx, ecx
cmp rdx, 6
je 0x1400cb452
movzx r8d, byte [r9 + rax - 7]
lea r10, [rdx - 6]
cmp r10, r8
je 0x1400cc25d
xor ecx, ecx
cmp rdx, 7
je 0x1400cb452
movzx r8d, byte [r9 + rax - 8]
lea r10, [rdx - 7]
cmp r10, r8
je 0x1400cc26c
xor ecx, ecx
cmp rdx, 8
je 0x1400cb452
movzx r8d, byte [r9 + rax - 9]
lea r10, [rdx - 8]
cmp r10, r8
je 0x1400cc28a
xor ecx, ecx
cmp rdx, 9
je 0x1400cb452
movzx r8d, byte [r9 + rax - 0xa]
lea r10, [rdx - 9]
cmp r10, r8
je 0x1400cc27b
xor ecx, ecx
cmp rdx, 0xa
je 0x1400cb452
movzx r8d, byte [r9 + rax - 0xb]
lea r10, [rdx - 0xa]
cmp r10, r8
je 0x1400cc2b7
xor ecx, ecx
cmp rdx, 0xb
je 0x1400cb452
movzx r8d, byte [r9 + rax - 0xc]
lea r10, [rdx - 0xb]
cmp r10, r8
je 0x1400cc2a8
xor ecx, ecx
cmp rdx, 0xc
je 0x1400cb452
movzx r10d, byte [r9 + rax - 0xd]
lea r8, [rdx - 0xc]
cmp r10, r8
je 0x1400cc299
xor ecx, ecx
cmp rdx, 0xd
je 0x1400cb452
movzx r10d, byte [r9 + rax - 0xe]
xor r8d, r8d
cmp rdx, 0xe
setne r8b
inc r8
cmp r8, r10
jne 0x1400cb452
cmp rdx, 0xf
jne 0x1400cc0cc
cmp byte [r9 + rax - 0xf], 1
jne 0x1400cb452
test ecx, ecx
je 0x1400cb452
sub rax, rdx
add r9, rax
mov rax, rdx
cmp rdx, 0x80
jb 0x1400cc10a
vpxor xmm0, xmm0, xmm0
sub r9, 0xffffffffffffff80
lea rax, [rdx - 0x80]
vmovdqu ymmword [r9 - 0x80], ymm0
vmovdqu ymmword [r9 - 0x60], ymm0
vmovdqu ymmword [r9 - 0x40], ymm0
vmovdqu ymmword [r9 - 0x20], ymm0
cmp rax, 0x40
jb 0x1400cc128
vpxor xmm0, xmm0, xmm0
add r9, 0x40
sub rax, 0x40
vmovdqu ymmword [r9 - 0x40], ymm0
vmovdqu ymmword [r9 - 0x20], ymm0
cmp rax, 0x20
jb 0x1400cc140
vpxor xmm0, xmm0, xmm0
add r9, 0x20
sub rax, 0x20
vmovdqu ymmword [r9 - 0x20], ymm0
cmp rax, 0x10
jb 0x1400cc158
vpxor xmm0, xmm0, xmm0
add r9, 0x10
sub rax, 0x10
vmovdqu xmmword [r9 - 0x10], xmm0
cmp rax, 8
jb 0x1400cc16d
mov qword [r9], 0
sub rax, 8
add r9, 8
cmp rax, 4
jb 0x1400cc182
mov dword [r9], 0
sub rax, 4
add r9, 4
cmp rax, 2
jb 0x1400cc196
mov word [r9], 0
sub rax, 2
add r9, 2
cmp rax, 1
jb 0x1400cc1a0
mov byte [r9], 0
mov rax, qword [rsp + 0x110]
sub qword [rax], rdx
vzeroupper
nop
xor eax, eax
jmp 0x1400cb457
mov eax, 7
jmp 0x1400cb457
test edx, edx
jne 0x1400cb552
mov rbx, qword [rsp + 0x28]
sub rax, rbx
cmp rax, 0xf
jbe 0x1400cb552
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400cb5ff
jmp 0x1400cb552
mov ecx, 1
cmp rdx, 2
jne 0x1400cbf48
jmp 0x1400cc0d4
cmp rdx, 4
jne 0x1400cbf86
jmp 0x1400cc0cc
cmp rdx, 3
jne 0x1400cbf67
jmp 0x1400cc0cc
cmp rdx, 5
jne 0x1400cbfa5
jmp 0x1400cc0cc
cmp rdx, 6
jne 0x1400cbfc4
jmp 0x1400cc0cc
cmp rdx, 7
jne 0x1400cbfe3
jmp 0x1400cc0cc
cmp rdx, 8
jne 0x1400cc002
jmp 0x1400cc0cc
cmp rdx, 0xa
jne 0x1400cc040
jmp 0x1400cc0cc
cmp rdx, 9
jne 0x1400cc021
jmp 0x1400cc0cc
cmp rdx, 0xd
jne 0x1400cc09d
jmp 0x1400cc0cc
cmp rdx, 0xc
jne 0x1400cc07e
jmp 0x1400cc0cc
cmp rdx, 0xb
jne 0x1400cc05f
jmp 0x1400cc0cc
xor edx, edx
jmp 0x1400cb557