Function at 0x140105e7c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rax, qword [0x1405f8008]
xor rax, rsp
mov qword [rbp + 0x50], rax
and qword [rsp + 0x44], 0
lea r13, [0x140000000]
and dword [rsp + 0x40], 0
mov rbx, r9
and dword [rsp + 0x4c], 0
mov r15, r8
cmp dword [rbp + 0xe0], 0
mov r14, rdx
mov qword [rsp + 0x58], r8
mov r12, rcx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
je 0x140105f1a
mov edx, ecx
lea rcx, [rsp + 0x40]
sub edx, r13d
call fcn.1400063b0
mov r8, qword [0x140602c80]
lea rcx, [rbp - 0x70]
movups xmm0, xmmword [rsp + 0x40]
mov rdx, r14
sub r8, r13
movsd xmm1, qword [rsp + 0x50]
sub rdx, r12
movaps xmmword [rbp - 0x70], xmm0
movsd qword [rbp - 0x60], xmm1
call fcn.140105e0c
test r15, r15
je 0x1401062c5
mov eax, r15d
and eax, 7
mov dword [rsp + 0x28], eax
jne 0x140105f52
mov eax, dword [rbp + 0xd0]
xor esi, esi
mov r10d, dword [rsp + 0x28]
xor edi, edi
mov dword [rsp + 0x3c], eax
not eax
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x38]
jmp 0x14010613f
mov edx, dword [rbp + 0xd0]
mov r11, rbx
shr r11, 0x20
mov esi, edx
not esi
movzx r9d, bx
mov ecx, r11d
mov qword [rbp - 0x50], rbx
sub ecx, edx
mov qword [rbp - 0x48], rbx
ror ecx, 3
mov rax, rbx
shr rax, 0x10
mov edi, r11d
movzx r10d, ax
mov eax, edx
imul ecx, r10d
ror eax, 0x16
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x38], rbx
add ecx, eax
mov qword [rbp + 0x48], rbx
xor esi, ecx
mov qword [rbp - 0x30], rbx
xor edi, esi
mov qword [rbp - 0x40], rbx
ror edi, 0x10
mov eax, esi
ror eax, 0x10
imul edi, r9d
mov qword [rbp - 0x20], rbx
mov qword [rbp + 0x30], rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp + 0x20], rbx
xor edi, eax
mov qword [rbp], rbx
xor edi, edx
mov qword [rbp + 0x40], rbx
mov ecx, edi
movzx edx, r11w
sub ecx, ebx
mov qword [rbp - 0x38], rbx
ror ecx, 0x14
mov rax, rbx
shr rax, 0x30
imul ecx, eax
mov r8d, eax
mov eax, edi
mov qword [rbp - 0x28], rbx
ror eax, 0x16
sub ecx, eax
xor esi, ecx
mov ecx, r11d
mov eax, esi
ror eax, 2
xor eax, edx
imul eax, r8d
xor edi, eax
xor ecx, edi
mov eax, edi
ror ecx, 2
imul ecx, r10d
ror eax, 2
add ecx, eax
xor esi, ecx
mov eax, esi
ror eax, 0x1e
lea ecx, [r11 + rsi]
ror ecx, 0xc
imul ecx, r9d
add ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, ebx
ror eax, 0xc
ror ecx, 6
imul ecx, r8d
xor ecx, eax
xor esi, ecx
mov eax, esi
mov qword [rbp - 0x18], rbx
ror eax, 5
mov ecx, ebx
sub ecx, esi
mov qword [rbp - 8], rbx
ror ecx, 0x11
imul ecx, edx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x18], rbx
xor ecx, eax
xor edi, ecx
mov rcx, r12
xor r8d, edi
mov eax, edi
ror eax, 6
imul r8d, r10d
movsxd r10, dword [rsp + 0x28]
mov rdx, r10
add eax, r8d
xor esi, eax
sub r11d, esi
mov dword [rsp + 0x20], esi
ror r11d, 0xb
mov eax, esi
imul r11d, r9d
mov r9, r10
ror eax, 0x15
sub r11d, eax
xor eax, eax
xor edi, r11d
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x24], edi
test r10d, r10d
je 0x1401060d7
lea r8, [rsp + 0x30]
sub r8, r12
mov al, byte [rcx]
mov byte [r8 + rcx], al
inc rcx
sub r9, 1
jne 0x1401060bb
mov edi, dword [rsp + 0x24]
mov esi, dword [rsp + 0x20]
mov rax, qword [rsp + 0x30]
xor edi, dword [rsp + 0x34]
lea r8, [rsp + 0x20]
xor esi, eax
mov dword [rsp + 0x24], edi
mov ecx, 8
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x38], rax
lea r8, [r8 + r10]
sub rcx, rdx
je 0x140106112
mov byte [r8], 0
inc r8
sub rcx, 1
jne 0x1401060fd
mov edi, dword [rsp + 0x24]
mov esi, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
test r10d, r10d
je 0x14010613f
lea rcx, [rsp + 0x20]
mov r9, r14
sub r9, rcx
mov cl, byte [r8]
mov byte [r9 + r8], cl
inc r8
sub rdx, 1
jne 0x140106127
mov edi, dword [rsp + 0x24]
mov esi, dword [rsp + 0x20]
movsxd rcx, r10d
mov r11, r15
add rcx, r14
shr r11, 3
mov qword [rsp + 0x30], rcx
test r11, r11
je 0x1401062be
mov r13, qword [rsp + 0x30]
mov rcx, rbx
shr rcx, 0x10
mov r15, rbx
mov qword [rbp - 0x48], rcx
mov rcx, rbx
shr rcx, 0x20
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r12, qword [rsp + 0x20]
shr r15, 0x30
sub rcx, r14
movzx r8d, bx
mov r14, qword [rbp - 0x48]
mov qword [rbp - 0x50], rcx
mov dword [rsp + 0x28], r8d
xor esi, dword [rcx + r13]
mov edx, r12d
mov rcx, qword [rcx + r13]
mov r9d, r15d
shr rcx, 0x20
xor edi, ecx
movzx r10d, r14w
sub edx, edi
mov ecx, edi
ror edx, 3
imul edx, r10d
ror ecx, 0x16
add edx, ecx
xor esi, edx
mov edx, r12d
xor edx, esi
mov ecx, esi
ror edx, 0x10
imul edx, r8d
ror ecx, 0x10
movzx r8d, r12w
xor edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
sub edx, ebx
ror ecx, 0x16
ror edx, 0x14
imul edx, r15d
sub edx, ecx
xor esi, edx
mov edx, r12d
mov ecx, esi
ror ecx, 2
xor ecx, r8d
imul ecx, r15d
xor edi, ecx
xor edx, edi
mov ecx, edi
ror edx, 2
imul edx, r10d
ror ecx, 2
add edx, ecx
xor esi, edx
mov ecx, esi
ror ecx, 0x1e
lea edx, [r12 + rsi]
ror edx, 0xc
imul edx, dword [rsp + 0x28]
add edx, ecx
xor edi, edx
mov edx, edi
mov ecx, edi
sub edx, ebx
ror ecx, 0xc
ror edx, 6
imul edx, r15d
xor edx, ecx
xor esi, edx
mov edx, ebx
sub edx, esi
mov ecx, esi
ror edx, 0x11
imul edx, r8d
mov r8d, dword [rsp + 0x28]
ror ecx, 5
xor edx, ecx
xor edi, edx
mov edx, r12d
xor r9d, edi
mov ecx, edi
ror ecx, 6
imul r9d, r10d
add ecx, r9d
xor esi, ecx
sub edx, esi
mov ecx, esi
ror edx, 0xb
imul edx, r8d
ror ecx, 0x15
sub edx, ecx
xor esi, dword [rsp + 0x38]
xor edi, edx
mov rcx, qword [rbp - 0x50]
shr rax, 0x20
xor edi, eax
mov rax, qword [rcx + r13]
mov dword [r13], esi
mov dword [r13 + 4], edi
lea r13, [r13 + 8]
mov qword [rsp + 0x38], rax
sub r11, 1
jne 0x140106199
mov r14, qword [rsp + 0x68]
lea r13, [0x140000000]
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov bl, byte [r15 + r14 - 1]
jmp 0x1401062c9
mov bl, byte [rsp + 0x2c]
cmp dword [rbp + 0xe0], 0
je 0x140106304
mov rax, qword [0x140602c80]
lea rcx, [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x40]
sub r13, rax
sub r14, r12
movsd xmm1, qword [rsp + 0x50]
mov r8, r13
mov rdx, r14
movaps xmmword [rsp + 0x70], xmm0
movsd qword [rbp - 0x80], xmm1
call fcn.140105e0c
cmp bl, byte [rbp + 0xd8]
je 0x140106311
call fcn.140108048
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14001af80
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret