Function at 0x140107584
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 [0x1405fa008]
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 0x140107622
mov edx, ecx
lea rcx, [rsp + 0x40]
sub edx, r13d
call fcn.1400063e0
mov r8, qword [0x140604c80]
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.140106acc
test r15, r15
je 0x1401079cf
mov eax, r15d
and eax, 7
mov dword [rsp + 0x28], eax
jne 0x14010765a
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 0x140107849
mov edx, dword [rbp + 0xd0]
mov r8, rbx
shr r8, 0x20
mov ecx, edx
sub ecx, r8d
movzx r9d, r8w
ror ecx, 0xb
mov edi, r8d
mov esi, edx
movzx r11d, bx
not esi
mov qword [rbp - 0x50], rbx
mov rax, rbx
mov qword [rbp - 0x48], rbx
shr rax, 0x10
movzx r10d, ax
mov eax, edx
imul ecx, r10d
ror eax, 0xa
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x38], rbx
xor ecx, eax
mov qword [rbp + 0x48], rbx
xor esi, ecx
mov qword [rbp - 0x30], rbx
sub edi, esi
mov qword [rbp - 0x40], rbx
ror edi, 4
mov eax, esi
ror eax, 0xe
mov ecx, r10d
imul edi, r11d
mov qword [rbp - 0x20], rbx
mov qword [rbp + 0x30], rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp + 0x20], rbx
add edi, eax
mov qword [rbp], rbx
xor edi, edx
mov qword [rbp + 0x40], rbx
xor ecx, edi
mov rax, rbx
rol ecx, 3
shr rax, 0x30
imul ecx, eax
mov edx, eax
mov eax, edi
ror eax, 9
xor ecx, eax
xor esi, ecx
mov ecx, ebx
xor ecx, esi
mov eax, esi
ror ecx, 3
imul ecx, r9d
ror eax, 0x17
add ecx, eax
xor edi, ecx
xor r8d, edi
mov eax, edi
shr eax, 6
rol r8d, 1
imul r8d, r10d
sub r8d, eax
mov eax, r10d
xor esi, r8d
xor eax, esi
mov ecx, esi
ror ecx, 0xf
imul eax, r11d
xor ecx, eax
xor edi, ecx
mov ecx, ebx
xor ecx, edi
mov eax, edi
ror ecx, 0x1f
imul ecx, edx
ror eax, 1
xor ecx, eax
xor esi, ecx
mov ecx, esi
mov qword [rbp - 0x38], rbx
sub ecx, edx
mov qword [rbp - 0x28], rbx
imul ecx, r9d
mov eax, esi
shr eax, 6
mov qword [rbp - 0x18], rbx
mov qword [rbp - 8], rbx
mov qword [rbp + 8], rbx
sub ecx, eax
mov qword [rbp + 0x18], rbx
xor edi, ecx
mov ecx, r9d
xor ecx, edi
mov eax, edi
shr eax, 9
imul ecx, r10d
movsxd r10, dword [rsp + 0x28]
mov rdx, r10
xor ecx, eax
xor esi, ecx
mov rcx, r12
xor r9d, esi
mov dword [rsp + 0x20], esi
rol r9d, 4
mov eax, esi
imul r9d, r11d
shr eax, 6
add r9d, eax
xor eax, eax
xor edi, r9d
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x24], edi
mov r9, r10
test r10d, r10d
je 0x1401077e1
lea r8, [rsp + 0x30]
sub r8, r12
mov al, byte [rcx]
mov byte [r8 + rcx], al
inc rcx
sub r9, 1
jne 0x1401077c5
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 0x14010781c
mov byte [r8], 0
inc r8
sub rcx, 1
jne 0x140107807
mov edi, dword [rsp + 0x24]
mov esi, dword [rsp + 0x20]
lea r8, [rsp + 0x20]
test r10d, r10d
je 0x140107849
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 0x140107831
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 0x1401079c8
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 rcx, qword [rcx + r13]
shr rcx, 0x20
xor edi, ecx
movzx r10d, r14w
mov edx, edi
movzx r9d, r12w
sub edx, r12d
mov ecx, edi
ror edx, 0xb
imul edx, r10d
ror ecx, 0xa
xor edx, ecx
xor esi, edx
mov edx, r12d
sub edx, esi
mov ecx, esi
ror edx, 4
imul edx, r8d
mov r8d, dword [rsp + 0x28]
ror ecx, 0xe
add edx, ecx
xor edi, edx
mov edx, r10d
xor edx, edi
mov ecx, edi
rol edx, 3
imul edx, r15d
ror ecx, 9
xor edx, ecx
xor esi, edx
mov edx, ebx
xor edx, esi
mov ecx, esi
ror edx, 3
imul edx, r9d
ror ecx, 0x17
add edx, ecx
xor edi, edx
mov edx, r12d
xor edx, edi
mov ecx, edi
rol edx, 1
imul edx, r10d
shr ecx, 6
sub edx, ecx
mov ecx, r10d
xor esi, edx
xor ecx, esi
mov edx, esi
imul ecx, dword [rsp + 0x28]
ror edx, 0xf
xor edx, ecx
xor edi, edx
mov edx, ebx
xor edx, edi
mov ecx, edi
ror edx, 0x1f
imul edx, r15d
ror ecx, 1
xor edx, ecx
xor esi, edx
mov edx, esi
mov ecx, esi
sub edx, r15d
shr ecx, 6
imul edx, r9d
sub edx, ecx
xor edi, edx
mov edx, r9d
xor edx, edi
mov ecx, edi
shr ecx, 9
imul edx, r10d
xor edx, ecx
xor esi, edx
xor r9d, esi
mov ecx, esi
rol r9d, 4
imul r9d, r8d
shr ecx, 6
xor esi, dword [rsp + 0x38]
add r9d, ecx
mov rcx, qword [rbp - 0x50]
xor edi, r9d
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 0x1401078a3
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 0x1401079d3
mov bl, byte [rsp + 0x2c]
cmp dword [rbp + 0xe0], 0
je 0x140107a0e
mov rax, qword [0x140604c80]
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.140106acc
cmp bl, byte [rbp + 0xd8]
je 0x140107a1b
call fcn.140108d08
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.14001af10
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret