Function at 0x140086600
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
movaps xmmword [rsp + 0x190], xmm6
xor eax, eax
lea r14, [rsp + 0x50]
mov rbx, rcx
mov ecx, 0x28
mov rdi, r14
mov r15d, dword [rbx + 0x18]
movdqu xmm6, xmmword [rbx + 8]
rep stosq qword [rdi], rax
mov rcx, qword [0x14018fe10]
mov ebp, dword [rbx + 0x14]
mov esi, dword [rbx + 0x10]
mov r12d, dword [rbx + 0xc]
mov dword [rsp + 0x4c], r15d
movd edi, xmm6
call sym.__emutls_get_address
mov r11d, dword [rbx + 0x1c]
cmp byte [rax], 0
bswap r11d
mov dword [rsp + 0x50], r11d
jne 0x140086e6e
movd eax, xmm6
mov r8d, r12d
mov r13d, dword [rbx + 0x34]
rol eax, 5
ror r8d, 2
lea edx, [r15 + rax + 0x5a827999]
mov eax, ebp
bswap r13d
mov dword [rsp + 0x48], r13d
xor eax, esi
movd xmm0, dword [rsp + 0x48]
and eax, r12d
mov r12d, dword [rbx + 0x24]
xor eax, ebp
add edx, eax
mov eax, dword [rbx + 0x20]
bswap r12d
add edx, r11d
bswap eax
mov ecx, eax
mov eax, esi
xor eax, r8d
mov dword [rsp + 0x34], ecx
and eax, edi
ror edi, 2
xor eax, esi
lea r9d, [rbp + rax + 0x5a827999]
mov eax, edx
mov ebp, dword [rbx + 0x30]
rol eax, 5
add r9d, eax
mov eax, edi
bswap ebp
mov dword [rsp + 0x30], ebp
xor eax, r8d
add r9d, ecx
mov ecx, edi
mov edi, dword [rbx + 0x28]
and eax, edx
mov r10d, r9d
ror edx, 2
movd xmm3, dword [rsp + 0x30]
xor eax, r8d
rol r10d, 5
bswap edi
lea r8d, [r8 + rdi + 0x5a827999]
lea eax, [rsi + rax + 0x5a827999]
mov esi, dword [rbx + 0x2c]
add eax, r12d
add eax, r10d
mov r10d, ecx
bswap esi
mov dword [rsp + 0x38], esi
xor r10d, edx
movd xmm1, dword [rsp + 0x38]
and r10d, r9d
ror r9d, 2
xor r10d, ecx
lea ecx, [rcx + rsi + 0x5a827999]
punpckldq xmm1, xmm3
add r10d, r8d
mov r8d, eax
rol r8d, 5
add r8d, r10d
mov r10d, edx
xor r10d, r9d
and r10d, eax
xor r10d, edx
lea edx, [rdx + rbp + 0x5a827999]
add r10d, ecx
mov ecx, r8d
rol ecx, 5
ror eax, 2
add ecx, r10d
mov r10d, eax
xor r10d, r9d
and r10d, r8d
ror r8d, 2
xor r10d, r9d
lea r9d, [r13 + r9 + 0x5a827999]
mov r13d, dword [rbx + 0x40]
add r10d, edx
mov edx, ecx
rol edx, 5
bswap r13d
mov dword [rsp + 0x2c], r13d
movd xmm5, dword [rsp + 0x2c]
add edx, r10d
mov r10d, r8d
xor r10d, eax
and r10d, ecx
ror ecx, 2
xor r10d, eax
add r9d, r10d
mov r10d, edx
rol r10d, 5
add r10d, r9d
mov r9d, dword [rbx + 0x38]
bswap r9d
mov r15d, r9d
mov r9d, ecx
xor r9d, r8d
lea eax, [r15 + rax + 0x5a827999]
mov dword [rsp + 0x44], r15d
mov r15d, dword [rbx + 0x44]
and r9d, edx
ror edx, 2
movd xmm2, dword [rsp + 0x44]
xor r9d, r8d
mov esi, edx
bswap r15d
mov dword [rsp + 0x3c], r15d
add eax, r9d
mov r9d, r10d
punpckldq xmm0, xmm2
xor esi, ecx
rol r9d, 5
and esi, r10d
ror r10d, 2
punpcklqdq xmm1, xmm0
add r9d, eax
mov eax, dword [rbx + 0x3c]
xor esi, ecx
lea ecx, [r13 + rcx + 0x5a827999]
movaps xmmword [rsp + 0x60], xmm1
movd xmm1, dword [rsp + 0x3c]
bswap eax
lea r8d, [rax + r8 + 0x5a827999]
movd xmm0, eax
add esi, r8d
mov r8d, r9d
punpckldq xmm0, xmm5
rol r8d, 5
add r8d, esi
mov esi, r10d
xor esi, edx
and esi, r9d
ror r9d, 2
xor esi, edx
lea edx, [rdx + r15 + 0x5a827999]
mov ebp, r9d
mov r15d, dword [rbx + 0x4c]
add esi, ecx
mov ecx, r8d
rol ecx, 5
bswap r15d
add ecx, esi
mov esi, r9d
xor esi, r10d
and esi, r8d
ror r8d, 2
xor esi, r10d
xor ebp, r8d
add esi, edx
mov edx, ecx
and ebp, ecx
ror ecx, 2
rol edx, 5
xor ebp, r9d
lea r9d, [r9 + r15 + 0x5a827999]
add edx, esi
mov esi, dword [rbx + 0x48]
bswap esi
lea r10d, [r10 + rsi + 0x5a827999]
movd xmm4, esi
add ebp, r10d
mov r10d, edx
punpckldq xmm1, xmm4
rol r10d, 5
punpcklqdq xmm0, xmm1
add r10d, ebp
mov ebp, r8d
movaps xmmword [rsp + 0x70], xmm0
movd xmm0, r15d
xor ebp, ecx
and ebp, edx
ror edx, 2
xor ebp, r8d
add ebp, r9d
mov r9d, r10d
rol r9d, 5
add r9d, ebp
mov ebp, dword [rbx + 0x50]
bswap ebp
mov r13d, ebp
mov ebp, ecx
xor ebp, edx
lea r8d, [r8 + r13 + 0x5a827999]
mov dword [rsp + 0x40], r13d
mov r13d, dword [rbx + 0x54]
and ebp, r10d
movd xmm3, dword [rsp + 0x40]
xor ebp, ecx
bswap r13d
lea ecx, [rcx + r13 + 0x5a827999]
movd xmm1, r13d
add ebp, r8d
mov r8d, r9d
punpckldq xmm0, xmm3
rol r8d, 5
add r8d, ebp
ror r10d, 2
mov ebp, edx
xor eax, r12d
xor ebp, r10d
mov r15d, r10d
xor eax, r11d
and ebp, r9d
ror r9d, 2
xor ebp, edx
xor r15d, r9d
mov r11d, r9d
add ebp, ecx
mov ecx, r8d
and r15d, r8d
ror r8d, 2
rol ecx, 5
xor r15d, r10d
xor r11d, r8d
add ecx, ebp
mov ebp, dword [rbx + 0x58]
and r11d, ecx
bswap ebp
movd xmm2, ebp
lea edx, [rdx + rbp + 0x5a827999]
xor r11d, r9d
punpckldq xmm1, xmm2
add edx, r15d
mov r15d, ecx
ror ecx, 2
punpcklqdq xmm0, xmm1
rol r15d, 5
movaps xmmword [rsp + 0x80], xmm0
xor eax, dword [rsp + 0x40]
add edx, r15d
mov r15d, dword [rsp + 0x34]
rol eax, 1
lea r10d, [rax + r10 + 0x5a827999]
xor r15d, edi
mov dword [rsp + 0x90], eax
add r10d, r11d
mov r11d, edx
rol r11d, 5
add r11d, r10d
mov r10d, dword [rsp + 0x2c]
xor r10d, r15d
xor r10d, r13d
mov r13d, r8d
xor r13d, ecx
rol r10d, 1
and r13d, edx
mov dword [rsp + 0x94], r10d
ror edx, 2
lea r10d, [r10 + r9 + 0x5a827999]
xor r13d, r8d
mov r9d, r11d
add r10d, r13d
rol r9d, 5
add r9d, r10d
mov r10d, dword [rsp + 0x38]
xor r10d, r12d
xor r10d, dword [rsp + 0x3c]
xor r10d, ebp
mov ebp, ecx
xor ebp, edx
rol r10d, 1
and ebp, r11d
lea r8d, [r10 + r8 + 0x5a827999]
ror r11d, 2
mov dword [rsp + 0x98], r10d
xor ebp, ecx
lea r10d, [rbp + r8]
mov r8d, r9d
rol r8d, 5
add r8d, r10d
mov r10d, dword [rsp + 0x30]
xor r10d, edi
lea rdi, [rsp + 0xa0]
xor r10d, esi
mov rsi, r14
xor eax, r10d
mov r10d, edx
xor r10d, r11d
rol eax, 1
and r10d, r9d
mov dword [rsp + 0x9c], eax
ror r9d, 2
lea eax, [rax + rcx + 0x5a827999]
xor r10d, edx
lea ecx, [r10 + rax]
mov eax, r8d
mov r10, r14
rol eax, 5
add eax, ecx
mov ecx, r8d
mov r12d, eax
mov ebp, dword [rsi + 0x44]
xor ebp, dword [rsi + 0x30]
rol r12d, 5
xor ecx, r9d
xor ebp, dword [rsi + 0x18]
xor ebp, dword [rsi + 0x10]
rol ebp, 1
xor ecx, r11d
ror r8d, 2
lea ecx, [rcx + r12 + 0x6ed9eba1]
mov r12d, eax
ror eax, 2
mov dword [rsi + 0x50], ebp
add ecx, ebp
xor r12d, r9d
xor ebp, dword [rsi + 0x3c]
xor ebp, dword [rsi + 0x24]
add edx, ecx
xor r12d, r8d
mov ecx, dword [rsi + 0x48]
xor ecx, dword [rsi + 0x34]
xor ecx, dword [rsi + 0x1c]
xor ecx, dword [rsi + 0x14]
lea r12d, [r11 + r12 + 0x6ed9eba1]
mov r11d, edx
rol ecx, 1
rol r11d, 5
add r12d, ecx
mov dword [rsi + 0x54], ecx
add r11d, r12d
mov r12d, dword [rsi + 0x4c]
xor r12d, dword [rsi + 0x38]
xor r12d, dword [rsi + 0x20]
xor r12d, dword [rsi + 0x18]
rol r12d, 1
mov dword [rsi + 0x58], r12d
lea r9d, [r12 + r9 + 0x6ed9eba1]
mov r12d, r8d
xor r12d, eax
xor r12d, edx
ror edx, 2
add r9d, r12d
mov r12d, r11d
rol r12d, 5
add r9d, r12d
xor ebp, dword [rsi + 0x1c]
xor ecx, dword [rsi + 0x40]
add rsi, 0x14
rol ebp, 1
xor ecx, dword [rsi + 0x14]
xor ecx, dword [rsi + 0xc]
mov dword [rsi + 0x48], ebp
lea ebp, [rbp + r8 + 0x6ed9eba1]
mov r8d, eax
rol ecx, 1
xor r8d, edx
lea eax, [rcx + rax + 0x6ed9eba1]
mov dword [rsi + 0x4c], ecx
xor r8d, r11d
ror r11d, 2
add ebp, r8d
mov r8d, r9d
rol r8d, 5
add r8d, ebp
mov ebp, edx
xor ebp, r11d
xor ebp, r9d
ror r9d, 2
lea ecx, [rbp + rax]
mov eax, r8d
rol eax, 5
add eax, ecx
cmp rsi, rdi
jne 0x140086a8e
mov rsi, r14
mov ecx, r8d
mov r12d, r8d
mov ebp, dword [rsi + 0x94]
ror r8d, 2
or ecx, r9d
and r12d, r9d
xor ebp, dword [rsi + 0x80]
xor ebp, dword [rsi + 0x68]
and ecx, r11d
xor ebp, dword [rsi + 0x60]
mov r13d, eax
or ecx, r12d
mov r12d, eax
rol ebp, 1
and r13d, r8d
rol r12d, 5
mov dword [rsi + 0xa0], ebp
lea ecx, [rcx + r12 - 0x70e44324]
mov r12d, eax
ror eax, 2
or r12d, r8d
add ecx, ebp
and r12d, r9d
add edx, ecx
mov ecx, dword [rsi + 0x98]
xor ecx, dword [rsi + 0x84]
or r12d, r13d
xor ecx, dword [rsi + 0x6c]
xor ecx, dword [rsi + 0x64]
mov r13d, edx
rol ecx, 1
lea r12d, [r11 + r12 - 0x70e44324]
mov r11d, edx
add r12d, ecx
rol r11d, 5
mov dword [rsi + 0xa4], ecx
add r11d, r12d
mov r12d, eax
mov eax, dword [rsi + 0x9c]
xor eax, dword [rsi + 0x88]
xor eax, dword [rsi + 0x70]
xor eax, dword [rsi + 0x68]
rol eax, 1
mov dword [rsi + 0xa8], eax
lea eax, [r9 + rax - 0x70e44324]
mov r9d, r11d
rol r9d, 5
add eax, r9d
mov r9d, edx
or r9d, r12d
and r9d, r8d
and r13d, r12d
ror edx, 2
add rsi, 0x14
or r9d, r13d
mov r13d, r11d
add r9d, eax
mov eax, dword [rsi + 0x78]
and r13d, edx
xor eax, ebp
mov ebp, r11d
xor eax, dword [rsi + 0x60]
xor eax, dword [rsi + 0x58]
rol eax, 1
or ebp, edx
ror r11d, 2
and ebp, r12d
mov dword [rsi + 0x98], eax
lea eax, [rax + r8 - 0x70e44324]
mov r8d, r9d
or ebp, r13d
rol r8d, 5
add eax, ebp
mov ebp, r9d
add r8d, eax
mov eax, dword [rsi + 0x7c]
and ebp, r11d
xor eax, ecx
xor eax, dword [rsi + 0x64]
xor eax, dword [rsi + 0x5c]
rol eax, 1
lea ecx, [rax + r12 - 0x70e44324]
mov dword [rsi + 0x9c], eax
mov eax, r8d
rol eax, 5
add ecx, eax
mov eax, r9d
ror r9d, 2
or eax, r11d
and eax, edx
or eax, ebp
add eax, ecx
cmp rsi, rdi
jne 0x140086b96
mov ecx, r8d
mov ebp, eax
mov esi, dword [r10 + 0xe4]
ror r8d, 2
xor ecx, r9d
xor esi, dword [r10 + 0xd0]
rol ebp, 5
xor esi, dword [r10 + 0xb8]
xor ecx, r11d
xor esi, dword [r10 + 0xb0]
rol esi, 1
lea ecx, [rbp + rcx - 0x359d3e2a]
mov ebp, eax
ror eax, 2
add ecx, esi
xor ebp, r9d
mov dword [r10 + 0xf0], esi
add edx, ecx
xor ebp, r8d
mov ecx, dword [r10 + 0xe8]
xor ecx, dword [r10 + 0xd4]
xor ecx, dword [r10 + 0xbc]
xor ecx, dword [r10 + 0xb4]
lea ebp, [r11 + rbp - 0x359d3e2a]
mov r11d, edx
rol ecx, 1
rol r11d, 5
add ebp, ecx
mov dword [r10 + 0xf4], ecx
add r11d, ebp
mov ebp, eax
mov eax, dword [r10 + 0xec]
xor eax, dword [r10 + 0xd8]
xor eax, dword [r10 + 0xc0]
xor eax, dword [r10 + 0xb8]
rol eax, 1
mov dword [r10 + 0xf8], eax
lea eax, [r9 + rax - 0x359d3e2a]
mov r9d, r8d
xor r9d, ebp
xor r9d, edx
ror edx, 2
add eax, r9d
mov r9d, r11d
rol r9d, 5
add r9d, eax
mov eax, dword [r10 + 0xdc]
xor eax, esi
xor eax, dword [r10 + 0xc4]
xor eax, dword [r10 + 0xbc]
add r10, 0x14
rol eax, 1
mov dword [r10 + 0xe8], eax
lea eax, [rax + r8 - 0x359d3e2a]
mov r8d, ebp
xor r8d, edx
xor r8d, r11d
ror r11d, 2
add eax, r8d
mov r8d, r9d
rol r8d, 5
add r8d, eax
mov eax, dword [r10 + 0xcc]
xor eax, ecx
xor eax, dword [r10 + 0xb4]
xor eax, dword [r10 + 0xac]
rol eax, 1
lea ecx, [rax + rbp - 0x359d3e2a]
mov dword [r10 + 0xec], eax
mov eax, edx
xor eax, r11d
xor eax, r9d
ror r9d, 2
add ecx, eax
mov eax, r8d
rol eax, 5
add eax, ecx
cmp r10, rdi
jne 0x140086ce6
movd xmm1, r9d
movd xmm4, r11d
movd xmm0, eax
add edx, dword [rsp + 0x4c]
movd xmm5, r8d
punpckldq xmm1, xmm4
mov dword [rbx + 0x18], edx
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
paddd xmm0, xmm6
movups xmmword [rbx + 8], xmm0
movaps xmm6, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret