Function at 0x1401fc430
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x628
movaps xmmword [rsp + 0x5e0], xmm6
movaps xmmword [rsp + 0x5f0], xmm7
movaps xmmword [rsp + 0x600], xmm8
movaps xmmword [rsp + 0x610], xmm9
mov qword [rsp + 0x678], rdx
mov r15, rcx
mov qword [rsp + 0x680], r8
mov qword [rsp + 0x688], r9
test r8, r8
jne 0x1401fc4bb
movaps xmm6, xmmword [rsp + 0x5e0]
movaps xmm7, xmmword [rsp + 0x5f0]
movaps xmm8, xmmword [rsp + 0x600]
movaps xmm9, xmmword [rsp + 0x610]
add rsp, 0x628
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rsp + 0x220]
mov ebp, dword [r9 + 0xf0]
xor edi, edi
mov rbx, r9
mov qword [rsp + 0x118], rax
mov rsi, rax
nop word [rax + rax]
mov rax, rdi
mov rcx, rsi
add rdi, 1
add rsi, 0x40
shl rax, 4
movdqu xmm0, xmmword [rbx + rax]
movdqa xmm1, xmm0
punpcklqdq xmm1, xmm0
punpckhqdq xmm0, xmm0
movaps xmmword [rsi - 0x40], xmm1
movaps xmmword [rsi - 0x30], xmm1
movaps xmmword [rsi - 0x20], xmm0
movaps xmmword [rsi - 0x10], xmm0
call fcn.1401eec50
cmp rbp, rdi
jae 0x1401fc4e0
mov rax, qword [rsp + 0x690]
mov rbp, qword [rsp + 0x678]
lea r12, [r15 + 0xf]
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x158], rax
shr rax, 0x20
bswap eax
mov dword [rsp + 0xbc], eax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x110], rax
mov eax, 0xffffffff
mov r13, qword [rsp + 0x680]
movq xmm3, rax
punpcklqdq xmm3, xmm3
nop dword [rax + rax]
mov eax, dword [rsp + 0xbc]
mov r9, qword [rsp + 0x120]
pxor xmm0, xmm0
mov edx, eax
bswap edx
mov dword [rsp + 0x12c], edx
lea edx, [rax + 1]
mov rcx, qword [rsp + 0x128]
bswap edx
mov dword [rsp + 0x13c], edx
lea edx, [rax + 2]
bswap edx
mov dword [rsp + 0x14c], edx
lea edx, [rax + 3]
mov rax, qword [rsp + 0x108]
bswap edx
mov dword [rsp + 0x15c], edx
mov edx, 4
cmp r13, rdx
movups xmmword [rax], xmm0
cmovbe rdx, r13
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x30], 0
mov qword [rsp + 0xa0], rdx
mov rdx, r9
shr rdx, 4
movups xmmword [rax + 0x20], xmm0
movabs rax, 0xf000f000f000f0
xor rdx, r9
and rdx, rax
mov r8, rdx
xor rdx, r9
movabs r9, 0xff000000ff00
shl r8, 4
xor r8, rdx
mov rdx, r8
shr rdx, 8
xor rdx, r8
and rdx, r9
mov r10, rdx
xor rdx, r8
shl r10, 8
xor rdx, r10
mov r8, rdx
shr r8, 0x10
xor r8, rdx
and r8d, 0xffff0000
mov r10, r8
xor r8, rdx
mov rdx, rcx
shr rdx, 4
shl r10, 0x10
xor rdx, rcx
xor r10, r8
mov r8d, r8d
and rdx, rax
mov r11, rdx
xor rdx, rcx
shl r11, 4
xor rdx, r11
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, r9
mov r11, rcx
xor rcx, rdx
shl r11, 8
xor rcx, r11
mov rdx, rcx
shr rdx, 0x10
xor rdx, rcx
and edx, 0xffff0000
shr r10, 0x20
mov r11, rdx
xor rdx, rcx
shl r11, 0x10
xor rdx, r11
movabs r11, 0xffffffff00000000
mov rcx, rdx
and rdx, r11
shl rcx, 0x20
or r10, rdx
or rcx, r8
mov qword [rsp + 0x1c0], r10
mov qword [rsp + 0x1a0], rcx
cmp r13, 1
je 0x1401fca50
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x138]
mov r8, rdx
shr r8, 4
xor r8, rdx
and r8, rax
mov r10, r8
xor r8, rdx
shl r10, 4
xor r8, r10
mov rdx, r8
shr rdx, 8
xor rdx, r8
and rdx, r9
mov r10, rdx
xor rdx, r8
shl r10, 8
xor rdx, r10
mov r8, rdx
shr r8, 0x10
xor r8, rdx
and r8d, 0xffff0000
mov r10, r8
xor r8, rdx
mov rdx, rcx
shr rdx, 4
shl r10, 0x10
xor rdx, rcx
xor r10, r8
mov r8d, r8d
and rdx, rax
mov rsi, rdx
xor rdx, rcx
shl rsi, 4
xor rdx, rsi
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, r9
mov rsi, rcx
xor rcx, rdx
shl rsi, 8
xor rcx, rsi
mov rdx, rcx
shr rdx, 0x10
xor rdx, rcx
and edx, 0xffff0000
shr r10, 0x20
mov rsi, rdx
xor rdx, rcx
shl rsi, 0x10
xor rdx, rsi
mov rcx, rdx
and rdx, r11
shl rcx, 0x20
or r10, rdx
or rcx, r8
mov qword [rsp + 0x1c8], r10
mov qword [rsp + 0x1a8], rcx
cmp r13, 2
je 0x1401fca50
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
mov r8, rdx
shr r8, 4
xor r8, rdx
and r8, rax
mov r10, r8
xor r8, rdx
shl r10, 4
xor r8, r10
mov rdx, r8
shr rdx, 8
xor rdx, r8
and rdx, r9
mov r10, rdx
xor rdx, r8
shl r10, 8
xor rdx, r10
mov r8, rdx
shr r8, 0x10
xor r8, rdx
and r8d, 0xffff0000
mov r10, r8
xor r8, rdx
mov rdx, rcx
shr rdx, 4
shl r10, 0x10
xor rdx, rcx
xor r10, r8
mov r8d, r8d
and rdx, rax
mov rsi, rdx
xor rdx, rcx
shl rsi, 4
xor rdx, rsi
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, r9
mov rsi, rcx
xor rcx, rdx
shl rsi, 8
xor rcx, rsi
mov rdx, rcx
shr rdx, 0x10
xor rdx, rcx
and edx, 0xffff0000
shr r10, 0x20
mov rsi, rdx
xor rdx, rcx
shl rsi, 0x10
xor rdx, rsi
mov rcx, rdx
and rdx, r11
shl rcx, 0x20
or r10, rdx
or rcx, r8
mov qword [rsp + 0x1d0], r10
mov qword [rsp + 0x1b0], rcx
cmp r13, 3
je 0x1401fca50
mov rcx, qword [rsp + 0x150]
mov r10, qword [rsp + 0x158]
mov rdx, rcx
shr rdx, 4
xor rdx, rcx
and rdx, rax
xor rcx, rdx
shl rdx, 4
xor rdx, rcx
mov rcx, rdx
shr rcx, 8
xor rcx, rdx
and rcx, r9
xor rdx, rcx
shl rcx, 8
xor rcx, rdx
mov r8, rcx
mov rdx, rcx
shr r8, 0x10
xor r8, rcx
mov rcx, r10
shr rcx, 4
and r8d, 0xffff0000
xor rcx, r10
xor rdx, r8
shl r8, 0x10
and rcx, rax
xor r8, rdx
mov edx, edx
xor r10, rcx
shl rcx, 4
xor r10, rcx
mov rcx, r10
shr rcx, 8
xor rcx, r10
and rcx, r9
xor r10, rcx
shl rcx, 8
xor r10, rcx
mov rcx, r10
mov r9, r10
shr rcx, 0x10
xor rcx, r10
and ecx, 0xffff0000
shr r8, 0x20
xor r9, rcx
shl rcx, 0x10
xor rcx, r9
mov r9, rcx
and rcx, r11
shl r9, 0x20
or rcx, r8
or rdx, r9
mov qword [rsp + 0x1d8], rcx
mov qword [rsp + 0x1b8], rdx
mov rcx, qword [rsp + 0xa8]
call fcn.1401eec50
mov rax, qword [rsp + 0x688]
mov rdi, qword [rsp + 0xc8]
xor rdi, qword [rsp + 0x1a0]
mov r14, qword [rsp + 0xd0]
mov eax, dword [rax + 0xf0]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x1a0], rdi
mov r15, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe8]
mov qword [rsp + 0xb0], rax
mov rbx, rax
mov r8, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x100]
xor r14, qword [rsp + 0x1a8]
xor rdi, qword [rsp + 0x1b0]
xor r15, qword [rsp + 0x1b8]
mov qword [rsp + 0x1a8], r14
xor rsi, qword [rsp + 0x1c0]
xor r8, qword [rsp + 0x1c8]
mov qword [rsp + 0x1b0], rdi
xor r11, qword [rsp + 0x1d0]
xor r10, qword [rsp + 0x1d8]
mov qword [rsp + 0x1b8], r15
mov qword [rsp + 0x1c0], rsi
mov qword [rsp + 0x1c8], r8
mov qword [rsp + 0x1d0], r11
mov qword [rsp + 0x1d8], r10
cmp rax, 1
jbe 0x1401fd365
mov rdx, rbx
mov rbx, qword [rsp + 0x118]
lea rax, [rsp + 0x260]
mov qword [rsp + 0xc0], r12
shl rdx, 6
mov qword [rsp + 0x90], rax
mov rcx, r8
add rbx, rdx
mov qword [rsp + 0x678], rbp
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x680], r13
mov r13, r10
nop dword [rax]
mov rbp, qword [rsp + 0x28]
xor rcx, r11
mov r8, rsi
mov rax, r13
xor r8, rdi
xor rax, rsi
mov rdx, r13
mov rbx, r13
mov r10, rbp
xor rdx, r14
mov qword [rsp + 0x40], rax
mov rax, r8
xor r10, rcx
xor rax, rdx
xor rbx, rdi
mov qword [rsp + 0x38], r8
mov r9, r10
mov r8, rax
xor rsi, r10
xor r14, r10
xor r9, r13
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r9
mov r9, rax
mov rax, rbp
xor r9, r15
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x50], rsi
mov rsi, rbx
xor rdi, r9
xor r11, r9
mov r9, rcx
xor rbx, r14
xor r15, r11
xor r9, rdi
xor rbp, rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x30], r9
xor r9, r15
mov r12, rdi
and rsi, qword [rsp + 0x30]
mov qword [rsp + 0x80], r9
mov r9, r8
mov r8, qword [rsp + 0x40]
mov rdi, rax
mov rax, qword [rsp + 0x38]
and r9, r12
mov qword [rsp + 0x70], rbp
xor rdi, r15
and r8, r15
xor r11, r9
mov qword [rsp + 0x68], rbx
xor rcx, r15
and rax, qword [rsp + 0x80]
xor rsi, r8
mov qword [rsp + 0x78], rdi
mov rdi, rdx
xor rax, r8
mov r8, rbx
mov rbx, qword [rsp + 0x28]
and rdi, rcx
and r8, rbp
mov rbp, r8
xor rbp, r11
mov r11, qword [rsp + 0x50]
xor rbp, rax
and r11, rbx
mov r8, r11
mov r11, qword [rsp + 0x48]
xor r8, r11
mov r11, qword [rsp + 0x30]
xor r13, rcx
xor r13, rdi
xor r8, r11
xor r8, r9
mov r9, r10
and r9, r14
xor r8, rsi
xor r9, rdx
xor r9, rcx
xor r9, rdi
xor r9, rax
mov rax, qword [rsp + 0x60]
and rax, qword [rsp + 0x78]
xor r13, rax
xor r13, rsi
mov rax, r13
mov r13, rbp
and rbp, r9
xor r13, r8
mov rdi, rax
xor rdi, rbp
mov rsi, r13
and rsi, rdi
mov r11, rdi
mov rdi, r9
xor rsi, r8
xor rdi, rax
xor r8, rbp
and r8, rdi
mov rdi, rax
xor rbp, r8
xor rdi, r8
and rbp, rax
xor r9, rdi
xor r11, rbp
xor r9, rbp
mov rbp, rsi
and r11, rsi
xor r11, r13
mov r13, r9
xor r13, r11
mov rax, r13
mov r13, rsi
xor r13, rdi
xor rbp, r11
and rbx, rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x88], rbx
mov rbx, qword [rsp + 0x78]
mov r8, rbp
xor rax, r13
and rcx, r8
and r8, rdx
mov rdx, qword [rsp + 0x38]
mov rbp, rdi
and rbx, rsi
xor rbp, r9
and r10, r11
and r11, r14
mov qword [rsp + 0x78], rbx
and rdx, rax
and r12, rbp
mov r14, r10
mov rbx, qword [rsp + 0x80]
and rbx, rax
mov rax, rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x80], rbx
mov rbx, qword [rsp + 0x68]
and rdx, r13
mov qword [rsp + 0x38], rax
and r13, r15
and rbp, qword [rsp + 0x58]
xor rdx, rax
mov rax, qword [rsp + 0x78]
and rbx, r9
mov r15, qword [rsp + 0x80]
xor r14, rdx
and rsi, qword [rsp + 0x60]
xor rbp, rbx
xor r11, rax
mov rax, r12
mov r12, qword [rsp + 0x88]
xor rbp, r14
xor rax, rcx
xor rcx, r13
mov r13, qword [rsp + 0x30]
and r13, qword [rsp + 0x28]
xor r12, r8
xor r13, r15
xor rcx, r15
mov r15, rbx
xor r12, rax
xor r13, r14
xor r10, rcx
mov rbx, qword [rsp + 0x78]
xor rsi, r12
xor rsi, r13
xor rdx, r12
xor r8, r11
and r9, qword [rsp + 0x70]
xor rdx, r11
xor rcx, rbp
xor r9, rbp
mov rbp, qword [rsp + 0x48]
and rbp, qword [rsp + 0x28]
and rdi, qword [rsp + 0x50]
not rdx
xor r8, r13
mov r11, qword [rsp + 0x88]
xor rdi, r15
mov r15, r10
not r8
movabs r12, 0xf000f000f000f
xor rdi, rsi
xor rax, r9
xor r11, rbx
mov rbx, qword [rsp + 0x38]
xor r15, rax
xor r9, r11
not r15
xor rbp, rbx
mov r11, r15
movabs rbx, 0xf000f000f000f000
xor rbp, r10
mov r14, rbx
movabs r10, 0xf000f000f000f00
xor rbp, rsi
and r10, rdx
movabs rsi, 0xf000f000f000f0
and rsi, rdx
rol r10, 0x20
not rbp
ror rsi, 0x10
or r10, rsi
movabs rsi, 0xf000f000f000f
and rsi, rdx
and rdx, rbx
or rsi, r10
rol rdx, 0x10
movabs r10, 0xf000f000f000f00
or rdx, rsi
and r10, r8
movabs rsi, 0xf000f000f000f0
and rsi, r8
ror rsi, 0x10
rol r10, 0x20
and r12, r9
or r10, rsi
movabs rsi, 0xf000f000f000f
and rsi, r8
and r8, rbx
or rsi, r10
rol r8, 0x10
movabs r10, 0xf000f000f000f00
or r8, rsi
and r10, rdi
movabs rsi, 0xf000f000f000f0
and rsi, rdi
rol r10, 0x20
mov r13, r8
ror rsi, 0x10
or r10, rsi
movabs rsi, 0xf000f000f000f
and rsi, rdi
and rdi, rbx
or rsi, r10
rol rdi, 0x10
movabs r10, 0xf000f000f000f00
or rsi, rdi
and r10, r9
movabs rdi, 0xf000f000f000f0
and rdi, r9
rol r10, 0x20
and r9, rbx
ror rdi, 0x10
rol r9, 0x10
or r10, rdi
movabs rdi, 0xf000f000f000f0
or r12, r10
movabs r10, 0xf000f000f000f0
or r12, r9
and r10, rax
movabs r9, 0xf000f000f000f00
and r9, rax
ror r10, 0x10
rol r9, 0x20
or r9, r10
movabs r10, 0xf000f000f000f
and r10, rax
and rax, rbx
and rdi, r15
and r11, rbx
rol rax, 0x10
or r10, r9
ror rdi, 0x10
movabs r9, 0xf000f000f000f0
or r10, rax
and r9, rbp
rol r11, 0x10
movabs rax, 0xf000f000f000f00
and rax, rbp
ror r9, 0x10
rol rax, 0x20
or rax, r9
movabs r9, 0xf000f000f000f
and r9, rbp
and rbp, rbx
or r9, rax
rol rbp, 0x10
movabs rax, 0xf000f000f000f00
and rax, r15
or r9, rbp
movabs rbp, 0xf000f000f000f
rol rax, 0x20
and rbp, r15
mov r15, rsi
or rax, rdi
mov rdi, rdx
or rbp, rax
movabs rax, 0xf000f000f000f0
or rbp, r11
and rax, rcx
movabs r11, 0xf000f000f000f00
and r11, rcx
ror rax, 0x10
rol r11, 0x20
or r11, rax
movabs rax, 0xf000f000f000f
and rax, rcx
or rax, r11
and rcx, rbx
shr rdi, 4
mov r11, r12
rol rcx, 0x10
shr r13, 4
movabs rbx, 0xfff0fff0fff0fff
or rax, rcx
mov rcx, rdx
and rdi, rbx
and r13, rbx
shl rcx, 0xc
shr r15, 4
and rcx, r14
and r15, rbx
shr r11, 4
or rdi, rcx
mov rcx, r8
and r11, rbx
shl rcx, 0xc
xor rdx, rdi
and rcx, r14
or r13, rcx
mov rcx, rsi
shl rcx, 0xc
xor r8, r13
and rcx, r14
or r15, rcx
mov rcx, r12
shl rcx, 0xc
xor rsi, r15
and rcx, r14
mov r14, r10
or r11, rcx
mov rcx, r10
shr r14, 4
xor r12, r11
mov qword [rsp + 0x30], r11
shl rcx, 0xc
and r14, rbx
movabs r11, 0xf000f000f000f000
and rcx, r11
or r14, rcx
mov rcx, r9
xor r10, r14
shr rcx, 4
mov qword [rsp + 0x38], r14
mov r14, rcx
mov rcx, r9
and r14, rbx
shl rcx, 0xc
and rcx, r11
mov r11, r14
or r11, rcx
mov rcx, rbp
shr rcx, 4
xor r9, r11
mov qword [rsp + 0x40], r11
movabs r11, 0xf000f000f000f000
mov r14, rcx
mov rcx, rbp
shl rcx, 0xc
and r14, rbx
and rcx, r11
or r14, rcx
xor rbp, r14
mov qword [rsp + 0x48], r14
mov r14, rax
shr r14, 4
and r14, rbx
mov rbx, rax
shl rbx, 0xc
mov rcx, rbx
mov rbx, r14
mov r14, rdx
and rcx, r11
shr r14, 8
or rbx, rcx
movabs rcx, 0xff00ff00ff00ff
and r14, rcx
mov rcx, rdx
xor rax, rbx
mov qword [rsp + 0x50], rbx
movabs rbx, 0xff00ff00ff00ff00
shl rcx, 8
mov r11, rbx
and rcx, rbx
mov rbx, qword [rsp + 0x90]
or rcx, r14
xor rdi, qword [rbx]
xor rdi, rax
xor rcx, rdi
mov rdi, r8
shr rdi, 8
mov qword [rsp + 0x28], rcx
mov rcx, r8
mov r14, rdi
shl rcx, 8
movabs rdi, 0xff00ff00ff00ff
and rcx, r11
and r14, rdi
or r14, rcx
xor rdx, r13
mov r13, rsi
xor rdx, qword [rbx + 8]
xor rdx, rax
shr r13, 8
xor r15, qword [rbx + 0x10]
xor r14, rdx
mov rdx, r13
mov r13, rdi
xor r15, r8
and rdx, rdi
mov rdi, rsi
mov r8, r13
shl rdi, 8
and rdi, r11
or rdi, rdx
xor rdi, r15
mov r15, r12
shr r15, 8
mov rcx, r15
mov r15, r12
shl r15, 8
and rcx, r13
mov r13, r11
mov rdx, r15
and rdx, r11
mov r11, qword [rsp + 0x30]
or rdx, rcx
xor r11, rax
xor r11, qword [rbx + 0x18]
mov r15, rdx
xor r11, rsi
mov rsi, r10
shr rsi, 8
xor r15, r11
mov r11, r13
mov rdx, rsi
mov rsi, r10
shl rsi, 8
and rdx, r8
and rsi, r13
mov r13, r9
or rsi, rdx
mov rdx, qword [rsp + 0x38]
shr r13, 8
mov rcx, r13
xor rdx, rax
xor rdx, qword [rbx + 0x20]
and rcx, r8
xor rdx, r12
mov r12, r11
xor rsi, rdx
mov rdx, r9
shl rdx, 8
add rbx, 0x40
and rdx, r11
mov r11, qword [rsp + 0x40]
or rcx, rdx
mov rdx, rbp
xor r10, r11
mov r11, rbp
shl rdx, 8
xor r10, qword [rbx - 0x18]
shr r11, 8
and rdx, r12
xor rcx, r10
mov r10, r12
and r11, r8
mov r12, qword [rsp + 0x48]
or r11, rdx
mov rdx, rax
shl rax, 8
shr rdx, 8
and rax, r10
xor r9, r12
xor r9, qword [rbx - 0x10]
and rdx, r8
xor r11, r9
or rax, rdx
mov rdx, qword [rsp + 0x50]
xor rdx, qword [rbx - 8]
mov qword [rsp + 0x90], rbx
xor rdx, rbp
xor rax, rdx
mov r13, rax
cmp qword [rsp + 0x98], rbx
jne 0x1401fcb90
mov rbx, rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], rdi
mov r12, qword [rsp + 0xc0]
mov qword [rsp + 0x1a0], rax
mov rbp, qword [rsp + 0x678]
mov qword [rsp + 0x1b8], r15
mov r13, qword [rsp + 0x680]
mov qword [rsp + 0x1c0], rsi
mov qword [rsp + 0x1c8], rcx
mov qword [rsp + 0x1d0], r11
mov qword [rsp + 0x1d8], rbx
mov rcx, qword [rsp + 0xa8]
movabs r14, 0xf000f000f000f0
movabs rdi, 0xf000f000f000f00
call fcn.1401ee930
mov rdx, qword [rsp + 0x1a0]
movabs rax, 0xf000f000f000f000
mov rsi, qword [rsp + 0x1a8]
mov r11, qword [rsp + 0x1b0]
mov r10, qword [rsp + 0x1b8]
and r14, rdx
and rdi, rdx
mov r9, qword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1c8]
ror r14, 0x10
rol rdi, 0x20
mov rcx, qword [rsp + 0x1d0]
mov r15, qword [rsp + 0x1d8]
or rdi, r14
movabs r14, 0xf000f000f000f
and r14, rdx
and rdx, rax
or rdi, r14
mov r14, rdx
movabs rdx, 0xf000f000f000f0
rol r14, 0x10
and rdx, rsi
or r14, rdi
mov rdi, qword [rsp + 0xb0]
ror rdx, 0x10
shl rdi, 6
xor r14, qword [rsp + rdi + 0x220]
mov qword [rsp + 0x1a0], r14
movabs r14, 0xf000f000f000f00
and r14, rsi
rol r14, 0x20
or r14, rdx
movabs rdx, 0xf000f000f000f
and rdx, rsi
and rsi, rax
rol rsi, 0x10
or rdx, r14
or rdx, rsi
xor rdx, qword [rsp + rdi + 0x228]
movabs rsi, 0xf000f000f000f00
mov qword [rsp + 0x1a8], rdx
and rsi, r11
movabs rdx, 0xf000f000f000f0
movdqa xmm2, xmmword [rsp + 0x1a0]
and rdx, r11
rol rsi, 0x20
ror rdx, 0x10
movaps xmmword [rsp + 0x1e0], xmm2
or rsi, rdx
movabs rdx, 0xf000f000f000f
and rdx, r11
and r11, rax
or rdx, rsi
rol r11, 0x10
or rdx, r11
xor rdx, qword [rsp + rdi + 0x230]
movabs r11, 0xf000f000f000f00
mov qword [rsp + 0x1b0], rdx
and r11, r10
movabs rdx, 0xf000f000f000f0
and rdx, r10
rol r11, 0x20
ror rdx, 0x10
or r11, rdx
movabs rdx, 0xf000f000f000f
and rdx, r10
and r10, rax
rol r10, 0x10
or rdx, r11
or rdx, r10
xor rdx, qword [rsp + rdi + 0x238]
movabs r10, 0xf000f000f000f00
mov qword [rsp + 0x1b8], rdx
and r10, r9
movabs rdx, 0xf000f000f000f0
movdqa xmm7, xmmword [rsp + 0x1b0]
and rdx, r9
rol r10, 0x20
ror rdx, 0x10
movaps xmmword [rsp + 0x1f0], xmm7
or r10, rdx
movabs rdx, 0xf000f000f000f
and rdx, r9
and r9, rax
rol r9, 0x10
or rdx, r10
or rdx, r9
xor rdx, qword [rsp + rdi + 0x240]
movabs r9, 0xf000f000f000f00
mov qword [rsp + 0x1c0], rdx
and r9, r8
movabs rdx, 0xf000f000f000f0
and rdx, r8
rol r9, 0x20
ror rdx, 0x10
or r9, rdx
movabs rdx, 0xf000f000f000f
and rdx, r8
or rdx, r9
and r8, rax
rol r8, 0x10
or rdx, r8
xor rdx, qword [rsp + rdi + 0x248]
movabs r8, 0xf000f000f000f00
mov qword [rsp + 0x1c8], rdx
and r8, rcx
movabs rdx, 0xf000f000f000f0
movdqa xmm5, xmmword [rsp + 0x1c0]
and rdx, rcx
rol r8, 0x20
ror rdx, 0x10
movaps xmmword [rsp + 0x200], xmm5
or r8, rdx
movabs rdx, 0xf000f000f000f
and rdx, rcx
and rcx, rax
rol rcx, 0x10
or rdx, r8
or rdx, rcx
xor rdx, qword [rsp + rdi + 0x250]
movabs rcx, 0xf000f000f000f00
mov qword [rsp + 0x1d0], rdx
and rcx, r15
movabs rdx, 0xf000f000f000f0
and rdx, r15
rol rcx, 0x20
ror rdx, 0x10
or rcx, rdx
movabs rdx, 0xf000f000f000f
and rdx, r15
and r15, rax
or rdx, rcx
rol r15, 0x10
or rdx, r15
xor rdx, qword [rsp + rdi + 0x258]
mov qword [rsp + 0x1d8], rdx
movdqa xmm2, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x210], xmm2
mov rcx, qword [rsp + 0x110]
call fcn.1401eec50
cmp r13, 1
je 0x1401fdb7e
movdqa xmm6, xmmword [rsp + 0x1e0]
mov eax, 0xffff0000
movdqa xmm0, xmmword [rsp + 0x200]
mov rdx, qword [rsp + 0xa0]
movdqa xmm1, xmm6
psrlq xmm6, 0x20
movdqa xmm2, xmm0
psllq xmm2, 0x20
pand xmm1, xmm3
shr rdx, 1
por xmm1, xmm2
movq xmm2, rax
mov eax, 0xff00
movdqa xmm4, xmm1
punpcklqdq xmm2, xmm2
psrlq xmm4, 0x10
pxor xmm4, xmm1
pand xmm4, xmm2
pxor xmm1, xmm4
psllq xmm4, 0x10
pxor xmm1, xmm4
movd xmm4, eax
mov eax, 0xf000f0
movdqa xmm5, xmm1
pshufd xmm4, xmm4, 0
psrlq xmm5, 8
pxor xmm5, xmm1
pand xmm5, xmm4
pxor xmm1, xmm5
psllq xmm5, 8
pxor xmm1, xmm5
movd xmm5, eax
movabs rax, 0xffffffff00000000
movdqa xmm7, xmm1
pshufd xmm5, xmm5, 0
psrlq xmm7, 4
pxor xmm7, xmm1
pand xmm7, xmm5
pxor xmm1, xmm7
psllq xmm7, 4
pxor xmm1, xmm7
movq xmm7, rax
punpcklqdq xmm7, xmm7
pand xmm0, xmm7
por xmm0, xmm6
movdqa xmm6, xmm0
psrlq xmm6, 0x10
pxor xmm6, xmm0
pand xmm6, xmm2
pxor xmm0, xmm6
psllq xmm6, 0x10
pxor xmm0, xmm6
movdqa xmm6, xmm0
psrlq xmm6, 8
pxor xmm6, xmm0
pand xmm6, xmm4
pxor xmm0, xmm6
psllq xmm6, 8
pxor xmm0, xmm6
movdqa xmm6, xmm0
psrlq xmm6, 4
pxor xmm6, xmm0
pand xmm6, xmm5
pxor xmm0, xmm6
psllq xmm6, 4
pxor xmm0, xmm6
movdqa xmm6, xmm1
punpcklqdq xmm6, xmm0
punpckhqdq xmm1, xmm0
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x170], xmm1
cmp rdx, 2
jne 0x1401fd9bb
movdqa xmm6, xmmword [rsp + 0x1f0]
movdqa xmm8, xmmword [rsp + 0x210]
movdqa xmm0, xmm6
psrlq xmm6, 0x20
movdqa xmm9, xmm8
pand xmm0, xmm3
psllq xmm9, 0x20
pand xmm8, xmm7
por xmm9, xmm0
por xmm6, xmm8
movdqa xmm0, xmm9
psrlq xmm0, 0x10
pxor xmm0, xmm9
pand xmm0, xmm2
movdqa xmm1, xmm0
pxor xmm0, xmm9
psllq xmm1, 0x10
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrlq xmm0, 8
pxor xmm0, xmm1
pand xmm0, xmm4
movdqa xmm9, xmm0
pxor xmm0, xmm1
psllq xmm9, 8
pxor xmm9, xmm0
movdqa xmm0, xmm9
psrlq xmm0, 4
pxor xmm0, xmm9
pand xmm0, xmm5
movdqa xmm1, xmm0
pxor xmm0, xmm9
psllq xmm1, 4
pxor xmm1, xmm0
movdqa xmm0, xmm6
psrlq xmm0, 0x10
pxor xmm0, xmm6
pand xmm0, xmm2
movdqa xmm2, xmm0
pxor xmm0, xmm6
psllq xmm2, 0x10
pxor xmm2, xmm0
movdqa xmm0, xmm2
movdqa xmm6, xmm2
psrlq xmm0, 8
pxor xmm0, xmm2
pand xmm0, xmm4
movdqa xmm2, xmm0
pxor xmm0, xmm6
psllq xmm2, 8
pxor xmm2, xmm0
movdqa xmm0, xmm2
psrlq xmm0, 4
pxor xmm0, xmm2
pand xmm0, xmm5
movdqa xmm4, xmm0
pxor xmm0, xmm2
movdqa xmm2, xmm1
psllq xmm4, 4
pxor xmm0, xmm4
punpcklqdq xmm2, xmm0
punpckhqdq xmm1, xmm0
movaps xmmword [rsp + 0x180], xmm2
movaps xmmword [rsp + 0x190], xmm1
mov rdx, r12
sub rdx, rbp
cmp rdx, 0x1e
jbe 0x1401fdad3
movdqu xmm0, xmmword [r12 - 0xf]
pxor xmm0, xmmword [rsp + 0x160]
movups xmmword [rbp], xmm0
cmp r13, 1
je 0x1401fd995
movdqu xmm0, xmmword [r12 + 1]
pxor xmm0, xmmword [rsp + 0x170]
movups xmmword [rbp + 0x10], xmm0
cmp r13, 2
je 0x1401fd995
movdqu xmm0, xmmword [r12 + 0x11]
pxor xmm0, xmmword [rsp + 0x180]
movups xmmword [rbp + 0x20], xmm0
cmp r13, 3
je 0x1401fd995
movdqu xmm0, xmmword [r12 + 0x21]
pxor xmm0, xmmword [rsp + 0x190]
movups xmmword [rbp + 0x30], xmm0
mov rax, qword [rsp + 0xa0]
add r12, 0x40
sub r13, rax
je 0x1401fc485
add dword [rsp + 0xbc], 4
add rbp, 0x40
jmp 0x1401fc650
cmp r13, 2
je 0x1401fd923
mov edx, 2
mov r8, qword [rsp + rdx*8 + 0x200]
mov rsi, qword [rsp + rdx*8 + 0x1e0]
shl rdx, 4
movabs rax, 0xf000f000f000f0
lea r9, [rsp + rdx + 0x160]
mov r10, r8
mov edx, esi
shr rsi, 0x20
shl r10, 0x20
or r10, rdx
mov rdx, r10
shr rdx, 0x10
xor rdx, r10
and edx, 0xffff0000
mov rcx, rdx
xor rdx, r10
movabs r10, 0xff000000ff00
shl rcx, 0x10
xor rcx, rdx
mov rdx, rcx
shr rdx, 8
xor rdx, rcx
and rdx, r10
mov r11, rdx
xor rdx, rcx
shl r11, 8
xor r11, rdx
movabs rdx, 0xffffffff00000000
and r8, rdx
mov rcx, r11
or r8, rsi
shr rcx, 4
mov rdx, r8
xor rcx, r11
shr rdx, 0x10
and rcx, rax
xor rdx, r8
and edx, 0xffff0000
mov rsi, rdx
xor rdx, r8
shl rsi, 0x10
xor rdx, rsi
mov r8, rdx
shr r8, 8
xor r8, rdx
and r8, r10
mov r10, r8
xor rdx, r8
shl r10, 8
xor rdx, r10
mov r10, rcx
xor rcx, r11
mov r8, rdx
shl r10, 4
shr r8, 4
xor r10, rcx
xor r8, rdx
mov qword [r9], r10
and r8, rax
mov rcx, r8
xor r8, rdx
mov rdx, r12
shl rcx, 4
sub rdx, rbp
xor rcx, r8
mov qword [r9 + 8], rcx
cmp rdx, 0x1e
ja 0x1401fd933
mov rdx, qword [r12 - 0xf]
xor rdx, qword [rsp + 0x160]
mov qword [rbp], rdx
mov rdx, qword [r12 - 7]
xor rdx, qword [rsp + 0x168]
mov qword [rbp + 8], rdx
cmp r13, 1
je 0x1401fd995
mov rdx, qword [r12 + 1]
xor rdx, qword [rsp + 0x170]
mov qword [rbp + 0x10], rdx
mov rdx, qword [r12 + 9]
xor rdx, qword [rsp + 0x178]
mov qword [rbp + 0x18], rdx
cmp r13, 2
je 0x1401fd995
mov rdx, qword [r12 + 0x11]
xor rdx, qword [rsp + 0x180]
mov qword [rbp + 0x20], rdx
mov rdx, qword [r12 + 0x19]
xor rdx, qword [rsp + 0x188]
mov qword [rbp + 0x28], rdx
cmp r13, 3
je 0x1401fd995
mov rdx, qword [rsp + 0x190]
xor rdx, qword [r12 + 0x21]
mov qword [rbp + 0x30], rdx
mov rdx, qword [rsp + 0x198]
xor rdx, qword [r12 + 0x29]
mov qword [rbp + 0x38], rdx
jmp 0x1401fd995
xor edx, edx
jmp 0x1401fd9ca