Function at 0x14004b570
Capabilities:
Encrypt data using aes
Reference aes constants
Resolve function by parsing pe exports

Disassembly:
push rbp
lea r9, [0x1400dc0e0]
lea r10, [0x1400db4e0]
lea r8, [0x1400dbce0]
mov rbp, rsp
push r15
mov r15, rdx
push r14
push r13
lea r13, [0x1400db8e0]
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x40
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 0x18]
movdqu xmm0, xmmword [rcx]
movd xmm2, dword [rcx + 8]
lea rcx, [0x1400dd0e0]
mov ebx, eax
mov qword [rsp + 0x30], rax
shr eax, 0x18
mov r14d, dword [rsp + 0x34]
mov qword [rsp + 0x38], rdx
movzx edx, bl
pshufd xmm1, xmm0, 0x55
movups xmmword [r15 + 0xe0], xmm0
movzx edx, byte [rcx + rdx*4]
movzx eax, byte [rcx + rax*4]
movd dword [rsp + 0x10], xmm2
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + rdx*4]
mov edx, ebx
shr edx, 0x10
movzx edx, dl
movzx edx, byte [rcx + rdx*4]
xor eax, dword [r8 + rdx*4]
movzx edx, bh
mov edx, edx
movzx edx, byte [rcx + rdx*4]
xor eax, dword [r13 + rdx*4]
movzx edx, r14b
mov dword [r15 + 0xd0], eax
mov eax, r14d
movzx edx, byte [rcx + rdx*4]
shr eax, 0x18
movzx eax, byte [rcx + rax*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + rdx*4]
mov edx, r14d
shr edx, 0x10
movzx edx, dl
movzx edx, byte [rcx + rdx*4]
xor eax, dword [r8 + rdx*4]
mov edx, r14d
mov edi, dword [rsp + 0x3c]
movzx edx, dh
mov esi, dword [rsp + 0x3c]
mov edx, edx
shr edi, 0x18
movzx edx, byte [rcx + rdx*4]
shr esi, 0x10
movzx esi, sil
xor eax, dword [r13 + rdx*4]
movzx edx, byte [rsp + 0x38]
mov dword [r15 + 0xd4], eax
mov eax, dword [rsp + 0x38]
movzx edx, byte [rcx + rdx*4]
shr eax, 0x18
movzx eax, byte [rcx + rax*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + rdx*4]
mov edx, dword [rsp + 0x38]
shr edx, 0x10
movzx edx, dl
movzx edx, byte [rcx + rdx*4]
xor eax, dword [r8 + rdx*4]
mov edx, dword [rsp + 0x38]
movzx edx, dh
mov edx, edx
movzx edx, byte [rcx + rdx*4]
xor eax, dword [r13 + rdx*4]
movzx edx, byte [rsp + 0x3c]
mov dword [r15 + 0xd8], eax
mov eax, dword [rsp + 0x3c]
movzx r12d, byte [rcx + rdx*4]
movzx eax, ah
mov r11d, eax
movzx eax, byte [rcx + rdi*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + r12*4]
movzx r12d, byte [rcx + rsi*4]
xor eax, dword [r8 + r12*4]
movzx r12d, byte [rcx + r11*4]
xor eax, dword [r13 + r12*4]
lea r12, [0x1400dcce0]
mov dword [r15 + 0xdc], eax
lea rax, [0x1400dd4e0]
mov eax, dword [rax + rdx*4]
movd edx, xmm0
xor edx, dword [0x1400db0a0]
pshufd xmm0, xmm0, 0xff
and eax, 0xff00
xor edx, eax
movzx eax, byte [rcx + rdi*4]
xor edx, eax
mov eax, dword [r12 + rsi*4]
lea rsi, [0x1400dc8e0]
and eax, 0xff000000
xor edx, eax
mov eax, dword [rsi + r11*4]
movd r11d, xmm0
and eax, 0xff0000
xor edx, eax
movd eax, xmm1
xor eax, edx
mov esi, edx
mov edi, eax
xor eax, dword [rsp + 0x10]
xor r11d, eax
shr edx, 0x18
mov dword [rsp + 8], edi
mov r12d, r11d
mov r11d, edx
mov edx, esi
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
movzx r11d, byte [rcx + r11*4]
mov dword [rsp + 0x14], edx
shr edx, 0x10
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
movzx esi, dl
movzx esi, byte [rcx + rsi*4]
mov edx, dword [rsp + 0x14]
xor r11d, dword [r8 + rsi*4]
movzx esi, dh
mov edx, edi
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r13 + rsi*4]
movzx esi, dil
mov dword [r15 + 0xc0], r11d
mov r11d, edi
movzx esi, byte [rcx + rsi*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, edi
mov edi, r12d
shr esi, 0x10
shr edi, 0x10
movzx esi, sil
movzx edi, dil
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, dh
mov edx, r12d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r13 + rsi*4]
movzx esi, al
mov dword [r15 + 0xc4], r11d
mov r11d, eax
movzx esi, byte [rcx + rsi*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, eax
movzx eax, ah
shr esi, 0x10
mov eax, eax
movzx esi, sil
movzx eax, byte [rcx + rax*4]
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
xor r11d, dword [r13 + rax*4]
mov dword [rsp + 0x1c], r12d
movzx esi, dh
mov dword [r15 + 0xc8], r11d
mov r11d, r12d
mov esi, esi
movzx r12d, byte [rsp + 0x1c]
shr r11d, 0x18
lea rdx, [0x1400db8e0]
movzx r13d, byte [rcx + r12*4]
movzx eax, byte [rcx + r11*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + r13*4]
movzx r13d, byte [rcx + rdi*4]
xor eax, dword [r8 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor eax, dword [rdx + r13*4]
lea r13, [0x1400dc8e0]
mov dword [r15 + 0xcc], eax
mov eax, dword [r13 + rdi*4]
lea rdi, [0x1400dd4e0]
mov esi, dword [rdi + rsi*4]
mov rdi, rdx
and eax, 0xff0000
and esi, 0xff00
or eax, esi
xor eax, ebx
lea rbx, [0x1400dcce0]
mov r11d, dword [rbx + r11*4]
movzx ebx, byte [rcx + r12*4]
and r11d, 0xff000000
or r11d, ebx
mov ebx, eax
mov eax, dword [rsp + 0x38]
xor ebx, r11d
mov r11d, ebx
movzx esi, bl
xor r14d, ebx
mov dword [rsp + 4], ebx
shr r11d, 0x18
movzx esi, byte [rcx + rsi*4]
xor eax, r14d
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, ebx
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, bh
mov ebx, r14d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [rdx + rsi*4]
mov esi, dword [rsp + 0x3c]
mov dword [r15 + 0xb0], r11d
mov r11d, r14d
xor esi, eax
shr r11d, 0x18
mov edx, esi
movzx esi, r14b
movzx r11d, byte [rcx + r11*4]
movzx esi, byte [rcx + rsi*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, r14d
mov dword [rsp + 0x18], edx
shr esi, 0x10
movzx r12d, byte [rsp + 0x18]
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, bh
movzx ebx, dh
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [rdi + rsi*4]
movzx esi, al
mov dword [r15 + 0xb4], r11d
mov r11d, eax
movzx esi, byte [rcx + rsi*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, eax
movzx eax, ah
shr esi, 0x10
mov eax, eax
movzx esi, sil
movzx eax, byte [rcx + rax*4]
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
mov esi, edx
xor r11d, dword [rdi + rax*4]
shr esi, 0x18
mov dword [r15 + 0xb8], r11d
movzx r13d, byte [rcx + r12*4]
mov r11d, ebx
mov edi, esi
mov esi, edx
lea rbx, [0x1400db8e0]
movzx eax, byte [rcx + rdi*4]
shr esi, 0x10
movzx esi, sil
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor eax, dword [r8 + r13*4]
movzx r13d, byte [rcx + r11*4]
xor eax, dword [rbx + r13*4]
lea r13, [0x1400dc8e0]
mov dword [r15 + 0xbc], eax
lea rax, [0x1400dd4e0]
mov eax, dword [rax + r12*4]
mov r12d, dword [rsp + 0x14]
xor r12d, dword [0x1400db0a4]
and eax, 0xff00
mov edx, r12d
movd r12d, xmm2
xor edx, eax
movzx eax, byte [rcx + rdi*4]
lea rdi, [0x1400dcce0]
xor eax, edx
mov edx, dword [rdi + rsi*4]
and edx, 0xff000000
xor edx, eax
mov eax, dword [r13 + r11*4]
mov edi, dword [rsp + 8]
mov r11d, dword [rsp + 0x1c]
and eax, 0xff0000
xor edx, eax
mov eax, edx
movzx esi, dl
xor r12d, edx
xor edi, edx
shr eax, 0x18
movzx esi, byte [rcx + rsi*4]
xor r11d, r12d
mov r13d, edi
movzx eax, byte [rcx + rax*4]
mov rdi, rbx
mov dword [rsp + 0x14], r12d
mov dword [rsp + 8], r13d
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + rsi*4]
mov esi, edx
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor eax, dword [r8 + rsi*4]
movzx esi, dh
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor eax, dword [rbx + rsi*4]
movzx esi, r13b
mov ebx, r13d
mov dword [r15 + 0xa0], eax
mov eax, r13d
movzx esi, byte [rcx + rsi*4]
shr eax, 0x18
movzx eax, byte [rcx + rax*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + rsi*4]
mov esi, r13d
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor eax, dword [r8 + rsi*4]
movzx esi, bh
mov ebx, r12d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor eax, dword [rdi + rsi*4]
movzx esi, r12b
mov dword [r15 + 0xa4], eax
mov eax, r12d
movzx esi, byte [rcx + rsi*4]
shr eax, 0x18
movzx eax, byte [rcx + rax*4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + rsi*4]
mov esi, r12d
mov r12d, r11d
shr esi, 0x10
shr r12d, 0x10
movzx esi, sil
movzx r12d, r12b
movzx esi, byte [rcx + rsi*4]
xor eax, dword [r8 + rsi*4]
movzx esi, bh
mov rbx, rdi
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor eax, dword [rdi + rsi*4]
mov edi, r11d
mov dword [r15 + 0xa8], eax
shr edi, 0x18
mov eax, r11d
movzx r11d, r11b
movzx esi, ah
movzx eax, byte [rcx + rdi*4]
movzx r13d, byte [rcx + r11*4]
mov esi, esi
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + r13*4]
movzx r13d, byte [rcx + r12*4]
xor eax, dword [r8 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor eax, dword [rbx + r13*4]
lea r13, [0x1400dc8e0]
mov dword [r15 + 0xac], eax
mov eax, dword [r13 + r12*4]
lea r12, [0x1400dd4e0]
mov esi, dword [r12 + rsi*4]
movzx r11d, byte [rcx + r11*4]
and eax, 0xff0000
and esi, 0xff00
or eax, esi
lea rsi, [0x1400dcce0]
xor eax, dword [rsp + 4]
mov ebx, dword [rsi + rdi*4]
mov edi, eax
mov eax, r14d
and ebx, 0xff000000
or ebx, r11d
mov r11d, dword [rsp + 0x18]
xor edi, ebx
xor eax, edi
movzx esi, dil
mov dword [rsp + 4], edi
mov r13d, eax
mov eax, dword [rsp + 0x38]
movzx esi, byte [rcx + rsi*4]
mov dword [rsp], r13d
xor eax, edi
mov r14d, eax
xor r11d, eax
mov eax, edi
shr eax, 0x18
mov ebx, eax
mov eax, edi
movzx ebx, byte [rcx + rbx*4]
shr eax, 0x10
mov ebx, dword [r9 + rbx*4]
xor ebx, dword [r10 + rsi*4]
movzx esi, al
mov eax, edi
movzx esi, byte [rcx + rsi*4]
lea rdi, [0x1400db8e0]
xor ebx, dword [r8 + rsi*4]
movzx esi, ah
mov eax, r13d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor ebx, dword [rdi + rsi*4]
mov esi, r13d
shr esi, 0x18
mov dword [r15 + 0x90], ebx
mov ebx, esi
movzx esi, r13b
movzx esi, byte [rcx + rsi*4]
movzx ebx, byte [rcx + rbx*4]
mov ebx, dword [r9 + rbx*4]
xor ebx, dword [r10 + rsi*4]
mov esi, r13d
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor ebx, dword [r8 + rsi*4]
movzx esi, ah
mov eax, r14d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor edx, dword [0x1400db0a8]
mov dword [rsp + 0x10], r14d
xor ebx, dword [rdi + rsi*4]
mov esi, r14d
shr esi, 0x18
mov dword [r15 + 0x94], ebx
mov ebx, esi
movzx esi, r14b
movzx esi, byte [rcx + rsi*4]
movzx ebx, byte [rcx + rbx*4]
mov ebx, dword [r9 + rbx*4]
xor ebx, dword [r10 + rsi*4]
mov esi, r14d
mov r14, rdi
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor ebx, dword [r8 + rsi*4]
movzx esi, ah
mov rax, r14
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor ebx, dword [rdi + rsi*4]
mov edi, r11d
shr edi, 0x18
mov dword [r15 + 0x98], ebx
mov ebx, r11d
mov r12d, edi
mov edi, r11d
movzx r11d, r11b
movzx esi, bh
movzx r13d, byte [rcx + r11*4]
movzx ebx, byte [rcx + r12*4]
shr edi, 0x10
mov esi, esi
movzx edi, dil
mov ebx, dword [r9 + rbx*4]
xor ebx, dword [r10 + r13*4]
movzx r13d, byte [rcx + rdi*4]
xor ebx, dword [r8 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor ebx, dword [r14 + r13*4]
lea r14, [0x1400dd4e0]
mov dword [r15 + 0x9c], ebx
mov r11d, dword [r14 + r11*4]
mov ebx, dword [rsp + 0x14]
and r11d, 0xff00
xor edx, r11d
movzx r11d, byte [rcx + r12*4]
lea r12, [0x1400dcce0]
xor r11d, edx
mov edx, dword [r12 + rdi*4]
lea rdi, [0x1400dc8e0]
mov r12d, dword [rsp + 0x1c]
and edx, 0xff000000
xor edx, r11d
mov r11d, dword [rdi + rsi*4]
mov rdi, rax
and r11d, 0xff0000
xor edx, r11d
mov r14d, edx
mov edx, dword [rsp + 8]
movzx esi, r14b
xor edx, r14d
movzx esi, byte [rcx + rsi*4]
mov r13d, edx
xor r12d, edx
xor ebx, edx
mov edx, r14d
shr edx, 0x18
mov r11d, edx
mov edx, r14d
movzx r11d, byte [rcx + r11*4]
shr edx, 0x10
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
movzx esi, dl
mov edx, r14d
movzx esi, byte [rcx + rsi*4]
mov dword [rsp + 0x1c], r12d
mov dword [rsp + 8], r13d
xor r11d, dword [r8 + rsi*4]
movzx esi, dh
mov edx, r13d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [rax + rsi*4]
shr edx, 0x18
movzx esi, r13b
mov eax, r13d
mov dword [r15 + 0x80], r11d
mov r11d, edx
movzx esi, byte [rcx + rsi*4]
mov edx, r13d
movzx r11d, byte [rcx + r11*4]
shr edx, 0x10
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
movzx esi, dl
mov edx, ebx
movzx esi, byte [rcx + rsi*4]
shr edx, 0x18
xor r11d, dword [r8 + rsi*4]
movzx esi, ah
mov eax, r12d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [rdi + rsi*4]
movzx esi, bl
mov dword [r15 + 0x84], r11d
mov r11d, edx
movzx esi, byte [rcx + rsi*4]
mov edx, ebx
movzx r11d, byte [rcx + r11*4]
shr edx, 0x10
movzx ebx, bh
mov ebx, ebx
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
movzx esi, dl
mov rdx, rdi
movzx esi, byte [rcx + rsi*4]
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r8 + rsi*4]
xor r11d, dword [rdi + rbx*4]
mov edi, r12d
movzx esi, ah
mov dword [r15 + 0x88], r11d
mov r11d, r12d
shr edi, 0x10
mov esi, esi
movzx r12d, byte [rsp + 0x1c]
shr r11d, 0x18
movzx edi, dil
mov ebx, r11d
movzx r11d, byte [rcx + rbx*4]
movzx r13d, byte [rcx + r12*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + r13*4]
movzx r13d, byte [rcx + rdi*4]
xor r11d, dword [r8 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor r11d, dword [rdx + r13*4]
lea r13, [0x1400dd4e0]
mov dword [r15 + 0x8c], r11d
lea r11, [0x1400dc8e0]
mov esi, dword [r13 + rsi*4]
mov r11d, dword [r11 + rdi*4]
lea rdi, [0x1400db8e0]
mov r13d, dword [rsp + 0x18]
and esi, 0xff00
and r11d, 0xff0000
or r11d, esi
lea rsi, [0x1400dcce0]
xor r11d, dword [rsp + 4]
mov eax, dword [rsi + rbx*4]
movzx ebx, byte [rcx + r12*4]
mov edx, r11d
mov esi, dword [rsp + 0x10]
and eax, 0xff000000
or eax, ebx
xor edx, eax
mov eax, dword [rsp]
mov r11d, edx
mov dword [rsp + 4], edx
xor eax, edx
shr r11d, 0x18
xor esi, eax
movzx r11d, byte [rcx + r11*4]
xor r13d, eax
mov ebx, esi
movzx esi, dl
movzx esi, byte [rcx + rsi*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, edx
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, dh
mov edx, r13d
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [rdi + rsi*4]
movzx esi, al
mov dword [r15 + 0x70], r11d
mov r11d, eax
movzx esi, byte [rcx + rsi*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, eax
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, ah
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [rdi + rsi*4]
movzx esi, bl
mov dword [r15 + 0x74], r11d
mov r11d, ebx
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
movzx esi, byte [rcx + rsi*4]
mov dword [rsp + 0x18], r13d
movzx r12d, byte [rsp + 0x18]
xor r14d, dword [0x1400db0ac]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, ebx
movzx ebx, bh
shr esi, 0x10
mov ebx, ebx
movzx esi, sil
movzx ebx, byte [rcx + rbx*4]
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
xor r11d, dword [rdi + rbx*4]
mov edi, r13d
mov esi, r13d
shr edi, 0x18
mov dword [r15 + 0x78], r11d
shr esi, 0x10
movzx r13d, byte [rcx + r12*4]
movzx r11d, byte [rcx + rdi*4]
movzx esi, sil
movzx ebx, dh
lea rdx, [0x1400db8e0]
mov ebx, ebx
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor r11d, dword [r8 + r13*4]
movzx r13d, byte [rcx + rbx*4]
xor r11d, dword [rdx + r13*4]
lea r13, [0x1400dd4e0]
mov edx, dword [rsp + 0x1c]
mov dword [r15 + 0x7c], r11d
mov r11d, dword [r13 + r12*4]
lea r12, [0x1400dcce0]
mov r13d, dword [rsp + 8]
and r11d, 0xff00
xor r14d, r11d
movzx r11d, byte [rcx + rdi*4]
xor r11d, r14d
mov r14d, dword [r12 + rsi*4]
lea rsi, [0x1400db8e0]
and r14d, 0xff000000
xor r14d, r11d
lea r11, [0x1400dc8e0]
mov r11d, dword [r11 + rbx*4]
mov ebx, dword [rsp + 0x14]
and r11d, 0xff0000
xor r14d, r11d
xor ebx, r14d
xor r13d, r14d
mov edi, ebx
xor edx, ebx
mov ebx, r14d
shr ebx, 0x18
mov r11d, ebx
movzx ebx, r14b
movzx ebx, byte [rcx + rbx*4]
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rbx*4]
mov ebx, r14d
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rcx + rbx*4]
mov dword [rsp + 0x14], edi
xor r11d, dword [r8 + rbx*4]
mov ebx, r14d
movzx ebx, bh
mov ebx, ebx
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [rsi + rbx*4]
mov ebx, r13d
shr ebx, 0x18
mov dword [r15 + 0x60], r11d
mov r11d, ebx
movzx ebx, r13b
movzx ebx, byte [rcx + rbx*4]
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rbx*4]
mov ebx, r13d
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r8 + rbx*4]
mov ebx, r13d
movzx ebx, bh
mov ebx, ebx
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [rsi + rbx*4]
mov ebx, edi
shr ebx, 0x18
mov dword [r15 + 0x64], r11d
mov r11d, ebx
movzx ebx, dil
movzx ebx, byte [rcx + rbx*4]
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rbx*4]
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r8 + rbx*4]
mov ebx, edi
movzx edi, dh
movzx ebx, bh
mov edi, edi
mov ebx, ebx
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [rsi + rbx*4]
mov ebx, edx
lea rsi, [0x1400db8e0]
shr ebx, 0x18
mov dword [r15 + 0x68], r11d
mov r11d, ebx
mov ebx, edx
movzx edx, dl
movzx r12d, byte [rcx + rdx*4]
mov qword [rsp + 8], r11
shr ebx, 0x10
movzx r11d, byte [rcx + r11*4]
movzx ebx, bl
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + r12*4]
movzx r12d, byte [rcx + rbx*4]
xor r11d, dword [r8 + r12*4]
movzx r12d, byte [rcx + rdi*4]
xor r11d, dword [rsi + r12*4]
mov r12d, dword [rsp + 0x10]
mov dword [r15 + 0x6c], r11d
lea r11, [0x1400dc8e0]
movzx edx, byte [rcx + rdx*4]
mov ebx, dword [r11 + rbx*4]
lea r11, [0x1400dd4e0]
mov r11d, dword [r11 + rdi*4]
lea rdi, [0x1400dcce0]
and ebx, 0xff0000
and r11d, 0xff00
or ebx, r11d
mov r11, qword [rsp + 8]
xor ebx, dword [rsp + 4]
mov r11d, dword [rdi + r11*4]
mov edi, ebx
mov ebx, eax
mov eax, dword [rsp + 0x18]
and r11d, 0xff000000
or r11d, edx
xor edi, r11d
mov edx, edi
movzx r11d, dil
xor r12d, edi
xor ebx, edi
shr edx, 0x18
movzx r11d, byte [rcx + r11*4]
mov dword [rsp + 8], edi
xor eax, r12d
movzx edx, byte [rcx + rdx*4]
mov dword [rsp + 4], ebx
mov edx, dword [r9 + rdx*4]
xor edx, dword [r10 + r11*4]
mov r11d, edi
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [rcx + r11*4]
xor edx, dword [r8 + r11*4]
mov dword [rsp + 0x10], edx
mov edx, edi
movzx edi, dh
mov edx, dword [rsp + 0x10]
mov r11d, edi
movzx edi, bh
movzx r11d, byte [rcx + r11*4]
xor edx, dword [rsi + r11*4]
movzx r11d, bl
mov dword [r15 + 0x50], edx
mov edx, ebx
movzx r11d, byte [rcx + r11*4]
shr edx, 0x18
movzx edx, byte [rcx + rdx*4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [r10 + r11*4]
mov r11d, ebx
mov ebx, r12d
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [rcx + r11*4]
xor edx, dword [r8 + r11*4]
mov r11d, edi
movzx edi, bh
mov rbx, rsi
movzx r11d, byte [rcx + r11*4]
xor edx, dword [rsi + r11*4]
movzx r11d, r12b
mov dword [r15 + 0x54], edx
mov edx, r12d
shr edx, 0x18
movzx edx, byte [rcx + rdx*4]
movzx r11d, byte [rcx + r11*4]
mov dword [rsp + 0x10], r12d
xor r14d, dword [0x1400db0b0]
mov edx, dword [r9 + rdx*4]
xor edx, dword [r10 + r11*4]
mov r11d, r12d
shr r11d, 0x10
movzx r11d, r11b
movzx r11d, byte [rcx + r11*4]
xor edx, dword [r8 + r11*4]
mov r11d, edi
movzx r11d, byte [rcx + r11*4]
xor edx, dword [rsi + r11*4]
mov esi, eax
mov dword [r15 + 0x58], edx
mov edx, eax
shr esi, 0x10
shr edx, 0x18
movzx esi, sil
mov edi, edx
movzx edx, ah
movzx eax, al
movzx r12d, byte [rcx + rax*4]
mov r11d, edx
movzx edx, byte [rcx + rdi*4]
mov edx, dword [r9 + rdx*4]
xor edx, dword [r10 + r12*4]
movzx r12d, byte [rcx + rsi*4]
xor edx, dword [r8 + r12*4]
movzx r12d, byte [rcx + r11*4]
xor edx, dword [rbx + r12*4]
lea r12, [0x1400dd4e0]
mov dword [r15 + 0x5c], edx
mov eax, dword [r12 + rax*4]
and eax, 0xff00
xor r14d, eax
movzx eax, byte [rcx + rdi*4]
mov edi, dword [rsp + 0x14]
xor eax, r14d
lea r14, [0x1400dcce0]
mov edx, dword [r14 + rsi*4]
and edx, 0xff000000
xor edx, eax
lea rax, [0x1400dc8e0]
mov eax, dword [rax + r11*4]
mov r11d, dword [rsp + 0x1c]
and eax, 0xff0000
xor edx, eax
mov r14d, edx
mov edx, r13d
xor edx, r14d
movzx esi, r14b
mov r13d, r14d
mov ebx, r14d
xor edi, edx
xor r11d, edx
movzx esi, byte [rcx + rsi*4]
shr r13d, 0x10
mov eax, edi
mov edi, r11d
mov r11d, r14d
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
movzx esi, r13b
lea r13, [0x1400db8e0]
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, bh
mov ebx, edi
mov esi, esi
movzx esi, byte [rcx + rsi*4]
mov dword [rsp + 0x1c], ebx
movzx r12d, byte [rsp + 0x1c]
xor r11d, dword [r13 + rsi*4]
movzx esi, dl
mov dword [r15 + 0x40], r11d
mov r11d, edx
movzx esi, byte [rcx + rsi*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, edx
shr esi, 0x10
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
movzx esi, dh
mov esi, esi
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r13 + rsi*4]
movzx esi, al
mov dword [r15 + 0x44], r11d
mov r11d, eax
movzx esi, byte [rcx + rsi*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rsi*4]
mov esi, eax
movzx eax, ah
shr esi, 0x10
mov eax, eax
movzx esi, sil
movzx eax, byte [rcx + rax*4]
movzx esi, byte [rcx + rsi*4]
xor r11d, dword [r8 + rsi*4]
xor r11d, dword [r13 + rax*4]
movzx esi, bh
mov dword [r15 + 0x48], r11d
mov r11d, edi
movzx r13d, byte [rcx + r12*4]
shr edi, 0x10
shr r11d, 0x18
movzx edi, dil
mov esi, esi
movzx eax, byte [rcx + r11*4]
lea rbx, [0x1400db8e0]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + r13*4]
movzx r13d, byte [rcx + rdi*4]
xor eax, dword [r8 + r13*4]
movzx r13d, byte [rcx + rsi*4]
xor eax, dword [rbx + r13*4]
mov dword [r15 + 0x4c], eax
lea rax, [0x1400dc8e0]
mov eax, dword [rax + rdi*4]
lea rdi, [0x1400dd4e0]
movzx ebx, byte [rcx + r12*4]
mov esi, dword [rdi + rsi*4]
mov r12d, dword [rsp + 0x10]
and eax, 0xff0000
and esi, 0xff00
or eax, esi
lea rsi, [0x1400dcce0]
xor eax, dword [rsp + 8]
mov r11d, dword [rsi + r11*4]
mov r13d, eax
mov esi, dword [rsp + 0x18]
and r11d, 0xff000000
or r11d, ebx
xor r13d, r11d
mov r11d, dword [rsp + 4]
movzx ebx, r13b
mov dword [rsp + 8], r13d
xor r11d, r13d
movzx ebx, byte [rcx + rbx*4]
mov edi, r11d
xor r12d, r11d
xor esi, r11d
mov r11d, r13d
shr r11d, 0x18
mov eax, r12d
mov dword [rsp + 4], edi
movzx r11d, byte [rcx + r11*4]
movzx eax, ah
mov eax, eax
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rbx*4]
mov ebx, r13d
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r8 + rbx*4]
mov ebx, r13d
lea r13, [0x1400db8e0]
movzx ebx, bh
mov ebx, ebx
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r13 + rbx*4]
movzx ebx, dil
mov dword [r15 + 0x30], r11d
mov r11d, edi
movzx ebx, byte [rcx + rbx*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rbx*4]
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r8 + rbx*4]
mov ebx, edi
mov edi, esi
movzx ebx, bh
mov ebx, ebx
movzx ebx, byte [rcx + rbx*4]
xor r11d, dword [r13 + rbx*4]
movzx ebx, r12b
mov dword [r15 + 0x34], r11d
mov r11d, r12d
movzx ebx, byte [rcx + rbx*4]
shr r11d, 0x18
movzx r11d, byte [rcx + r11*4]
mov r11d, dword [r9 + r11*4]
xor r11d, dword [r10 + rbx*4]
mov ebx, r12d
shr ebx, 0x10
movzx ebx, bl
movzx ebx, byte [rcx + rbx*4]
movzx eax, byte [rcx + rax*4]
xor r11d, dword [r8 + rbx*4]
mov ebx, esi
xor r11d, dword [r13 + rax*4]
shr edi, 0x18
mov dword [rsp + 0x18], ebx
movzx eax, bh
movzx ebx, byte [rsp + 0x18]
shr esi, 0x10
mov dword [r15 + 0x38], r11d
mov r11d, eax
movzx eax, byte [rcx + rdi*4]
movzx esi, sil
movzx r12d, byte [rcx + rbx*4]
xor r14d, dword [0x1400db0b4]
mov eax, dword [r9 + rax*4]
xor eax, dword [r10 + r12*4]
movzx r12d, byte [rcx + rsi*4]
xor eax, dword [r8 + r12*4]
movzx r12d, byte [rcx + r11*4]
xor eax, dword [r13 + r12*4]
lea r12, [0x1400dd4e0]
mov dword [r15 + 0x3c], eax
mov eax, dword [r12 + rbx*4]
movzx ebx, byte [rcx + rdi*4]
and eax, 0xff00
xor r14d, eax
xor ebx, r14d
lea r14, [0x1400dcce0]
mov eax, dword [r14 + rsi*4]
mov esi, dword [rsp + 0x14]
and eax, 0xff000000
xor ebx, eax
lea rax, [0x1400dc8e0]
mov eax, dword [rax + r11*4]
mov r11d, dword [rsp + 0x1c]
and eax, 0xff0000
xor ebx, eax
xor esi, ebx
movzx edi, bl
xor edx, ebx
mov eax, esi
xor r11d, esi
mov esi, ebx
movzx edi, byte [rcx + rdi*4]
shr esi, 0x18
mov r14d, edx
movzx esi, byte [rcx + rsi*4]
mov esi, dword [r9 + rsi*4]
xor esi, dword [r10 + rdi*4]
mov edi, ebx
shr edi, 0x10
movzx edi, dil
movzx edi, byte [rcx + rdi*4]
xor esi, dword [r8 + rdi*4]
movzx edi, bh
mov edi, edi
movzx edi, byte [rcx + rdi*4]
xor esi, dword [r13 + rdi*4]
movzx edi, dl
mov dword [r15 + 0x20], esi
mov esi, edx
shr edx, 0x10
shr esi, 0x18
movzx esi, byte [rcx + rsi*4]
movzx edi, byte [rcx + rdi*4]
mov dword [rsp + 0x14], r14d
mov esi, dword [r9 + rsi*4]
xor esi, dword [r10 + rdi*4]
movzx edi, dl
mov edx, r14d
movzx edi, byte [rcx + rdi*4]
xor esi, dword [r8 + rdi*4]
movzx edi, dh
mov edx, r11d
mov edi, edi
movzx edx, dh
movzx edi, byte [rcx + rdi*4]
mov r12d, edx
lea rdx, [0x1400db8e0]
xor esi, dword [r13 + rdi*4]
movzx edi, al
mov dword [r15 + 0x24], esi
mov esi, eax
movzx edi, byte [rcx + rdi*4]
shr esi, 0x18
movzx esi, byte [rcx + rsi*4]
mov esi, dword [r9 + rsi*4]
xor esi, dword [r10 + rdi*4]
mov edi, eax
shr edi, 0x10
movzx edi, dil
movzx edi, byte [rcx + rdi*4]
xor esi, dword [r8 + rdi*4]
movzx edi, ah
mov edi, edi
movzx edi, byte [rcx + rdi*4]
xor esi, dword [r13 + rdi*4]
mov edi, r11d
mov dword [r15 + 0x28], esi
mov esi, r11d
shr edi, 0x18
movzx r11d, r11b
shr esi, 0x10
movzx r14d, byte [rcx + r11*4]
mov r13d, esi
movzx esi, byte [rcx + rdi*4]
movzx r13d, r13b
mov esi, dword [r9 + rsi*4]
xor esi, dword [r10 + r14*4]
lea r14, [0x1400dcce0]
movzx r10d, byte [rcx + r13*4]
xor esi, dword [r8 + r10*4]
movzx r8d, byte [rcx + r12*4]
lea r10, [0x1400dc8e0]
xor esi, dword [rdx + r8*4]
lea rdx, [0x1400dd4e0]
mov dword [r15 + 0x2c], esi
mov r8d, dword [rdx + r12*4]
lea r12, [0x1400db4e0]
mov r13d, dword [r10 + r13*4]
and r8d, 0xff00
and r13d, 0xff0000
or r13d, r8d
mov r8d, dword [r14 + rdi*4]
xor r13d, dword [rsp + 8]
movzx r10d, byte [rcx + r11*4]
mov edi, dword [rsp + 4]
and r8d, 0xff000000
or r8d, r10d
mov r10d, dword [rsp + 0x10]
xor r13d, r8d
mov r8d, dword [rsp + 0x18]
mov esi, r13d
xor edi, r13d
mov edx, r13d
xor r10d, r13d
shr esi, 0x18
mov r11d, edi
movzx edx, dh
xor r8d, r10d
movzx edi, byte [rcx + rsi*4]
movzx esi, r13b
movzx r14d, r11b
movzx esi, byte [rcx + rsi*4]
mov r9d, dword [r9 + rdi*4]
lea rdi, [0x1400dbce0]
xor r9d, dword [r12 + rsi*4]
mov esi, r13d
mov r13d, edx
mov edx, r11d
shr esi, 0x10
movzx r13d, byte [rcx + r13*4]
movzx edx, dh
movzx esi, sil
movzx esi, byte [rcx + rsi*4]
xor r9d, dword [rdi + rsi*4]
lea rsi, [0x1400db8e0]
xor r9d, dword [rsi + r13*4]
lea r13, [0x1400dc0e0]
mov dword [r15 + 0x10], r9d
mov r9d, r11d
movzx r14d, byte [rcx + r14*4]
shr r9d, 0x18
movzx r9d, byte [rcx + r9*4]
mov r9d, dword [r13 + r9*4]
xor r9d, dword [r12 + r14*4]
mov r14d, r11d
mov r11d, edx
shr r14d, 0x10
movzx r11d, byte [rcx + r11*4]
mov edx, r10d
movzx r14d, r14b
shr edx, 0x10
movzx r14d, byte [rcx + r14*4]
xor r9d, dword [rdi + r14*4]
xor r9d, dword [rsi + r11*4]
movzx r11d, r10b
mov dword [r15 + 0x14], r9d
mov r9d, r10d
movzx r11d, byte [rcx + r11*4]
shr r9d, 0x18
movzx r9d, byte [rcx + r9*4]
mov r9d, dword [r13 + r9*4]
xor r9d, dword [r12 + r11*4]
movzx r11d, dl
mov edx, r10d
movzx edx, dh
movzx r11d, byte [rcx + r11*4]
mov r10d, edx
mov edx, r8d
movzx r10d, byte [rcx + r10*4]
shr edx, 0x18
xor r9d, dword [rdi + r11*4]
mov r11d, edx
mov edx, r8d
xor r9d, dword [rsi + r10*4]
mov r10d, r8d
movzx r8d, r8b
movzx edx, dh
shr r10d, 0x10
mov dword [r15 + 0x18], r9d
movzx r9d, byte [rcx + r11*4]
movzx r14d, byte [rcx + r8*4]
movzx r10d, r10b
xor ebx, dword [0x1400db0b8]
mov r13d, dword [r13 + r9*4]
mov r9d, edx
mov edx, dword [rsp + 0x14]
xor r13d, dword [r12 + r14*4]
movzx r12d, byte [rcx + r10*4]
xor r13d, dword [rdi + r12*4]
movzx edi, byte [rcx + r9*4]
xor r13d, dword [rsi + rdi*4]
lea rsi, [0x1400dd4e0]
mov dword [r15 + 0x1c], r13d
mov r8d, dword [rsi + r8*4]
movzx ecx, byte [rcx + r11*4]
and r8d, 0xff00
xor ebx, r8d
xor ebx, ecx
lea rcx, [0x1400dcce0]
mov ecx, dword [rcx + r10*4]
and ecx, 0xff000000
xor ebx, ecx
lea rcx, [0x1400dc8e0]
mov ecx, dword [rcx + r9*4]
and ecx, 0xff0000
xor ebx, ecx
mov ecx, dword [rsp + 0x1c]
xor edx, ebx
movd xmm0, ebx
xor eax, edx
xor ecx, edx
movd xmm4, edx
movd xmm1, eax
movd xmm3, ecx
punpckldq xmm0, xmm4
punpckldq xmm1, xmm3
punpcklqdq xmm0, xmm1
movups xmmword [r15], xmm0
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret