Function at 0x1401ace80
Capabilities:
Encode data using xor
Encrypt data using curve25519

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x688
movaps xmmword [rsp + 0x670], xmm15
movaps xmmword [rsp + 0x660], xmm14
movaps xmmword [rsp + 0x650], xmm13
movaps xmmword [rsp + 0x640], xmm12
movaps xmmword [rsp + 0x630], xmm11
movaps xmmword [rsp + 0x620], xmm10
movaps xmmword [rsp + 0x610], xmm9
movaps xmmword [rsp + 0x600], xmm8
movaps xmmword [rsp + 0x5f0], xmm7
movaps xmmword [rsp + 0x5e0], xmm6
movdqa xmm0, xmmword [r9]
movdqa xmm1, xmmword [r8]
and byte [rdx], 0xf8
mov qword [rsp + 0x150], rcx
movabs r10, 0x7ffffffffffff
movzx eax, byte [rdx + 0x1f]
and al, 0x3f
or al, 0x40
mov byte [rdx + 0x1f], al
movups xmm2, xmmword [rdx]
movdqu xmm3, xmmword [rdx + 0x10]
movdqa xmmword [rsp + 0x480], xmm3
movzx eax, byte [rsp + 0x48f]
pand xmm3, xmmword [0x1401ea7d0]
and al, 0x7f
movzx eax, al
movd xmm4, eax
pslldq xmm4, 0xf
por xmm4, xmm3
movups xmmword [rsp + 0x4c0], xmm2
movdqu xmmword [rsp + 0x4d0], xmm4
movq rax, xmm1
and rax, r10
pshufd xmm2, xmm1, 0xff
psrldq xmm1, 6
movq rcx, xmm1
shr rcx, 3
and rcx, r10
punpckldq xmm2, xmm0
movq rdx, xmm2
shr rdx, 6
and rdx, r10
pshufd xmm1, xmm0, 0xee
psrldq xmm0, 3
movq r8, xmm0
shr r8, 1
and r8, r10
movq r9, xmm1
shr r9, 0xc
and r9, r10
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rcx
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1b8], r8
mov qword [rsp + 0x1c0], r9
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x58], xmm0
movdqu xmmword [rsp + 0x48], xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x30], 1
mov qword [rsp + 0xb0], r9
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x98], rax
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xb8], 1
movdqa xmmword [rsp + 0x470], xmm0
movdqa xmmword [rsp + 0x460], xmm0
movdqa xmmword [rsp + 0x450], xmm0
movdqa xmmword [rsp + 0x440], xmm0
movdqa xmmword [rsp + 0x430], xmm0
movdqa xmmword [rsp + 0x420], xmm0
movdqa xmmword [rsp + 0x410], xmm0
movdqa xmmword [rsp + 0x400], xmm0
movdqa xmmword [rsp + 0x3f0], xmm0
movdqa xmmword [rsp + 0x3e0], xmm0
movdqa xmmword [rsp + 0x3d0], xmm0
movdqa xmmword [rsp + 0x3c0], xmm0
movdqa xmmword [rsp + 0x3b0], xmm0
movdqa xmmword [rsp + 0x3a0], xmm0
movdqa xmmword [rsp + 0x390], xmm0
movdqa xmmword [rsp + 0x380], xmm0
xor eax, eax
nop word cs:[rax + rax]
mov rcx, rax
shr rcx, 3
mov edx, eax
and edx, 7
movzx ecx, byte [rsp + rcx + 0x4c0]
bt ecx, edx
setb byte [rsp + rax + 0x380]
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 0x100
jne 0x1401ad100
movabs rsi, 0x7ffffffffffff0
lea rcx, [rsp + 0x4e0]
lea rdx, [rsp + 0x380]
mov r8d, 0x100
call sub.msvcrt.dll_memcpy
mov eax, 0xff
lea rcx, [rsi - 0x120]
mov qword [rsp + 0x158], rcx
nop dword [rax + rax]
mov qword [rsp + 0x198], rax
movzx ecx, byte [rsp + rax + 0x4df]
xor cl, byte [rsp + rax + 0x4e0]
call fcn.140189540
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x118], rdx
mov r10, qword [rsp + 0x38]
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
movzx eax, al
neg rax
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x100], rcx
mov rbp, qword [rsp + 0x98]
mov qword [rsp + 0xf8], rbp
xor rcx, rdx
and rcx, rax
mov qword [rsp + 0x80], rcx
xor rbp, r10
and rbp, rax
mov r13, qword [rsp + 0xa0]
mov qword [rsp + 0xf0], r13
xor r13, r11
and r13, rax
mov r15, qword [rsp + 0xa8]
mov qword [rsp + 0xe8], r15
xor r15, r12
and r15, rax
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x190], rdi
xor rdi, r8
and rdi, rax
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x180], rcx
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x188], rsi
mov rdx, rsi
xor rdx, rcx
and rdx, rax
mov qword [rsp + 0x20], rdx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x110], rcx
mov rsi, qword [rsp + 0xc0]
mov qword [rsp + 0x178], rsi
mov rdx, rsi
xor rdx, rcx
and rdx, rax
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x108], rdx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x170], rcx
xor rcx, rdx
and rcx, rax
mov r14, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x168], rdx
xor rdx, r14
and rdx, rax
mov rbx, qword [rsp + 0x78]
mov r9, qword [rsp + 0xd8]
mov qword [rsp + 0x160], r9
xor r9, rbx
and r9, rax
mov rax, qword [rsp + 0x80]
xor qword [rsp + 0x118], rax
xor rax, qword [rsp + 0x100]
mov qword [rsp + 0x80], rax
xor r10, rbp
xor rbp, qword [rsp + 0xf8]
xor r11, r13
xor r13, qword [rsp + 0xf0]
xor r12, r15
xor r15, qword [rsp + 0xe8]
xor r8, rdi
mov qword [rsp + 0xe8], r8
xor rdi, qword [rsp + 0x190]
mov rax, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x180]
xor rsi, rax
xor rax, qword [rsp + 0x188]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x28]
xor qword [rsp + 0x110], rax
xor rax, qword [rsp + 0x178]
mov qword [rsp + 0x28], rax
mov r8, qword [rsp + 0x108]
xor r8, rcx
mov qword [rsp + 0x108], r8
xor rcx, qword [rsp + 0x170]
mov qword [rsp + 0x100], rcx
xor r14, rdx
xor rdx, qword [rsp + 0x168]
mov qword [rsp + 0xf8], rdx
xor rbx, r9
xor r9, qword [rsp + 0x160]
mov qword [rsp + 0xf0], r9
mov rcx, qword [rsp + 0x118]
lea rax, [rsi + rcx]
mov r9, rsi
mov qword [rsp + 0x240], rax
mov rdx, qword [rsp + 0x110]
lea rax, [rdx + r10]
mov qword [rsp + 0x248], rax
lea rax, [r8 + r11]
mov qword [rsp + 0x250], rax
lea rax, [r14 + r12]
mov qword [rsp + 0x258], rax
mov r8, qword [rsp + 0xe8]
lea rax, [rbx + r8]
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x30], rcx
mov rsi, rcx
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r8
mov rcx, r9
mov qword [rsp + 0x58], r9
movabs r9, 0x7ffffffffffff0
lea rax, [rsi + r9]
add rax, 0xfffffffffffffee0
sub rax, rcx
mov qword [rsp + 0x60], rdx
sub r10, rdx
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x68], rcx
sub r11, rcx
mov qword [rsp + 0x70], r14
sub r12, r14
mov qword [rsp + 0x78], rbx
sub r8, rbx
add r10, r9
mov rsi, rax
shr rsi, 0x33
mov rbx, r10
movabs r14, 0x7ffffffffffff
and r10, r14
add r10, rsi
add r11, r9
shr rbx, 0x33
mov rsi, r11
and r11, r14
add r11, rbx
add r12, r9
shr rsi, 0x33
mov rbx, r12
and r12, r14
add r12, rsi
add r8, r9
shr rbx, 0x33
mov rsi, r8
and r8, r14
add r8, rbx
shr rsi, 0x33
lea rbx, [rsi + rsi*8]
lea rsi, [rsi + rbx*2]
and rax, r14
mov rbx, r14
add rsi, rax
mov qword [rsp + 0x268], rsi
mov qword [rsp + 0x270], r10
mov qword [rsp + 0x278], r11
mov qword [rsp + 0x280], r12
mov qword [rsp + 0x288], r8
mov r10, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x20]
lea rax, [rcx + r10]
mov qword [rsp + 0x290], rax
mov rsi, qword [rsp + 0x28]
lea rax, [rbp + rsi]
mov qword [rsp + 0x298], rax
mov r11, qword [rsp + 0x100]
lea rax, [r13 + r11]
mov qword [rsp + 0x2a0], rax
mov rdx, qword [rsp + 0xf8]
lea rax, [r15 + rdx]
mov qword [rsp + 0x2a8], rax
mov r8, qword [rsp + 0xf0]
lea rax, [rdi + r8]
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], rcx
lea rax, [r10 + r9]
add rax, 0xfffffffffffffee0
sub rax, rcx
mov qword [rsp + 0xc0], rsi
sub rbp, rsi
mov qword [rsp + 0xc8], r11
sub r13, r11
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], r8
add rbp, r9
add r13, r9
sub r15, rdx
add r15, r9
sub rdi, r8
add rdi, r9
mov r12, r9
mov r10, rax
shr r10, 0x33
mov r11, rbp
shr r11, 0x33
and rbp, r14
add rbp, r10
mov r10, r13
shr r10, 0x33
and r13, r14
add r13, r11
mov r11, r15
shr r11, 0x33
and r15, r14
add r15, r10
mov r10, rdi
shr r10, 0x33
and rdi, r14
add rdi, r11
lea r11, [r10 + r10*8]
lea r10, [r10 + r11*2]
and rax, r14
add r10, rax
mov qword [rsp + 0x2b8], r10
mov qword [rsp + 0x2c0], rbp
mov qword [rsp + 0x2c8], r13
mov qword [rsp + 0x2d0], r15
mov qword [rsp + 0x2d8], rdi
lea rcx, [rsp + 0x1c8]
lea rsi, [rsp + 0x240]
mov rdx, rsi
mov r8d, 1
call fcn.140032f30
lea rcx, [rsp + 0x1f0]
lea rdi, [rsp + 0x268]
mov rdx, rdi
mov r8d, 1
call fcn.140032f30
mov rax, qword [rsp + 0x1c8]
add rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x1f8]
mov qword [rsp + 0x28], rdx
sub rax, rcx
mov rcx, qword [rsp + 0x1d0]
add rcx, r12
sub rcx, rdx
mov rdx, qword [rsp + 0x1d8]
add rdx, r12
mov r8, qword [rsp + 0x200]
mov qword [rsp + 0x20], r8
sub rdx, r8
mov r8, qword [rsp + 0x1e0]
add r8, r12
mov rbp, qword [rsp + 0x208]
sub r8, rbp
mov r9, qword [rsp + 0x1e8]
add r9, r12
mov r13, qword [rsp + 0x210]
sub r9, r13
mov r10, rax
shr r10, 0x33
mov r11, rcx
shr r11, 0x33
and rcx, r14
add rcx, r10
mov r10, rdx
shr r10, 0x33
and rdx, r14
add rdx, r11
mov r11, r8
shr r11, 0x33
and r8, r14
add r8, r10
mov r10, r9
shr r10, 0x33
and r9, r14
add r9, r11
lea r11, [r10 + r10*8]
lea r10, [r10 + r11*2]
and rax, r14
add r10, rax
mov qword [rsp + 0x2e0], r10
mov qword [rsp + 0x2e8], rcx
mov qword [rsp + 0x2f0], rdx
mov qword [rsp + 0x2f8], r8
mov qword [rsp + 0x300], r9
lea rcx, [rsp + 0x308]
mov rdx, rsi
lea r8, [rsp + 0x2b8]
call fcn.140033150
lea rcx, [rsp + 0x330]
mov rdx, rdi
lea r8, [rsp + 0x290]
call fcn.140033150
mov r9, qword [rsp + 0x308]
mov rax, qword [rsp + 0x310]
mov rcx, qword [rsp + 0x318]
mov rdx, qword [rsp + 0x320]
mov r8, qword [rsp + 0x328]
mov r10, qword [rsp + 0x330]
mov r11, qword [rsp + 0x338]
lea rdi, [r10 + r9]
lea r14, [r11 + rax]
mov r15, qword [rsp + 0x340]
lea rsi, [r15 + rcx]
mov qword [rsp + 0x358], rdi
mov rdi, qword [rsp + 0x348]
mov qword [rsp + 0x360], r14
lea r14, [rdi + rdx]
mov qword [rsp + 0x368], rsi
mov rsi, qword [rsp + 0x350]
mov qword [rsp + 0x370], r14
lea r14, [rsi + r8]
mov qword [rsp + 0x378], r14
add r9, r12
add r9, 0xfffffffffffffee0
sub r9, r10
sub rax, r11
sub rcx, r15
add rax, r12
add rcx, r12
sub rdx, rdi
add rdx, r12
sub r8, rsi
lea rsi, [rsp + 0xb8]
add r8, r12
mov r10, r9
shr r10, 0x33
mov r11, rax
shr r11, 0x33
and rax, rbx
add rax, r10
mov r10, rcx
shr r10, 0x33
and rcx, rbx
add rcx, r11
mov r11, rdx
shr r11, 0x33
and rdx, rbx
add rdx, r10
mov r10, r8
shr r10, 0x33
and r8, rbx
add r8, r11
lea r11, [r10 + r10*8]
lea r10, [r10 + r11*2]
and r9, rbx
add r10, r9
mov qword [rsp + 0x218], r10
mov qword [rsp + 0x220], rax
mov qword [rsp + 0x228], rcx
mov qword [rsp + 0x230], rdx
mov qword [rsp + 0x238], r8
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x358]
mov r8d, 1
call fcn.140032f30
lea rdi, [rsp + 0x490]
mov rcx, rdi
lea rdx, [rsp + 0x218]
mov r8d, 1
call fcn.140032f30
lea rcx, [rsp + 0x120]
lea rdx, [0x1401eef90]
lea r14, [rsp + 0x2e0]
mov r8, r14
call fcn.140033150
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x1c8]
lea r8, [rsp + 0x1f0]
call fcn.140033150
mov rax, qword [rsp + 0x80]
add rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x28]
add rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x20]
add rdx, qword [rsp + 0x130]
add rbp, qword [rsp + 0x138]
add r13, qword [rsp + 0x140]
mov qword [rsp + 0x380], rax
mov qword [rsp + 0x388], rcx
mov qword [rsp + 0x390], rdx
mov qword [rsp + 0x398], rbp
mov qword [rsp + 0x3a0], r13
lea rcx, [rsp + 0x58]
mov rdx, r14
lea r8, [rsp + 0x380]
call fcn.140033150
mov rcx, rsi
lea rdx, [rsp + 0x1a0]
mov r8, rdi
call fcn.140033150
mov rax, qword [rsp + 0x198]
dec rax
jne 0x1401ad170
movzx ecx, byte [rsp + 0x4e0]
call fcn.140189540
mov r9, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
movzx eax, al
neg rax
mov rdx, qword [rsp + 0x90]
xor rdx, r9
and rdx, rax
xor rdx, r9
mov r9, qword [rsp + 0x98]
xor r9, r11
and r9, rax
xor r9, r11
mov r11, qword [rsp + 0xa0]
xor r11, rdi
and r11, rax
xor r11, rdi
mov rdi, qword [rsp + 0xa8]
xor rdi, r14
and rdi, rax
xor rdi, r14
mov r14, qword [rsp + 0xb0]
xor r14, r15
and r14, rax
xor r14, r15
mov r15, qword [rsp + 0xb8]
xor r15, rbx
and r15, rax
xor r15, rbx
mov rbx, qword [rsp + 0xc0]
xor rbx, rsi
and rbx, rax
xor rbx, rsi
mov rsi, qword [rsp + 0xc8]
xor rsi, r10
and rsi, rax
xor rsi, r10
mov r10, qword [rsp + 0xd0]
xor r10, r8
and r10, rax
xor r10, r8
mov r8, qword [rsp + 0xd8]
xor r8, rcx
and r8, rax
xor r8, rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r8
lea rcx, [rsp + 0x380]
lea rdx, [rsp + 0x58]
call fcn.140032d10
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x4b0], rax
movups xmm0, xmmword [rsp + 0x380]
movups xmm1, xmmword [rsp + 0x390]
movaps xmmword [rsp + 0x4a0], xmm1
movaps xmmword [rsp + 0x490], xmm0
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0x140], rax
movups xmm0, xmmword [rsp + 0x3b8]
movaps xmmword [rsp + 0x130], xmm0
movups xmm0, xmmword [rsp + 0x3a8]
movaps xmmword [rsp + 0x120], xmm0
lea rsi, [rsp + 0x380]
lea rdx, [rsp + 0x490]
mov rcx, rsi
mov r8d, 5
call fcn.140032f30
lea rdi, [rsp + 0x218]
lea r8, [rsp + 0x120]
mov rcx, rdi
mov rdx, rsi
call fcn.140033150
lea rcx, [rsp + 0x380]
lea rdx, [rsp + 0x30]
mov r8, rdi
call fcn.140033150
mov rax, qword [rsp + 0x380]
mov r10, qword [rsp + 0x388]
mov rcx, qword [rsp + 0x390]
mov r9, qword [rsp + 0x398]
mov r8, qword [rsp + 0x3a0]
mov rdx, rax
shr rdx, 0x33
mov r11, r10
shr r11, 0x33
mov rsi, rcx
shr rsi, 0x33
mov rdi, r9
shr rdi, 0x33
mov rbx, r8
shr rbx, 0x33
movabs r12, 0x7ffffffffffff
and rax, r12
and r10, r12
add r10, rdx
and rcx, r12
add rcx, r11
and r9, r12
add r9, rsi
and r8, r12
add r8, rdi
lea rdx, [rbx + rbx*8]
lea rdx, [rbx + rdx*2]
lea r11, [rdx + rax]
add rax, rdx
add rax, 0x13
shr rax, 0x33
add rax, r10
shr rax, 0x33
add rax, rcx
shr rax, 0x33
add rax, r9
shr rax, 0x33
add rax, r8
shr rax, 0x33
lea rdx, [rax + rax*8]
lea rax, [rax + rdx*2]
add rax, r11
mov r15, rax
mov rdx, rax
shr rdx, 0x33
add rdx, r10
mov rbx, rdx
shr rbx, 0x33
add rbx, rcx
mov rcx, rdx
and rcx, r12
mov r11, rbx
shr r11, 0x33
add r11, r9
mov r14, rbx
and r14, r12
mov rdi, r11
shr rdi, 0x33
add rdi, r8
mov rsi, r11
and rsi, r12
and r12, rdi
shr r15, 0x30
and r15d, 7
lea r10d, [r15 + rcx*8]
shr rcx, 0x2d
mov r8d, r14d
shl r8d, 6
or ecx, r8d
mov r8d, ebx
mov r9d, ebx
shr r14, 0x32
lea r14d, [r14 + rsi*2]
shr rsi, 0x2f
mov ebp, r12d
shl ebp, 4
or esi, ebp
mov r15, r11
shr r15, 0x1f
movd xmm10, r15d
mov ebp, r11d
shr ebp, 0x17
movd xmm3, ebp
mov ebp, r11d
shr ebp, 0xf
movd xmm4, ebp
mov ebp, r11d
shr ebp, 7
movd xmm1, ebp
mov r15, rbx
shr r15, 0x22
movd xmm0, r15d
movdqa xmmword [rsp + 0x80], xmm0
mov r15, rbx
shr r15, 0x1a
movd xmm0, r15d
mov ebp, ebx
shr rbx, 0x2a
movd xmm9, r14d
mov r14d, edi
movd xmm6, ebx
mov rbx, rdi
shr rbx, 0x1c
movd xmm12, ebx
mov ebx, edi
shr ebx, 0x14
movd xmm2, ebx
mov ebx, edi
shr rdi, 0x24
movd xmm7, edi
shr r12, 0x2c
movd xmm15, r12d
shr ebx, 0xc
movd xmm13, ebx
shr r14d, 4
movd xmm11, r14d
movd xmm14, esi
shr r11, 0x27
movd xmm8, r11d
mov r11d, eax
shr r11d, 0x18
punpcklbw xmm3, xmm10
movd xmm10, r11d
mov r11d, eax
shr r11d, 0x10
punpcklbw xmm1, xmm4
movd xmm4, r11d
mov r11d, eax
shr r11d, 8
punpcklwd xmm1, xmm3
movd xmm5, r11d
mov r11, rax
punpcklbw xmm0, xmmword [rsp + 0x80]
movd xmm3, eax
shr r11, 0x20
shr rax, 0x28
punpcklbw xmm6, xmm9
movd xmm9, eax
mov eax, edx
shr eax, 5
punpcklwd xmm0, xmm6
movd xmm6, r11d
mov r11d, edx
punpckldq xmm0, xmm1
movd xmm1, r10d
mov r10d, edx
punpcklbw xmm2, xmm12
movd xmm12, eax
mov rax, rdx
shr rdx, 0x25
punpcklbw xmm7, xmm15
movd xmm15, edx
shr rax, 0x1d
punpcklwd xmm2, xmm7
movd xmm7, eax
shr r10d, 0x15
punpcklbw xmm11, xmm13
movd xmm13, r10d
shr r11d, 0xd
punpcklbw xmm8, xmm14
movd xmm14, r11d
shr ebp, 0x12
punpcklwd xmm8, xmm11
movd xmm11, ebp
shr r9d, 0xa
punpckldq xmm8, xmm2
movd xmm2, r9d
punpcklqdq xmm0, xmm8
movd xmm8, ecx
shr r8d, 2
punpcklbw xmm4, xmm10
movd xmm10, r8d
punpcklbw xmm3, xmm5
punpcklwd xmm3, xmm4
punpcklbw xmm6, xmm9
punpcklbw xmm1, xmm12
punpcklwd xmm6, xmm1
punpckldq xmm3, xmm6
punpcklbw xmm7, xmm15
punpcklbw xmm14, xmm13
punpcklwd xmm14, xmm7
punpcklbw xmm2, xmm11
punpcklbw xmm8, xmm10
punpcklwd xmm8, xmm2
punpckldq xmm14, xmm8
punpcklqdq xmm3, xmm14
mov rax, qword [rsp + 0x150]
movdqu xmmword [rax], xmm3
movdqu xmmword [rax + 0x10], xmm0
movaps xmm6, xmmword [rsp + 0x5e0]
movaps xmm7, xmmword [rsp + 0x5f0]
movaps xmm8, xmmword [rsp + 0x600]
movaps xmm9, xmmword [rsp + 0x610]
movaps xmm10, xmmword [rsp + 0x620]
movaps xmm11, xmmword [rsp + 0x630]
movaps xmm12, xmmword [rsp + 0x640]
movaps xmm13, xmmword [rsp + 0x650]
movaps xmm14, xmmword [rsp + 0x660]
movaps xmm15, xmmword [rsp + 0x670]
add rsp, 0x688
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret