Function at 0x1400b8e30
Capabilities:
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, 0x78
vmovups xmmword [rsp + 0x50], xmm6
vmovups xmmword [rsp + 0x60], xmm7
mov r13, r9
mov rbp, rcx
mov r9, qword [rsp + 0xe0]
vmovq xmm7, rdx
test rcx, rcx
je 0x1400b9b10
test rdx, rdx
je 0x1400b9b20
mov rdi, r8
mov eax, 4
and edi, 0xf
vmovq xmm6, rdi
jne 0x1400b8ed5
test r9, r9
je 0x1400b9b30
sub r8, 0x20
mov rdx, qword [r9]
mov qword [r9], r8
test r13, r13
je 0x1400b9de0
mov eax, 9
cmp rdx, r8
jb 0x1400b8ed5
cmp qword [rcx], 0
je 0x1400b9df0
vmovq rax, xmm7
mov ebx, dword [str.OAES]
cmp dword [rax], ebx
jne 0x1400b8ed0
cmp byte [rax + 4], 1
mov qword [rsp + 0xe0], r9
je 0x1400b8f00
mov eax, 0xa
vmovups xmm6, xmmword [rsp + 0x50]
vmovups xmm7, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rax + 5], 2
jne 0x1400b8ed0
movzx ebx, word [rax + 6]
lea eax, [rbx - 1]
cmp ax, 1
ja 0x1400b8ed0
vmovq rax, xmm7
movzx r12d, byte [rax + 8]
cmp r12b, 1
ja 0x1400b8ed0
mov rax, qword [rax + 0x10]
mov rcx, r13
mov qword [rsp + 0x38], rax
vmovq rax, xmm7
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x40], rax
vmovq rax, xmm7
lea rdx, [rax + 0x20]
call sym.memcpy
mov r9, qword [rsp + 0xe0]
mov rax, qword [r9]
test rax, rax
je 0x1400b9b50
mov rsi, r13
and ebx, 2
mov qword [rsp + 0xd8], r13
xor edx, edx
mov r13, rbp
mov word [rsp + 0x4c], bx
lea rdi, [0x140330620]
mov byte [rsp + 0x4f], r12b
vmovdqu xmm2, xmm6
mov rbp, rsi
jmp 0x1400b907d
vmovq rbx, xmm2
test rbx, rbx
je 0x1400b9e00
vmovq rsi, xmm7
mov rsi, qword [rsi + rbx + 0x10]
mov qword [rsp + 0x38], rsi
vmovq rsi, xmm7
mov rsi, qword [rsi + rbx + 0x18]
mov qword [rsp + 0x40], rsi
test edx, edx
je 0x1400b9e08
mov edx, 1
mov rbx, qword [rsp + 0x38]
xor byte [rbp], bl
movzx eax, bh
xor byte [rbp + 1], al
mov rax, rbx
shr rax, 0x10
xor byte [rbp + 2], al
mov rax, rbx
shr rax, 0x18
xor byte [rbp + 3], al
mov rax, rbx
shr rax, 0x20
xor byte [rbp + 4], al
mov rax, rbx
shr rax, 0x28
xor byte [rbp + 5], al
mov rax, rbx
shr rbx, 0x38
xor byte [rbp + 7], bl
shr rax, 0x30
mov rbx, qword [rsp + 0x40]
xor byte [rbp + 6], al
xor byte [rbp + 8], bl
movzx eax, bh
xor byte [rbp + 9], al
mov rax, rbx
shr rax, 0x10
xor byte [rbp + 0xa], al
mov rax, rbx
shr rax, 0x18
xor byte [rbp + 0xb], al
mov rax, rbx
shr rax, 0x20
xor byte [rbp + 0xc], al
mov rax, rbx
shr rax, 0x28
xor byte [rbp + 0xd], al
mov rax, rbx
shr rbx, 0x38
shr rax, 0x30
xor byte [rbp + 0xe], al
xor byte [rbp + 0xf], bl
mov rax, qword [rsp + 0xe0]
mov rax, qword [rax]
vmovq rbx, xmm2
add rbp, 0x10
add rbx, 0x10
vmovq xmm2, rbx
cmp rbx, rax
jae 0x1400b9b3a
cmp word [rsp + 0x4c], 0
jne 0x1400b8f90
test edx, edx
jne 0x1400b9062
mov rcx, rax
vmovq rsi, xmm2
mov edx, 1
sub rcx, rsi
cmp rcx, 0xf
jbe 0x1400b9062
mov rcx, qword [r13]
test rcx, rcx
je 0x1400b9062
mov rax, qword [rcx + 0x20]
dec rax
shl rax, 4
add rax, qword [rcx + 0x18]
movzx eax, byte [rax]
xor byte [rbp], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 1]
xor byte [rbp + 1], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 2]
xor byte [rbp + 2], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 3]
xor byte [rbp + 3], al
lea rax, [rbp + 4]
mov rdx, qword [r13]
vmovq xmm5, rax
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 4]
xor byte [rbp + 4], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 5]
xor byte [rbp + 5], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 6]
xor byte [rbp + 6], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 7]
xor byte [rbp + 7], al
lea rax, [rbp + 8]
mov rdx, qword [r13]
vmovq xmm16, rax
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 8]
xor byte [rbp + 8], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 9]
xor byte [rbp + 9], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 0xa]
xor byte [rbp + 0xa], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 0xb]
xor byte [rbp + 0xb], al
lea rax, [rbp + 0xc]
mov rdx, qword [r13]
vmovq xmm17, rax
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 0xc]
xor byte [rbp + 0xc], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 0xd]
xor byte [rbp + 0xd], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 0xe]
xor byte [rbp + 0xe], al
mov rdx, qword [r13]
mov rax, qword [rdx + 0x20]
dec rax
shl rax, 4
add rax, qword [rdx + 0x18]
movzx eax, byte [rax + 0xf]
xor al, byte [rbp + 0xf]
mov byte [rsp + 0x4a], al
mov byte [rbp + 0xf], al
mov rax, qword [r13]
mov r12, qword [rax + 0x20]
mov rax, r12
sub rax, 2
mov qword [rsp + 0x30], rax
je 0x1400b9711
shl r12, 4
mov rsi, rbp
mov rbp, r13
mov rbx, r12
jmp 0x1400b92a8
movzx eax, byte [rsi + 0xf]
mov byte [rsp + 0x4a], al
movzx r8d, byte [rsi + 6]
movzx r13d, byte [rsi]
movzx eax, byte [rsi + 0xd]
movzx r12d, byte [rsi + 0xa]
movzx r15d, byte [rsi + 7]
movzx ecx, byte [rsi + 1]
movzx r14d, byte [rsi + 4]
mov byte [rsp + 0x4b], r8b
movzx r8d, byte [rsi + 3]
movzx edx, byte [rsi + 0xe]
movzx r11d, byte [rsi + 0xb]
movzx r10d, byte [rsi + 8]
movzx r9d, byte [rsi + 5]
mov byte [rsp + 0x49], cl
movzx ecx, byte [rsi + 0xc]
mov byte [rsp + 0x4e], r8b
mov r8, r13
and r13d, 0xf0
mov byte [rsp + 0x24], dl
and r8d, 0xf
add r13, rdi
movzx r13d, byte [r13 + r8]
mov r8, rax
movzx edx, byte [rsi + 2]
and r8d, 0xf
vmovq xmm0, r8
mov r8, rax
and r8d, 0xf0
vmovq rax, xmm0
add r8, rdi
mov byte [rsp + 0x2c], dl
movzx edx, byte [rsi + 9]
movzx eax, byte [r8 + rax]
mov r8, r12
and r12d, 0xf0
and r8d, 0xf
add r12, rdi
movzx r12d, byte [r12 + r8]
mov r8, r15
and r15d, 0xf0
and r8d, 0xf
add r15, rdi
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x49]
movzx r15d, byte [r15 + r8]
mov r8, r14
and r14d, 0xf0
and r8d, 0xf
add r14, rdi
vmovd xmm24, r12d
movzx r14d, byte [r14 + r8]
mov r8, rax
vpinsrb xmm24, xmm24, r15d, 1
and r8d, 0xf
vmovq xmm0, r8
mov r8, rax
and r8d, 0xf0
vmovq rax, xmm0
vmovd xmm20, r14d
add r8, rdi
movzx eax, byte [r8 + rax]
mov byte [rsp + 0x49], al
movzx eax, byte [rsp + 0x24]
mov r8, rax
and r8d, 0xf
vmovq xmm0, r8
mov r8, rax
and r8d, 0xf0
vmovq rax, xmm0
add r8, rdi
movzx eax, byte [r8 + rax]
mov r8, r11
and r11d, 0xf0
and r8d, 0xf
add r11, rdi
mov byte [rsp + 0x24], al
movzx r11d, byte [r11 + r8]
mov r8, r10
and r10d, 0xf0
and r8d, 0xf
add r10, rdi
vpinsrb xmm20, xmm20, byte [rsp + 0x49], 1
vmovd xmm23, dword [rsp + 0x24]
movzx r10d, byte [r10 + r8]
mov r8, r9
and r9d, 0xf0
and r8d, 0xf
add r9, rdi
movzx eax, byte [r9 + r8]
vpinsrb xmm23, xmm23, r11d, 1
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x2c]
vpunpcklwd xmm20, xmm20, xmm23
mov r8, rax
and r8d, 0xf
vmovq xmm0, r8
mov r8, rax
and r8d, 0xf0
vmovq r9, xmm0
add r8, rdi
movzx r8d, byte [r8 + r9]
movzx r9d, byte [rsp + 0x4a]
mov rax, r9
vmovd xmm22, r8d
and eax, 0xf
vmovq xmm1, rax
mov rax, r9
and eax, 0xf0
mov r9, rax
vmovq rax, xmm1
vmovd xmm1, r10d
vpinsrb xmm1, xmm1, byte [rsp + 0x28], 1
add r9, rdi
movzx eax, byte [r9 + rax]
movzx r9d, byte [rsp + 0x4b]
mov byte [rsp + 0x4a], al
mov rax, rcx
and ecx, 0xf0
vpinsrb xmm22, xmm22, byte [rsp + 0x4a], 1
and eax, 0xf
add rcx, rdi
movzx ecx, byte [rcx + rax]
mov rax, rdx
and edx, 0xf0
and eax, 0xf
add rdx, rdi
movzx edx, byte [rdx + rax]
mov rax, r9
and eax, 0xf
vmovq xmm0, rax
mov rax, r9
vmovd xmm19, ecx
and eax, 0xf0
vmovq r9, xmm0
add rax, rdi
vpinsrb xmm19, xmm19, edx, 1
vpunpcklwd xmm1, xmm1, xmm22
movzx eax, byte [rax + r9]
mov byte [rsp + 0x2c], al
movzx eax, byte [rsp + 0x4e]
vmovd xmm21, dword [rsp + 0x2c]
mov r9, rax
and r9d, 0xf
vmovq xmm0, r9
mov r9, rax
and r9d, 0xf0
mov rax, r9
vmovq r9, xmm0
vmovd xmm0, r13d
vpinsrb xmm0, xmm0, byte [rsp + 0x20], 1
add rax, rdi
movzx eax, byte [rax + r9]
vpinsrb xmm21, xmm21, eax, 1
mov byte [rsp + 0x4b], al
mov rax, qword [rsp + 0x30]
vpunpcklwd xmm19, xmm19, xmm21
vpunpcklwd xmm0, xmm0, xmm24
vpunpckldq xmm1, xmm1, xmm19
vpunpckldq xmm0, xmm0, xmm20
vpunpcklqdq xmm0, xmm0, xmm1
shl rax, 4
vmovdqu8 xmmword [rsi], xmm0
mov r9, qword [rbp]
add rax, qword [r9 + 0x18]
movzx r9d, byte [rax]
xor r9d, r13d
movzx r13d, byte [rsp + 0x20]
mov byte [rsi], r9b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r13b, byte [rax + rbx - 0x1f]
mov byte [rsi + 1], r13b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r12b, byte [rax + rbx - 0x1e]
mov byte [rsi + 2], r12b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r15b, byte [rax + rbx - 0x1d]
mov byte [rsi + 3], r15b
mov rax, qword [rbp]
movzx r15d, byte [rsp + 0x24]
mov rax, qword [rax + 0x18]
xor r14b, byte [rax + rbx - 0x1c]
mov byte [rsi + 4], r14b
mov rax, qword [rbp]
movzx r14d, byte [rsp + 0x49]
mov rax, qword [rax + 0x18]
xor r14b, byte [rax + rbx - 0x1b]
mov byte [rsi + 5], r14b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r15b, byte [rax + rbx - 0x1a]
mov byte [rsi + 6], r15b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r11b, byte [rax + rbx - 0x19]
mov byte [rsi + 7], r11b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r10b, byte [rax + rbx - 0x18]
mov byte [rsi + 8], r10b
mov rax, qword [rbp]
movzx r9d, byte [rsp + 0x28]
movzx r11d, byte [rsp + 0x4a]
mov rax, qword [rax + 0x18]
xor r9b, byte [rax + rbx - 0x17]
mov byte [rsi + 9], r9b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r8b, byte [rax + rbx - 0x16]
mov byte [rsi + 0xa], r8b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor r11b, byte [rax + rbx - 0x15]
mov byte [rsi + 0xb], r11b
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + rbx - 0x14]
mov byte [rsi + 0xc], cl
mov rax, qword [rbp]
movzx ecx, byte [rsp + 0x2c]
mov rax, qword [rax + 0x18]
xor dl, byte [rax + rbx - 0x13]
mov byte [rsi + 0xd], dl
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + rbx - 0x12]
mov byte [rsi + 0xe], cl
mov rax, qword [rbp]
movzx ecx, byte [rsp + 0x4b]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + rbx - 0x11]
sub rbx, 0x10
mov byte [rsi + 0xf], cl
mov rcx, rsi
call sym.oaes_inv_mix_cols.isra.0
vmovq rcx, xmm5
call sym.oaes_inv_mix_cols.isra.0
vmovq rcx, xmm16
call sym.oaes_inv_mix_cols.isra.0
vmovq rcx, xmm17
call sym.oaes_inv_mix_cols.isra.0
dec qword [rsp + 0x30]
jne 0x1400b92a0
movzx eax, byte [rsi + 0xf]
mov r13, rbp
mov rbp, rsi
mov byte [rsp + 0x4a], al
movzx edx, byte [rbp + 2]
movzx esi, byte [rbp]
movzx r15d, byte [rbp + 0xd]
movzx r14d, byte [rbp + 0xa]
movzx r12d, byte [rbp + 7]
movzx ebx, byte [rbp + 4]
movzx r11d, byte [rbp + 1]
mov byte [rsp + 0x24], dl
movzx edx, byte [rbp + 9]
movzx r10d, byte [rbp + 0xe]
movzx r9d, byte [rbp + 0xb]
movzx r8d, byte [rbp + 8]
movzx ecx, byte [rbp + 5]
movzx eax, byte [rbp + 0xc]
mov byte [rsp + 0x2c], dl
movzx edx, byte [rbp + 6]
mov byte [rsp + 0x4b], dl
movzx edx, byte [rbp + 3]
mov byte [rsp + 0x30], dl
mov rdx, rsi
and esi, 0xf0
and edx, 0xf
add rsi, rdi
movzx esi, byte [rsi + rdx]
movzx edx, byte [rsp + 0x24]
mov byte [rsp + 0x20], sil
mov rsi, r15
and r15d, 0xf0
add r15, rdi
and esi, 0xf
movzx esi, byte [r15 + rsi]
mov r15, r14
and r14d, 0xf0
add r14, rdi
and r15d, 0xf
movzx r15d, byte [r14 + r15]
mov r14, r12
and r12d, 0xf0
add r12, rdi
and r14d, 0xf
movzx r14d, byte [r12 + r14]
mov r12, rbx
and ebx, 0xf0
add rbx, rdi
and r12d, 0xf
movzx r12d, byte [rbx + r12]
mov rbx, r11
and r11d, 0xf0
vmovd xmm20, r15d
add r11, rdi
and ebx, 0xf
movzx ebx, byte [r11 + rbx]
mov r11, r10
and r10d, 0xf0
vpinsrb xmm20, xmm20, r14d, 1
add r10, rdi
and r11d, 0xf
movzx r11d, byte [r10 + r11]
mov r10, r9
and r9d, 0xf0
vmovd xmm16, r12d
add r9, rdi
and r10d, 0xf
movzx r10d, byte [r9 + r10]
mov r9, r8
and r8d, 0xf0
vpinsrb xmm16, xmm16, ebx, 1
add r8, rdi
and r9d, 0xf
movzx r9d, byte [r8 + r9]
mov r8, rcx
and ecx, 0xf0
vmovd xmm19, r11d
add rcx, rdi
and r8d, 0xf
movzx r8d, byte [rcx + r8]
mov rcx, rdx
and edx, 0xf0
vpinsrb xmm19, xmm19, r10d, 1
and ecx, 0xf
add rdx, rdi
vpunpcklwd xmm16, xmm16, xmm19
mov byte [rsp + 0x49], r8b
movzx ecx, byte [rdx + rcx]
movzx r8d, byte [rsp + 0x4a]
mov byte [rsp + 0x24], cl
mov rcx, r8
and ecx, 0xf
vmovd xmm18, dword [rsp + 0x24]
vmovq xmm0, rcx
mov rcx, r8
and ecx, 0xf0
vmovq r8, xmm0
mov rdx, rcx
mov rcx, rax
and eax, 0xf0
and ecx, 0xf
add rax, rdi
add rdx, rdi
movzx eax, byte [rax + rcx]
movzx edx, byte [rdx + r8]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x2c]
vpinsrb xmm18, xmm18, edx, 1
vmovd xmm5, dword [rsp + 0x28]
mov rcx, rax
and ecx, 0xf
vmovq xmm0, rcx
mov rcx, rax
movzx eax, byte [rsp + 0x4b]
and ecx, 0xf0
mov r8, rcx
vmovq rcx, xmm0
vmovd xmm0, dword [rsp + 0x20]
add r8, rdi
vpinsrb xmm0, xmm0, esi, 1
movzx ecx, byte [r8 + rcx]
mov r8, rax
vpunpcklwd xmm0, xmm0, xmm20
and r8d, 0xf
vpunpckldq xmm0, xmm0, xmm16
vmovq xmm1, r8
mov r8, rax
and r8d, 0xf0
vmovq rax, xmm1
add r8, rdi
vpinsrb xmm5, xmm5, ecx, 1
mov byte [rsp + 0x4a], cl
movzx ecx, byte [rsp + 0x20]
movzx eax, byte [r8 + rax]
mov byte [rsp + 0x2c], al
movzx eax, byte [rsp + 0x30]
vmovd xmm17, dword [rsp + 0x2c]
mov r8, rax
and r8d, 0xf
vmovq xmm1, r8
mov r8, rax
vmovq rax, xmm1
vmovd xmm1, r9d
vpinsrb xmm1, xmm1, byte [rsp + 0x49], 1
and r8d, 0xf0
add r8, rdi
movzx eax, byte [r8 + rax]
vpinsrb xmm17, xmm17, eax, 1
mov byte [rsp + 0x4b], al
vpunpcklwd xmm5, xmm5, xmm17
vpunpcklwd xmm1, xmm1, xmm18
vpunpckldq xmm1, xmm1, xmm5
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu8 xmmword [rbp], xmm0
mov r8, qword [r13]
vmovq xmm0, qword [r8 + 0x18]
vmovq r8, xmm0
xor cl, byte [r8]
mov byte [rbp], cl
mov r8, qword [r13]
vmovq xmm0, qword [r8 + 0x18]
vmovq r8, xmm0
xor sil, byte [r8 + 1]
mov byte [rbp + 1], sil
mov r8, qword [r13]
mov rsi, qword [r8 + 0x18]
xor r15b, byte [rsi + 2]
movzx r8d, byte [rsp + 0x49]
mov byte [rbp + 2], r15b
mov r15, qword [r13]
mov rsi, qword [r15 + 0x18]
xor r14b, byte [rsi + 3]
mov byte [rbp + 3], r14b
mov r14, qword [r13]
mov rsi, qword [r14 + 0x18]
xor r12b, byte [rsi + 4]
mov byte [rbp + 4], r12b
mov r12, qword [r13]
mov rsi, qword [r12 + 0x18]
xor bl, byte [rsi + 5]
mov byte [rbp + 5], bl
mov rbx, qword [r13]
mov rbx, qword [rbx + 0x18]
xor r11b, byte [rbx + 6]
mov byte [rbp + 6], r11b
mov r11, qword [r13]
mov r11, qword [r11 + 0x18]
xor r10b, byte [r11 + 7]
mov byte [rbp + 7], r10b
mov r10, qword [r13]
mov r10, qword [r10 + 0x18]
xor r9b, byte [r10 + 8]
mov byte [rbp + 8], r9b
mov r9, qword [r13]
mov r9, qword [r9 + 0x18]
xor r8b, byte [r9 + 9]
mov byte [rbp + 9], r8b
mov r8, qword [r13]
mov r8, qword [r8 + 0x18]
movzx ecx, byte [rsp + 0x24]
movzx eax, byte [rsp + 0x28]
movzx esi, byte [rsp + 0x2c]
xor cl, byte [r8 + 0xa]
mov byte [rbp + 0xa], cl
mov rcx, qword [r13]
mov rcx, qword [rcx + 0x18]
xor dl, byte [rcx + 0xb]
movzx ecx, byte [rsp + 0x4a]
mov byte [rbp + 0xb], dl
mov rdx, qword [r13]
mov rdx, qword [rdx + 0x18]
xor al, byte [rdx + 0xc]
mov byte [rbp + 0xc], al
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
xor cl, byte [rax + 0xd]
mov byte [rbp + 0xd], cl
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + 0xe]
mov byte [rbp + 0xe], sil
mov rax, qword [r13]
movzx esi, byte [rsp + 0x4b]
mov rax, qword [rax + 0x18]
xor sil, byte [rax + 0xf]
cmp word [rsp + 0x4c], 0
mov byte [rbp + 0xf], sil
jne 0x1400b9ef6
mov rax, qword [rsp + 0xe0]
xor edx, edx
mov rax, qword [rax]
jmp 0x1400b9062
mov eax, 2
jmp 0x1400b8ed5
mov eax, 3
jmp 0x1400b8ed5
mov eax, 6
jmp 0x1400b8ed5
movzx r12d, byte [rsp + 0x4f]
mov r13, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xe0]
test r12b, r12b
je 0x1400b9de0
movzx edx, byte [r13 + rax - 1]
lea rcx, [rdx - 1]
cmp rcx, 0xe
ja 0x1400b8ed0
cmp rdx, 1
je 0x1400b9d14
movzx r8d, byte [r13 + rax - 2]
cmp rcx, r8
je 0x1400b9e30
cmp rdx, 2
je 0x1400b8ed0
xor ecx, ecx
movzx r8d, byte [r13 + rax - 3]
lea r10, [rdx - 2]
cmp r10, r8
je 0x1400b9e60
xor ecx, ecx
cmp rdx, 3
je 0x1400b8ed0
movzx r8d, byte [r13 + rax - 4]
lea r10, [rdx - 3]
cmp r10, r8
je 0x1400b9e44
xor ecx, ecx
cmp rdx, 4
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 5]
lea r10, [rdx - 4]
cmp r10, r8
je 0x1400b9e6f
xor ecx, ecx
cmp rdx, 5
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 6]
lea r10, [rdx - 5]
cmp r10, r8
je 0x1400b9e7e
xor ecx, ecx
cmp rdx, 6
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 7]
lea r10, [rdx - 6]
cmp r10, r8
je 0x1400b9e8d
xor ecx, ecx
cmp rdx, 7
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 8]
lea r10, [rdx - 7]
cmp r10, r8
je 0x1400b9e9c
xor ecx, ecx
cmp rdx, 8
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 9]
lea r10, [rdx - 8]
cmp r10, r8
je 0x1400b9eba
xor ecx, ecx
cmp rdx, 9
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 0xa]
lea r10, [rdx - 9]
cmp r10, r8
je 0x1400b9eab
xor ecx, ecx
cmp rdx, 0xa
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 0xb]
lea r10, [rdx - 0xa]
cmp r10, r8
je 0x1400b9ee7
xor ecx, ecx
cmp rdx, 0xb
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 0xc]
lea r10, [rdx - 0xb]
cmp r10, r8
je 0x1400b9ed8
xor ecx, ecx
cmp rdx, 0xc
jbe 0x1400b8ed0
movzx r10d, byte [r13 + rax - 0xd]
lea r8, [rdx - 0xc]
cmp r10, r8
je 0x1400b9ec9
xor ecx, ecx
cmp rdx, 0xd
jbe 0x1400b8ed0
movzx r8d, byte [r13 + rax - 0xe]
lea r10, [rdx - 0xd]
cmp r10, r8
jne 0x1400b8ed0
cmp rdx, 0xf
jne 0x1400b9d0c
cmp byte [r13 + rax - 0xf], 1
jne 0x1400b8ed0
test ecx, ecx
je 0x1400b8ed0
sub rax, rdx
mov rcx, rdx
add rax, r13
cmp rdx, 0x80
jb 0x1400b9d40
vpxor xmm0, xmm0, xmm0
sub rax, 0xffffffffffffff80
lea rcx, [rdx - 0x80]
vmovdqu8 zmmword [rax - 0x80], zmm0
vmovdqu8 zmmword [rax - 0x40], zmm0
cmp rcx, 0x40
jb 0x1400b9d59
vpxor xmm0, xmm0, xmm0
add rax, 0x40
sub rcx, 0x40
vmovdqu8 zmmword [rax - 0x40], zmm0
cmp rcx, 0x20
jb 0x1400b9d72
vpxor xmm0, xmm0, xmm0
add rax, 0x20
sub rcx, 0x20
vmovdqu8 ymmword [rax - 0x20], ymm0
cmp rcx, 0x10
jb 0x1400b9d8b
vpxor xmm0, xmm0, xmm0
add rax, 0x10
sub rcx, 0x10
vmovdqu8 xmmword [rax - 0x10], xmm0
cmp rcx, 8
jb 0x1400b9da0
mov qword [rax], 0
sub rcx, 8
add rax, 8
cmp rcx, 4
jb 0x1400b9db4
mov dword [rax], 0
sub rcx, 4
add rax, 4
cmp rcx, 2
jb 0x1400b9dc7
mov word [rax], 0
sub rcx, 2
add rax, 2
cmp rcx, 1
jb 0x1400b9dd0
mov byte [rax], 0
sub qword [r9], rdx
vzeroupper
nop word cs:[rax + rax]
xor eax, eax
jmp 0x1400b8ed5
mov eax, 7
jmp 0x1400b8ed5
test edx, edx
jne 0x1400b8fc4
vmovq rsi, xmm2
sub rax, rsi
cmp rax, 0xf
jbe 0x1400b8fc4
mov rcx, qword [r13]
test rcx, rcx
jne 0x1400b90ac
jmp 0x1400b8fc4
mov ecx, 1
cmp rdx, 2
jne 0x1400b9b92
jmp 0x1400b9d14
cmp rdx, 4
jne 0x1400b9bd0
jmp 0x1400b9d0c
cmp rdx, 3
jne 0x1400b9bb1
jmp 0x1400b9d0c
cmp rdx, 5
jne 0x1400b9bef
jmp 0x1400b9d0c
cmp rdx, 6
jne 0x1400b9c0e
jmp 0x1400b9d0c
cmp rdx, 7
jne 0x1400b9c2d
jmp 0x1400b9d0c
cmp rdx, 8
jne 0x1400b9c4c
jmp 0x1400b9d0c
cmp rdx, 0xa
jne 0x1400b9c8a
jmp 0x1400b9d0c
cmp rdx, 9
jne 0x1400b9c6b
jmp 0x1400b9d0c
cmp rdx, 0xd
jne 0x1400b9ce7
jmp 0x1400b9d0c
cmp rdx, 0xc
jne 0x1400b9cc8
jmp 0x1400b9d0c
cmp rdx, 0xb
jne 0x1400b9ca9
jmp 0x1400b9d0c
xor edx, edx
jmp 0x1400b8fc9