Function at 0x708570
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
cmp edx, 0x80
je 0x7090a0
mov eax, 1
cmp edx, 0x100
jne 0x709085
mov dword [r8 + 0xf0], 0xe
mov r9, qword [rcx]
movabs rsi, 0xf000f000f000f0
movabs rbx, 0xff000000ff00
mov qword [rsp + 0xa0], 2
mov r11, qword [rcx + 8]
mov rdx, r9
shr rdx, 4
mov r10, r11
xor rdx, r9
shr r10, 4
and rdx, rsi
xor r10, r11
xor r9, rdx
shl rdx, 4
and r10, rsi
xor rdx, r9
xor r11, r10
shl r10, 4
mov rax, rdx
xor r10, r11
shr rax, 8
mov r9, r10
xor rax, rdx
shr r9, 8
and rax, rbx
xor r9, r10
xor rdx, rax
shl rax, 8
and r9, rbx
xor rax, rdx
xor r10, r9
shl r9, 8
mov rdx, rax
xor r9, r10
shr rdx, 0x10
mov r10, r9
xor rdx, rax
shr r10, 0x10
and edx, 0xffff0000
xor r10, r9
xor rax, rdx
shl rdx, 0x10
xor rdx, rax
and r10d, 0xffff0000
mov eax, eax
xor r9, r10
shl r10, 0x10
xor r9, r10
shr rdx, 0x20
mov r10, r9
shl r10, 0x20
or rax, r10
movabs r10, 0xffffffff00000000
and r9, r10
mov qword [r8], rax
mov rdi, r9
mov qword [rsp + 0x60], rax
or rdi, rdx
mov qword [r8 + 8], rdi
mov r9, qword [rcx + 0x10]
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x40], rdi
mov rdx, r9
shr rdx, 4
xor rdx, r9
and rdx, rsi
xor r9, rdx
shl rdx, 4
xor rdx, r9
mov rax, rdx
shr rax, 8
xor rax, rdx
and rax, rbx
xor rdx, rax
shl rax, 8
xor rax, rdx
mov rdx, rcx
mov r9, rax
shr rdx, 4
shr r9, 0x10
xor rdx, rcx
xor r9, rax
and rsi, rdx
and r9d, 0xffff0000
xor rcx, rsi
shl rsi, 4
xor rax, r9
shl r9, 0x10
xor r9, rax
xor rcx, rsi
mov r11, rax
mov rax, rcx
mov rdx, rcx
shr r9, 0x20
mov r11d, r11d
shr rax, 8
mov rsi, r11
xor rax, rcx
and rbx, rax
xor rdx, rbx
shl rbx, 8
mov rax, rdx
xor rax, rbx
mov rdx, rax
shr rdx, 0x10
xor rdx, rax
and edx, 0xffff0000
xor rax, rdx
shl rdx, 0x10
xor rax, rdx
mov rdx, rax
and rax, r10
or rax, r9
shl rdx, 0x20
mov qword [rsp + 0x50], rax
or rsi, rdx
mov qword [r8 + 0x18], rax
lea rax, [r8 + 0x20]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x48], rsi
mov qword [r8 + 0x10], rsi
mov qword [rsp + 0x38], rax
jmp 0x708bc8
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xf0], rax
call sym.aes_nohw_transpose
mov rdi, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x100]
mov r11, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd0]
mov r15, rdi
xor r11, r9
mov r12, rsi
mov r10, rsi
mov rbp, rsi
xor r15, rdx
xor rax, r11
xor r10, rdi
xor rbp, rdx
mov rcx, rax
xor rdi, rax
mov rax, r15
mov r14, rsi
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rdi
mov rdi, rbp
xor r14, rcx
mov r8, r10
mov qword [rsp + 0x78], r14
mov r14, r11
xor r12, rbx
xor rbx, rcx
mov qword [rsp + 0xa8], r15
xor rax, r12
xor rdi, rbx
mov qword [rsp + 0x68], rbp
mov r13, r12
mov qword [rsp + 0x80], rbx
mov rbx, rax
xor rax, qword [rsp + 0xe8]
xor rdx, rax
xor r9, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xb8], rbx
xor r8, r9
xor r14, rdx
and rbx, rdx
mov qword [rsp + 0xb0], r10
xor rax, rdx
mov qword [rsp + 0x30], r14
xor r14, r8
and r10, r8
mov qword [rsp + 0x88], rax
and rbp, qword [rsp + 0x30]
xor r9, rbx
xor r11, r8
mov rax, qword [rsp + 0xd0]
and r13, r11
mov qword [rsp + 0xc0], rdi
xor rax, r8
mov qword [rsp + 0x90], rax
mov rax, r15
and rax, r14
mov r15, rax
mov rax, qword [rsp + 0x88]
xor r15, r10
xor r10, rbp
mov rbp, qword [rsp + 0x80]
and rax, rdi
mov rdi, qword [rsp + 0x70]
xor r9, rax
xor r9, r15
and rdi, qword [rsp + 0xd0]
and rbp, rcx
xor rsi, r11
mov rax, rbp
xor rdi, qword [rsp + 0x68]
xor rdi, qword [rsp + 0x30]
xor rax, r12
xor rdi, rbx
xor rax, r11
xor rdi, r10
xor rax, r13
xor r13, rsi
mov rsi, r9
xor rax, r15
mov r15, qword [rsp + 0x78]
and r15, qword [rsp + 0x90]
xor rsi, rdi
xor r13, r15
and r9, rax
mov r15, rsi
xor r13, r10
mov r10, rax
mov rbp, r13
xor r13, r9
and rsi, r13
xor r10, rbp
xor rsi, rdi
xor rdi, r9
and r10, rdi
mov rdi, rbp
xor r9, r10
xor rdi, r10
mov r10, rsi
and rbp, r9
xor rax, rdi
xor r13, rbp
xor rax, rbp
mov rbp, qword [rsp + 0xd0]
mov rbx, r13
mov r13, rsi
and rbx, rsi
xor rbx, r15
mov r15, rax
xor r15, rbx
xor r13, rdi
and rbp, rdi
xor r10, rbx
mov r9, r15
mov r15, rdi
and r11, r10
and r10, r12
mov qword [rsp + 0xc8], r9
xor r9, r13
xor r15, rax
and r8, r13
mov qword [rsp + 0x98], rbp
and r14, r9
and rdx, r15
and rcx, rbx
mov rbp, qword [rsp + 0x90]
and r9, qword [rsp + 0xa8]
xor rdx, r11
xor r11, r8
mov r12, r9
mov r9, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x30]
and rbp, rsi
mov qword [rsp + 0xa8], r12
and r15, qword [rsp + 0xb8]
mov qword [rsp + 0x90], rbp
mov rbp, r14
mov r14, qword [rsp + 0xc0]
and r9, r13
mov r13, qword [rsp + 0xc8]
xor r11, rbp
xor r9, r12
and rsi, qword [rsp + 0x78]
and r14, rax
and rbx, qword [rsp + 0x80]
xor rbx, qword [rsp + 0x90]
mov qword [rsp + 0xc0], r14
mov r14, qword [rsp + 0x98]
and r8, r13
xor rbp, r8
mov r8, qword [rsp + 0xc0]
xor r14, r10
mov r12, r14
mov r14, rcx
xor r15, r8
xor rcx, r11
xor r14, r9
xor r12, rdx
xor rbp, r14
xor r15, r14
xor rsi, r12
xor r9, r12
xor r9, rbx
and rdi, qword [rsp + 0x70]
xor rsi, rbp
xor r10, rbx
not r9
and rax, qword [rsp + 0x88]
xor rdi, r8
xor r10, rbp
mov qword [rsp + 0xd0], r9
mov r9, qword [rsp + 0x68]
xor rax, r15
xor rdi, rsi
xor rdx, rax
mov r8, qword [rsp + 0x98]
xor r15, r11
xor r8, qword [rsp + 0x90]
and r9, r13
xor rax, r8
xor r9, qword [rsp + 0xa8]
not r10
xor r9, rcx
xor rcx, rdx
mov qword [rsp + 0xe8], rax
not rcx
xor rsi, r9
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x28]
not rsi
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x108], r15
call sym.aes_nohw_transpose
movzx eax, word [rsp + 0xd6]
xor rax, qword [rsp + 0x48]
mov rdx, rax
mov rcx, rax
shl rcx, 0x20
shl rdx, 0x10
xor rdx, rcx
xor rdx, rax
shl rax, 0x30
mov rbx, rdx
xor rbx, rax
movzx eax, word [rsp + 0xf6]
xor rax, qword [rsp + 0x50]
mov rdx, rax
mov rcx, rax
mov qword [rsp + 0x48], rbx
shl rcx, 0x20
shl rdx, 0x10
xor rdx, rcx
mov rcx, qword [rsp + 0x58]
xor rdx, rax
shl rax, 0x30
add qword [rsp + 0xa0], 2
xor rdx, rax
mov qword [rcx - 0x10], rbx
mov qword [rsp + 0x50], rdx
mov qword [rcx - 8], rdx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
call sym.aes_nohw_transpose
mov rdi, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x100]
mov r11, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd0]
mov r15, rdi
xor r11, r9
mov r12, rsi
mov r8, rsi
mov rbp, rsi
xor r15, rdx
xor rax, r11
xor rbp, rdx
xor r8, rdi
mov rcx, rax
xor rdi, rax
mov rax, r15
mov r14, rsi
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rdi
mov rdi, rbp
xor r14, rcx
mov qword [rsp + 0x78], r14
mov r10, r8
mov r14, r11
xor r12, rbx
xor rbx, rcx
mov qword [rsp + 0xa8], r15
xor rax, r12
xor rdi, rbx
mov qword [rsp + 0x68], rbp
mov r13, r12
mov qword [rsp + 0x80], rbx
mov rbx, rax
xor rax, qword [rsp + 0xe8]
xor rdx, rax
xor r9, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xb8], rbx
xor r8, r9
xor r14, rdx
and rbx, rdx
mov qword [rsp + 0xb0], r10
xor rax, rdx
mov qword [rsp + 0x30], r14
xor r14, r8
and r10, r8
mov qword [rsp + 0x88], rax
and rbp, qword [rsp + 0x30]
xor r9, rbx
xor r11, r8
mov rax, qword [rsp + 0xd0]
and r13, r11
mov qword [rsp + 0xc0], rdi
xor rax, r8
mov qword [rsp + 0x90], rax
mov rax, r15
and rax, r14
mov r15, rax
mov rax, qword [rsp + 0x88]
xor r15, r10
xor r10, rbp
mov rbp, qword [rsp + 0x80]
and rax, rdi
mov rdi, qword [rsp + 0x70]
xor r9, rax
xor r9, r15
and rdi, qword [rsp + 0xd0]
and rbp, rcx
xor rsi, r11
mov rax, rbp
xor rdi, qword [rsp + 0x68]
xor rdi, qword [rsp + 0x30]
xor rax, r12
xor rdi, rbx
xor rax, r11
xor rdi, r10
xor rax, r13
xor r13, rsi
mov rsi, r9
xor rax, r15
mov r15, qword [rsp + 0x78]
and r15, qword [rsp + 0x90]
xor rsi, rdi
xor r13, r15
and r9, rax
mov r15, rsi
xor r13, r10
mov r10, rax
mov rbp, r13
xor r13, r9
and rsi, r13
xor r10, rbp
xor rsi, rdi
xor rdi, r9
and r10, rdi
mov rbx, r10
mov r10, rbp
xor r9, rbx
xor r10, rbx
and rbp, r9
xor rax, r10
mov rdi, r10
xor r13, rbp
xor rax, rbp
mov rbp, qword [rsp + 0xd0]
mov rbx, r13
mov r13, rsi
and rbx, rsi
xor rbx, r15
mov r15, rax
xor r15, rbx
xor r13, r10
and rbp, rdi
mov r10, rsi
mov r9, r15
xor r10, rbx
mov r15, rdi
and r8, r13
mov qword [rsp + 0xc8], r9
xor r9, r13
xor r15, rax
and r11, r10
and r14, r9
and r10, r12
and rdx, r15
and rcx, rbx
mov qword [rsp + 0x98], rbp
mov rbp, qword [rsp + 0x90]
xor rdx, r11
xor r11, r8
and r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x30]
and rbp, rsi
mov r12, r9
mov r9, qword [rsp + 0xb0]
and r15, qword [rsp + 0xb8]
mov qword [rsp + 0x90], rbp
mov rbp, r14
mov r14, qword [rsp + 0xc0]
and r9, r13
mov r13, qword [rsp + 0xc8]
xor r11, rbp
mov qword [rsp + 0xa8], r12
and r14, rax
xor r9, r12
and rsi, qword [rsp + 0x78]
and rbx, qword [rsp + 0x80]
mov qword [rsp + 0xc0], r14
mov r14, qword [rsp + 0x98]
and r8, r13
xor rbp, r8
mov r8, qword [rsp + 0xc0]
xor rbx, qword [rsp + 0x90]
xor r14, r10
mov r12, r14
mov r14, rcx
xor r15, r8
xor rcx, r11
xor r14, r9
xor r12, rdx
xor rbp, r14
xor r15, r14
xor rsi, r12
xor r9, r12
xor r9, rbx
and rdi, qword [rsp + 0x70]
xor rsi, rbp
xor r10, rbx
not r9
xor rdi, r8
lea rbx, [0x007d8f90]
xor r10, rbp
and rax, qword [rsp + 0x88]
xor rdi, rsi
not r10
mov qword [rsp + 0xd0], r9
mov r9, qword [rsp + 0x68]
xor rax, r15
mov r8, qword [rsp + 0x98]
xor r15, r11
xor rdx, rax
xor r8, qword [rsp + 0x90]
mov qword [rsp + 0xe0], rdi
movabs rdi, 0xfff0fff0fff0fff
and r9, r13
xor r9, qword [rsp + 0xa8]
xor rax, r8
mov qword [rsp + 0xf0], rdx
xor r9, rcx
xor rcx, rdx
mov qword [rsp + 0xe8], rax
not rcx
xor rsi, r9
mov qword [rsp + 0xd8], r10
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x28]
not rsi
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x108], r15
call sym.aes_nohw_transpose
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xd0]
movabs r11, 0xf000f000f000f000
mov r8, qword [rsp + 0xf0]
mov rdx, rsi
shr rdx, 1
movzx ecx, byte [rbx + rdx - 1]
mov rdx, rax
shl rax, 0xc
shr rdx, 4
and rax, r11
and rdx, rdi
or rdx, rax
mov rax, rcx
and eax, 0xf
shr rdx, 0x30
xor rdx, rax
xor rdx, qword [rsp + 0x60]
mov rax, rdx
mov r9, rdx
shl rax, 0x10
shl r9, 0x20
xor rax, r9
shr rcx, 4
xor rax, rdx
shl rdx, 0x30
and ecx, 0xf
xor rax, rdx
mov rbx, rax
mov qword [rsp + 0x60], rax
mov rax, r8
shl r8, 0xc
shr rax, 4
and r8, r11
and rax, rdi
or rax, r8
shr rax, 0x30
xor rax, rcx
xor rax, qword [rsp + 0x40]
mov rdx, rax
mov rcx, rax
shl rcx, 0x20
shl rdx, 0x10
xor rdx, rcx
xor rdx, rax
shl rax, 0x30
mov rcx, rdx
xor rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
mov qword [rax], rbx
add rax, 0x20
mov qword [rax - 0x18], rcx
mov qword [rsp + 0x58], rax
cmp rsi, 0xe
jne 0x708790
xor eax, eax
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [r8 + 0xf0], 0xa
mov r11, qword [rcx]
movabs rax, 0xf000f000f000f0
mov rcx, qword [rcx + 8]
mov r10, r11
shr r10, 4
mov rdx, rcx
xor r10, r11
shr rdx, 4
and r10, rax
xor rdx, rcx
xor r11, r10
shl r10, 4
and rdx, rax
xor r10, r11
xor rcx, rdx
shl rdx, 4
movabs r11, 0xff000000ff00
mov r9, r10
xor rdx, rcx
shr r9, 8
mov rax, rdx
xor r9, r10
shr rax, 8
and r9, r11
xor rax, rdx
xor r10, r9
shl r9, 8
and rax, r11
xor r9, r10
xor rdx, rax
shl rax, 8
mov r10, r9
xor rax, rdx
shr r10, 0x10
mov rdx, rax
xor r10, r9
shr rdx, 0x10
and r10d, 0xffff0000
xor rdx, rax
xor r9, r10
shl r10, 0x10
xor r10, r9
and edx, 0xffff0000
mov r9d, r9d
xor rax, rdx
shl rdx, 0x10
mov rbx, r9
xor rax, rdx
shr r10, 0x20
mov rdx, rax
shl rdx, 0x20
or rbx, rdx
movabs rdx, 0xffffffff00000000
and rax, rdx
mov qword [rsp + 0x48], rbx
or rax, r10
mov qword [r8], rbx
mov qword [rsp + 0x40], rax
mov qword [r8 + 8], rax
lea rax, [0x007d8f90]
mov qword [rsp + 0x88], rax
lea rax, [r8 + 0x10]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x38], rax
nop dword [rax]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0xd0], rax
call sym.aes_nohw_transpose
mov rdi, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x100]
mov r11, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xd0]
mov r15, rdi
xor r11, r9
mov r12, rsi
mov r10, rsi
mov rbp, rsi
xor r15, rdx
xor r14, r11
xor r10, rdi
xor rbp, rdx
mov rcx, r14
xor rdi, r14
mov rax, r15
mov r14, rsi
mov rbx, qword [rsp + 0xd8]
mov qword [rsp + 0x58], rdi
mov rdi, rbp
xor r14, rcx
mov r8, r10
mov qword [rsp + 0x60], r14
mov r14, r11
xor r12, rbx
xor rbx, rcx
mov qword [rsp + 0x98], r15
xor rax, r12
xor rdi, rbx
mov qword [rsp + 0x68], rbx
mov r13, r12
mov rbx, rax
xor rax, qword [rsp + 0xe8]
mov qword [rsp + 0x50], rbp
xor rdx, rax
xor r9, rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xa8], rbx
xor r8, r9
xor r14, rdx
and rbx, rdx
mov qword [rsp + 0xa0], r10
xor rax, rdx
mov qword [rsp + 0x30], r14
xor r14, r8
and r10, r8
mov qword [rsp + 0x70], rax
and rbp, qword [rsp + 0x30]
xor r9, rbx
xor r11, r8
mov rax, qword [rsp + 0xd0]
and r13, r11
mov qword [rsp + 0xb0], rdi
xor rax, r8
mov qword [rsp + 0x78], rax
mov rax, r15
and rax, r14
mov r15, rax
mov rax, qword [rsp + 0x70]
xor r15, r10
xor r10, rbp
mov rbp, qword [rsp + 0x68]
and rax, rdi
mov rdi, qword [rsp + 0x58]
xor r9, rax
xor r9, r15
and rdi, qword [rsp + 0xd0]
and rbp, rcx
xor rsi, r11
mov rax, rbp
xor rdi, qword [rsp + 0x50]
xor rdi, qword [rsp + 0x30]
xor rax, r12
xor rdi, rbx
xor rax, r11
xor rdi, r10
xor rax, r13
xor r13, rsi
mov rsi, r9
xor rax, r15
mov r15, qword [rsp + 0x60]
and r15, qword [rsp + 0x78]
xor rsi, rdi
xor r13, r15
and r9, rax
mov r15, rsi
xor r13, r10
mov r10, rax
mov rbp, r13
xor r13, r9
and rsi, r13
xor r10, rbp
xor rsi, rdi
xor rdi, r9
and r10, rdi
mov rbx, r10
mov r10, rbp
xor r9, rbx
xor r10, rbx
and rbp, r9
xor rax, r10
mov rdi, r10
xor r13, rbp
xor rax, rbp
mov rbp, qword [rsp + 0xd0]
mov rbx, r13
mov r13, rsi
and rbx, rsi
xor rbx, r15
mov r15, rax
xor r15, rbx
xor r13, r10
and rbp, rdi
mov r10, rsi
mov r9, r15
xor r10, rbx
mov r15, rdi
and r8, r13
mov qword [rsp + 0xb8], r9
xor r9, r13
xor r15, rax
and r11, r10
and r14, r9
and r10, r12
and rdx, r15
and rcx, rbx
mov qword [rsp + 0x80], rbp
mov rbp, qword [rsp + 0x78]
xor rdx, r11
xor r11, r8
and r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0x30]
and rbp, rsi
mov r12, r9
and rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rbp
mov rbp, r14
and rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0xb0]
and r9, r13
mov r13, qword [rsp + 0xb8]
xor r11, rbp
xor r9, r12
mov qword [rsp + 0x98], r12
xor rbx, qword [rsp + 0x78]
and r14, rax
and r8, r13
and r15, qword [rsp + 0xa8]
mov qword [rsp + 0xb0], r14
mov r14, qword [rsp + 0x80]
xor rbp, r8
mov r8, qword [rsp + 0xb0]
xor r14, r10
mov r12, r14
mov r14, rcx
xor r15, r8
xor rcx, r11
xor r14, r9
xor r12, rdx
xor rbp, r14
xor r15, r14
xor rsi, r12
xor r9, r12
xor r9, rbx
and rax, qword [rsp + 0x70]
and rdi, qword [rsp + 0x58]
xor rsi, rbp
not r9
xor rax, r15
xor r10, rbx
xor rdi, r8
xor rdx, rax
xor rdi, rsi
xor r10, rbp
xor r15, r11
mov qword [rsp + 0xd0], r9
mov r9, qword [rsp + 0x50]
not r10
movabs r14, 0xf000f000f000f000
mov r8, qword [rsp + 0x80]
xor r8, qword [rsp + 0x78]
mov qword [rsp + 0xf0], rdx
and r9, r13
xor r9, qword [rsp + 0x98]
xor rax, r8
mov qword [rsp + 0xd8], r10
xor r9, rcx
xor rcx, rdx
mov qword [rsp + 0xe8], rax
not rcx
xor rsi, r9
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0x100], rcx
mov rcx, qword [rsp + 0x28]
not rsi
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x108], r15
call sym.aes_nohw_transpose
mov rax, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x88]
movabs r11, 0xfff0fff0fff0fff
mov r8, qword [rsp + 0xf0]
mov rdx, rax
movzx ecx, byte [rsi]
shl rax, 0xc
shr rdx, 4
and rax, r14
and rdx, r11
or rdx, rax
mov rax, rcx
and eax, 0xf
shr rdx, 0x30
xor rdx, qword [rsp + 0x48]
xor rdx, rax
mov rax, rdx
mov r9, rdx
shl rax, 0x10
shl r9, 0x20
xor rax, r9
shr rcx, 4
add rsi, 1
xor rax, rdx
shl rdx, 0x30
and ecx, 0xf
mov qword [rsp + 0x88], rsi
xor rax, rdx
mov rbx, rax
mov qword [rsp + 0x48], rax
mov rax, r8
shl r8, 0xc
shr rax, 4
and r8, r14
and rax, r11
or rax, r8
shr rax, 0x30
xor rax, qword [rsp + 0x40]
xor rax, rcx
mov rdx, rax
mov rcx, rax
shl rcx, 0x20
shl rdx, 0x10
xor rdx, rcx
xor rdx, rax
shl rax, 0x30
mov rcx, rdx
xor rcx, rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x40], rcx
mov qword [rax], rbx
add rax, 0x10
mov qword [rax - 8], rcx
mov qword [rsp + 0x90], rax
lea rax, [0x007d8f9a]
cmp rsi, rax
jne 0x7091c8
jmp 0x709083