Function at 0x521116d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x208
movaps xmmword [rsp + 0x1f0], xmm6
lea rbx, [rsp + 0x70]
mov rbp, rcx
mov rdi, rdx
mov edx, 0x18
mov r14, r8
mov rcx, rbx
call fcn.5210ece0
lea rcx, [rbx + 0xc0]
mov edx, 0x18
call fcn.5210ece0
mov rax, qword [rbp]
mov rdx, qword [rbp + 8]
mov rsi, qword [rdi]
mov rbx, qword [rdi + 8]
bswap rax
bswap rdx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x130], rax
mov r8, rax
movdqu xmm3, xmmword [rsp + 0x138]
shr r8, 1
mov rcx, rax
mov r9, r8
mov r12, rax
movdqa xmm4, xmmword [rsp + 0x130]
shr rcx, 2
movdqa xmm0, xmm3
xor r9, rax
movdqa xmm2, xmm4
mov r13, r8
movdqa xmm1, xmm3
psrlq xmm0, 1
shr r12, 3
movdqa xmm5, xmm4
psllq xmm2, 0x3f
psllq xmm4, 0x3d
por xmm2, xmm0
psrlq xmm1, 2
movdqa xmm0, xmm3
psllq xmm5, 0x3e
por xmm1, xmm5
xor r13, rcx
psrlq xmm0, 3
por xmm0, xmm4
mov qword [rsp + 0xa0], rcx
movups xmmword [rsp + 0xd8], xmm2
movdqa xmm5, xmm1
mov r10, rcx
movdqa xmm4, xmm2
mov r15, rcx
pxor xmm5, xmm2
xor rcx, r9
pxor xmm2, xmm0
xor r15, r12
movdqa xmm6, xmm1
mov qword [rsp + 0xd0], r8
pxor xmm4, xmm3
xor r8, r12
pxor xmm6, xmm3
mov qword [rsp + 0x88], r12
movaps xmmword [rsp + 0xf0], xmm2
movdqa xmm2, xmm0
mov qword [rsp + 0x190], r9
movups xmmword [rsp + 0xa8], xmm1
pxor xmm2, xmm1
xor r9, r12
pxor xmm1, xmm4
mov r11, r12
movups xmmword [rsp + 0x168], xmm6
movdqa xmm6, xmm0
mov qword [rsp + 0x100], r13
movaps xmmword [rsp + 0x90], xmm0
pxor xmm6, xmm3
xor r13, r12
movups xmmword [rsp + 0x198], xmm4
pxor xmm3, xmm2
xor r12, rcx
pxor xmm4, xmm0
xor r10, rax
movups xmmword [rsp + 0x108], xmm5
pxor xmm5, xmm0
mov qword [rsp + 0x1c0], rcx
pxor xmm0, xmm1
lea rcx, [rsp + 0x30]
xor r11, rax
mov edx, 0x20
xor rax, r15
mov qword [rsp + 0x160], r10
mov qword [rsp + 0x148], r11
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0x178], rax
mov qword [rsp + 0x1a8], r9
mov qword [rsp + 0x118], r13
movaps xmmword [rsp + 0xc0], xmm2
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0x1d8], r12
movups xmmword [rsp + 0x1c8], xmm1
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x1b0], xmm4
movaps xmmword [rsp + 0x180], xmm3
movaps xmmword [rsp + 0x120], xmm5
movaps xmmword [rsp + 0x1e0], xmm0
call fcn.5210ece0
mov r10d, 0x3c
mov r13, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
jmp 0x52111952
mov r11, rdx
mov rax, r15
mov r13, r9
shr r11, 4
shl r9, 0x3c
shl rdx, 0x3c
shr rax, 4
shl r15, 0x3c
shr r8, 4
shr r13, 4
or r11, r9
or rax, rdx
or r8, r15
sub r10d, 4
mov ecx, r10d
mov rbp, rsi
mov rdi, rbx
xor ecx, 4
shr rbp, cl
shr rdi, cl
and ebp, 0xf
and edi, 0xf
lea r12, [rbp + rbp*2]
shl r12, 3
xor r13, qword [rsp + r12 + 0x70]
mov rdx, qword [rsp + r12 + 0x78]
mov r15, qword [rsp + r12 + 0x80]
mov r9, r13
lea r13, [rdi + rdi*2]
shl r13, 3
xor rdx, qword [rsp + r13 + 0x70]
xor r15, qword [rsp + r13 + 0x78]
xor r8, qword [rsp + r13 + 0x80]
xor rdx, r11
xor r15, rax
test r10d, r10d
jne 0x52111920
mov qword [rsp + 0x20], r9
lea rax, [0x5217f1a0]
movq xmm3, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdx
movhps xmm3, qword [rsp + 0x20]
mov qword [rsp + 0x20], r15
movq xmm1, qword [rsp + 0x20]
mov qword [rsp + 0x20], r8
movhps xmm1, qword [rsp + 0x20]
movq rdx, xmm3
movaps xmmword [rsp + 0x30], xmm3
movq rcx, xmm1
mov r9, qword [rsp + 0x38]
bswap rdx
movaps xmmword [rsp + 0x40], xmm1
bswap rcx
mov rbx, rcx
bswap r9
mov r10d, ecx
shr rbx, 0x20
mov rsi, rcx
mov r11, rcx
mov qword [rsp + 0x20], rbx
mov rbx, qword [rsp + 0x48]
shr rsi, 0x30
shr r11, 0x28
mov qword [rsp + 0x50], rdx
movzx r11d, r11b
bswap rbx
mov r13, rbx
mov r12, rbx
mov rbp, rbx
shr r13, 0x38
shr r12, 0x30
shr rbp, 0x28
add r13d, r13d
movzx r12d, r12b
movzx ebp, bpl
lea r8d, [r13 + 1]
lea r15d, [r12 + r12]
mov rdi, rbx
shr rdi, 0x20
xor r10b, byte [rax + r8]
mov r8, r9
mov r12, r15
shr r8, 0x30
xor r8b, byte [rax + r15]
mov r15d, r13d
mov r13, r9
add r12d, 1
movzx edi, dil
shr r13, 0x38
xor r13b, byte [rax + r15]
xor r13b, byte [rax + r12]
movzx r10d, r10b
mov byte [rsp + 0x5f], r13b
lea r13d, [rbp + rbp]
mov rbp, r9
shr rbp, 0x28
mov r12, r13
xor bpl, byte [rax + r13]
lea r13d, [rdi + rdi]
add r12d, 1
mov edi, r9d
xor r8b, byte [rax + r12]
mov r12, r9
shr edi, 0x18
shr r12, 0x20
mov r15, r12
xor r15b, byte [rax + r13]
mov byte [rsp + 0x5e], r8b
mov r8, r13
add r8d, 1
xor bpl, byte [rax + r8]
mov byte [rsp + 0x5d], bpl
mov ebp, ebx
shr ebp, 0x18
lea r13d, [rbp + rbp]
mov ebp, r9d
shr ebp, 0x10
mov r8, r13
xor dil, byte [rax + r13]
mov r13d, ebx
add r8d, 1
shr r13d, 0xf
xor r15b, byte [rax + r8]
and r13d, 0x1fe
mov r12d, r13d
mov byte [rsp + 0x5c], r15b
mov r15d, ebp
xor r15b, byte [rax + r12]
add r13d, 1
mov r12d, r9d
xor dil, byte [rax + r13]
shr r12w, 8
mov byte [rsp + 0x5b], dil
movzx edi, bh
movzx ebx, bl
lea r13d, [rdi + rdi]
lea ebp, [rbx + rbx]
mov rbx, rdx
shr rbx, 0x38
mov r8, r13
xor r12b, byte [rax + r13]
lea r13d, [r11 + r11]
add r8d, 1
mov r11, rdx
xor r15b, byte [rax + r8]
mov r8, rcx
xor r9b, byte [rax + rbp]
shr r8, 0x38
shr r11, 0x28
mov byte [rsp + 0x5a], r15b
mov r15, rbp
add r15d, 1
xor r12b, byte [rax + r15]
mov byte [rsp + 0x59], r12b
lea r12d, [r8 + r8]
mov r8, r13
add r8d, 1
mov rbp, r12
xor bl, byte [rax + r12]
mov r12, r11
add ebp, 1
xor r12b, byte [rax + r13]
mov r11d, edx
xor r9b, byte [rax + rbp]
movzx ebp, byte [rsp + 0x20]
shr r11d, 0x18
mov byte [rsp + 0x58], r9b
movzx r9d, sil
lea esi, [r9 + r9]
mov r9, rdx
shr r9, 0x30
mov rdi, r9
xor dil, byte [rax + rsi]
mov r15, rsi
xor dil, byte [rax + r8]
add r15d, 1
mov r9, rdx
xor bl, byte [rax + r15]
lea r15d, [rbp + rbp]
shr r9, 0x20
mov r13, r9
mov ebp, r11d
lea r11d, [r10 + r10]
xor r13b, byte [rax + r15]
mov r9d, edx
mov byte [rsp + 0x56], dil
mov rdi, r15
mov r15d, ecx
add edi, 1
mov byte [rsp + 0x57], bl
mov ebx, ecx
xor r12b, byte [rax + rdi]
shr ebx, 0x18
shr r15d, 0xf
movzx ecx, ch
mov byte [rsp + 0x55], r12b
lea r12d, [rbx + rbx]
lea ebx, [rcx + rcx]
mov r8, r12
xor bpl, byte [rax + r12]
mov r12, rbx
add r8d, 1
xor r13b, byte [rax + r8]
and r15d, 0x1fe
shr r9d, 0x10
mov edi, r15d
add r15d, 1
shr dx, 8
xor bpl, byte [rax + r15]
xor dl, byte [rax + rbx]
add r12d, 1
movzx r15d, byte [rax + r11]
mov byte [rsp + 0x54], r13b
mov r13d, r9d
xor r13b, byte [rax + rdi]
xor r13b, byte [rax + r12]
xor byte [rsp + 0x50], r15b
mov byte [rsp + 0x53], bpl
mov rbp, r11
add ebp, 1
xor dl, byte [rax + rbp]
mov byte [rsp + 0x52], r13b
mov byte [rsp + 0x51], dl
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x1f0]
mov qword [r14], rax
mov qword [r14 + 8], rdi
add rsp, 0x208
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret