Function at 0x14001de8f
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movdqa xmmword [rsp + 0x60], xmm6
mov rbx, rdx
mov esi, ecx
mov eax, dword [r8]
bswap eax
lea rcx, [rsp + 0x2c]
mov dword [rcx], eax
mov qword [rsp + 0x58], r8
mov eax, dword [r8 + 4]
bswap eax
lea rdx, [rsp + 0x28]
mov dword [rdx], eax
call fcn.14001da92
test esi, esi
je 0x14001e389
mov edi, dword [rsp + 0x28]
mov r10d, dword [rsp + 0x2c]
mov ebp, 0x11111111
movdqa xmm0, xmmword [0x14002ec90]
movdqa xmm1, xmmword [0x14002eca0]
pshufd xmm2, xmm1, 0xf5
mov dword [rsp + 0x38], esi
mov eax, r10d
xor edx, edx
mov r10d, edi
mov edi, eax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x54], edi
mov eax, r10d
and eax, ebp
mov ecx, r10d
mov r12d, r10d
mov dword [rsp + 0x3c], r10d
shr ecx, 3
and ecx, ebp
lea eax, [rax + rax*4]
lea r15d, [rax + rax*2]
lea eax, [rcx + rcx*4]
lea eax, [rax + rax*2]
mov dword [rsp + 0x50], eax
mov r9d, eax
rol r9d, 4
mov dword [rsp + 0x4c], r15d
xor r9d, dword [rbx + rdx]
xor r15d, dword [rbx + rdx + 4]
mov ebx, r9d
and ebx, 0xec7ac69c
mov eax, r9d
and eax, 0x500fb821
xor eax, 0xaeaaedff
mov edx, eax
mov edi, r9d
and edi, 0x40efa809
mov eax, r9d
and eax, 0xa5ec0b28
xor eax, 0x68d7b833
mov r10d, eax
mov ecx, r9d
and ecx, 0x252cf820
mov eax, r9d
and eax, 0x40205801
xor eax, 0x73fc3606
mov r11d, eax
mov esi, r9d
and esi, 0xe220f929
mov r14d, r9d
and r14d, 0x44a3f9e1
xor r14d, 0x8222bd90
mov eax, r9d
and eax, 0x794f104a
and edx, r15d
xor edx, ebx
mov dword [rsp + 0x48], edx
mov r8d, r9d
and r8d, 0x26f320b
xor r8d, 0x3069300c
and r10d, r15d
xor r10d, edi
mov dword [rsp + 0x44], r10d
mov edx, r9d
and edx, 0x7640b01a
and r11d, r15d
xor r11d, ecx
mov dword [rsp + 0x40], r11d
mov ebx, r9d
and ebx, 0x238f1572
xor ebx, 0x59a9a22d
and r14d, r15d
xor r14d, esi
mov ecx, r9d
and ecx, 0x7a63c083
and r8d, r15d
xor r8d, eax
mov r13d, 0x11111111
mov ebp, r9d
and ebp, 0x11cca000
xor ebp, 0x21c83200
and ebx, r15d
xor ebx, edx
mov eax, r9d
and eax, 0x51b33be9
and ebp, r15d
xor ebp, ecx
mov edi, r9d
and edi, 0x3b0fe8ae
xor edi, 0xf0168aa3
and edi, r15d
xor edi, eax
mov eax, r9d
and eax, 0x90bf8816
mov ecx, r9d
and ecx, 0x9e34f9b
xor ecx, 0x5ab2750a
and ecx, r15d
xor ecx, eax
mov eax, r9d
and eax, 0x103be88
mov r11d, r9d
and r11d, 0x49ac8e25
xor r11d, 0x93372baf
and r11d, r15d
xor r11d, eax
mov edx, r9d
and edx, 0x922c313d
mov eax, r9d
and eax, 0x70ef31b0
xor eax, 0x920af5c0
and eax, r15d
xor eax, edx
mov edx, r9d
and edx, 0x6a707100
mov r10d, r9d
and r10d, 0xb97c9011
xor r10d, 0x537b3006
and r10d, r15d
xor r10d, edx
mov edx, r9d
and edx, 0xa320c959
mov esi, r9d
and esi, 0x6ea0ab4a
xor esi, 0xbc8f96a5
and esi, r15d
xor esi, edx
mov edx, r9d
and edx, 0xf74f3e2b
xor edx, 0x665a14a3
and edx, r15d
mov r15d, r9d
and r15d, 0x6953ddf8
xor edx, r15d
mov r15d, r12d
shr r15d, 1
and r15d, r13d
lea r15d, [r15 + r15*4]
lea r15d, [r15 + r15*2]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x20]
xor r15d, dword [r13 + r12 + 8]
mov r12d, dword [rsp + 0x44]
xor r12d, 0x37396665
and r12d, r15d
xor r12d, dword [rsp + 0x48]
xor r14d, 0xa2a0a918
and r14d, r15d
xor r14d, dword [rsp + 0x40]
xor ebx, 0x6ce0d5cc
and ebx, r15d
xor ebx, r8d
mov r8d, r9d
and r8d, 0x202f69aa
xor r8d, 0xa0e62188
and r8d, r15d
xor r8d, ebp
mov ebp, 0x11111111
xor ecx, 0x90aa30c6
and ecx, r15d
xor ecx, edi
mov edi, dword [rsp + 0x3c]
xor eax, 0xf288210c
and eax, r15d
xor eax, r11d
xor esi, 0xa2efb0a5
and esi, r15d
xor esi, r10d
and r9d, 0xf0306cad
xor r9d, 0xf2eff0cc
and r9d, r15d
xor r9d, edx
mov edx, edi
shr edx, 2
and edx, ebp
lea edx, [rdx + rdx*4]
lea edx, [rdx + rdx*2]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x20]
xor edx, dword [r10 + r11 + 0xc]
xor r14d, 0xc9c755bb
and r14d, edx
xor r14d, r12d
xor r8d, 0xac6d0bd4
and r8d, edx
xor r8d, ebx
mov rbx, qword [rsp + 0x30]
mov r11d, dword [rsp + 0x4c]
rol r11d, 0x1c
mov r10, qword [rsp + 0x20]
mov r15d, dword [rsp + 0x50]
xor r15d, dword [rbx + r10 + 0x10]
xor eax, 0x5391be65
and eax, edx
xor eax, ecx
mov rcx, qword [rsp + 0x20]
xor r11d, dword [rbx + rcx + 0x14]
xor r9d, 0xfad176a5
xor r8d, 0xd6b6ac77
and r9d, edx
xor r9d, esi
xor r9d, 0x63d312c0
and r8d, r15d
xor r8d, r14d
and r9d, r15d
xor r9d, eax
xor r9d, 0xaf7d655a
and r9d, r11d
xor r9d, r8d
mov r11d, r9d
xor r11d, 0xefa72c4d
mov ecx, r9d
shl ecx, 4
and ecx, 0x40000
mov edx, r9d
shl edx, 6
and edx, 0x4000000
mov eax, r9d
shl eax, 9
and eax, 0x1000000
or eax, edx
or eax, ecx
mov edx, r11d
shr edx, 0x16
mov ecx, r11d
shl ecx, 0xb
or ecx, edx
mov edx, r11d
shr edx, 0x13
mov r8d, r11d
shl r8d, 0xe
or r8d, edx
mov edx, r11d
shl edx, 0xf
mov r10d, r11d
shr r10d, 0xa
or r10d, edx
mov esi, r9d
and esi, 2
shl esi, 0x10
mov edx, r9d
shr edx, 0xd
and edx, 0x40
or edx, esi
mov esi, r11d
and esi, 4
and r9d, 0x10
shl r9d, 0x15
lea r9d, [r9 + rsi*8]
or r9d, edx
mov rdx, qword [rsp + 0x20]
or r9d, eax
and ecx, 0x810
and r8d, 0x100004
or r8d, ecx
mov eax, r11d
shr eax, 7
and eax, 9
and r10d, 0x80004000
or r10d, eax
or r10d, r8d
or r10d, r9d
movd xmm3, r11d
pshufd xmm3, xmm3, 0
pand xmm3, xmm0
pshufd xmm4, xmm3, 0xf5
pmuludq xmm3, xmm1
pshufd xmm5, xmm3, 0xed
pmuludq xmm4, xmm2
pshufd xmm6, xmm4, 0xed
punpckldq xmm5, xmm6
pshufd xmm3, xmm3, 0xe8
pshufd xmm4, xmm4, 0xe8
punpckldq xmm3, xmm4
por xmm3, xmm5
shr r11d, 6
and r11d, 0x11080
pshufd xmm4, xmm3, 0xee
por xmm4, xmm3
pshufd xmm3, xmm4, 0x55
por xmm3, xmm4
or r10d, r11d
movd eax, xmm3
or r10d, eax
xor r10d, dword [rsp + 0x54]
add rdx, 0x18
cmp edx, 0x180
jne 0x14001df0b
add rbx, 0x180
mov esi, dword [rsp + 0x38]
dec esi
jne 0x14001def8
jmp 0x14001e392
mov r10d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x28]
mov ecx, r10d
shr ecx, 1
xor ecx, edi
and ecx, 0x55555555
xor edi, ecx
add ecx, ecx
xor ecx, r10d
mov edx, edi
shr edx, 8
xor edx, ecx
and edx, 0xff00ff
xor ecx, edx
shl edx, 8
xor edx, edi
mov eax, edx
shr eax, 2
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
shl eax, 2
xor eax, edx
mov edx, ecx
shr edx, 0x10
movzx r8d, ax
xor r8d, edx
xor eax, r8d
shl r8d, 0x10
xor r8d, ecx
mov ecx, r8d
shr ecx, 4
xor ecx, eax
and ecx, 0xf0f0f0f
xor eax, ecx
shl ecx, 4
xor ecx, r8d
mov edx, ecx
shr edx, 0x18
mov rsi, qword [rsp + 0x58]
mov byte [rsi], dl
mov edx, ecx
shr edx, 0x10
mov byte [rsi + 1], dl
mov byte [rsi + 2], ch
mov byte [rsi + 3], cl
mov ecx, eax
shr ecx, 0x18
mov byte [rsi + 4], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rsi + 5], cl
mov byte [rsi + 6], ah
mov byte [rsi + 7], al
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret