Function at 0x140124f90
Capabilities:
Encode data using xor

Disassembly:
xchg rcx, rsp
mov rax, rcx
xchg rsp, rcx
xchg rbx, rdi
mov qword [rax + 8], rdi
xchg rdi, rbx
xchg r8, rsi
mov qword [rax + 0x10], r8
xchg rsi, r8
mov qword [rax + 0x18], rdi
xchg r12, r12
xchg r8, r12
mov qword [rax + 0x20], r8
xchg r8, r12
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
push r15
mov r14, r14
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
xchg r9, rdx
mov rsi, r9
xchg rdx, r9
lea rdx, [rbp + 7]
mov dword [rsp - 0xc], edi
call fcn.140124b90
xchg r10, r15
mov r10, qword [rbp + 0x3f]
xchg r15, r10
lea rax, [rbp - 0x31]
mov rbp, rbp
xchg rbx, rcx
mov rcx, qword [rbp + 7]
xchg rcx, rbx
lea rcx, [rbp - 0x39]
xchg rdi, rdi
xorps xmm0, xmm0
mov qword [rbp - 0x39], rax
xchg r13, rbp
movups xmmword [r13 - 0x31], xmm0
xchg rbp, r13
lea rdx, [r15 + 1]
xchg r10, rbp
movups xmmword [r10 - 0x21], xmm0
xchg r10, rbp
xchg rbx, rbp
movups xmmword [rbx - 0x11], xmm0
xchg rbp, rbx
call fcn.140017bec
xor edi, edi
mov r14d, 0x44975540
sub r14d, 0x36326414
xor r14d, 0x5c34125e
add r14d, 0x175f811b
sub r14d, 0xc2d32d5
mov r8, rax
xchg r12, r12
mov edx, r14d
mov r12d, 0x127cc239
add r12d, 0x4adf8ec8
sub r12d, 0x81fd4ac
sub r12d, 0x553c7b56
test r15, r15
je 0x1401250ef
mov dword [rsp - 0x1c], 0x6d2dc21d
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
sub rbx, rax
xchg rdx, rdx
xchg r9, rsi
mov rsi, r15
xchg r9, rsi
movzx eax, dx
mov dword [rsp - 0xc], esi
ror edx, 6
ror edx, 1
ror edx, 1
and ax, r12w
mov dword [rsp - 0x2c], 0x3e803f89
xor ax, word [rbx + rcx]
mov word [rcx], ax
lea rcx, [rcx + 2]
sub r9, 1
mov dword [rsp - 0x38], 0x48a965a9
jne 0x1401250b8
mov word [r8 + r15*2], di
mov edx, 0x5d893008
xor edx, 0x2f2f338
sub edx, 0x2372133e
xor edx, 0x3c09afdc
mov rcx, qword [rbp - 0x39]
call fcn.140098f80
xchg rbx, rbx
lea rcx, [rsi + 8]
xorps xmm0, xmm0
test rax, rax
je 0x1401251d2
xchg rsi, rsi
mov word [rax], di
or rdx, 0xffffffffffffffff
mov rbx, qword [rbp - 0x39]
xchg rcx, r12
mov qword [rsi], r12
xchg r12, rcx
xchg r9, rcx
movups xmmword [r9], xmm0
xchg rcx, r9
xchg r8, rcx
movups xmmword [r8 + 0x10], xmm0
xchg rcx, r8
movups xmmword [rcx + 0x20], xmm0
xchg rsi, rsi
inc rdx
cmp word [rbx + rdx*2], di
jne 0x14012515a
mov rsi, rsi
mov rcx, rsi
xchg rdx, rdi
mov qword [rsi + 0x38], rdi
xchg rdx, rdi
call fcn.140017bec
mov dword [rsp - 0x14], 0xe3159a1
cmp qword [rsi + 0x38], rdi
jbe 0x140125242
sub rbx, rax
movzx ecx, r14w
xchg r11, r11
inc rdi
and cx, r12w
ror r14d, 4
ror r14d, 1
ror r14d, 2
ror r14d, 1
xor cx, word [rbx + rax]
mov r9, r9
mov word [rax], cx
lea rax, [rax + 2]
cmp rdi, qword [rsi + 0x38]
mov dword [rsp - 0x18], 0x56f1362
jb 0x140125191
jmp 0x140125242
xchg rdx, r15
mov r15, qword [rbp + 0x3f]
xchg rdx, r15
xchg rcx, rbx
mov qword [rsi], rbx
xchg rcx, rbx
movups xmmword [rcx], xmm0
mov dword [rsp - 0x28], 0x7aeaf693
movups xmmword [rcx + 0x10], xmm0
xchg rbp, rcx
movups xmmword [rbp + 0x20], xmm0
xchg rcx, rbp
mov rcx, rsi
xchg r14, rdx
mov qword [rsi + 0x38], r14
xchg r14, rdx
call fcn.140017bec
mov dword [rsp - 0x2c], 0x7793d741
cmp qword [rsi + 0x38], rdi
jbe 0x140125242
mov rcx, qword [rbp + 7]
mov r13, r13
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rsi + 0x38]
mov dword [rsp - 0x2c], esp
jb 0x140125222
mov rcx, qword [rbp - 0x39]
lea rax, [rbp - 0x31]
mov rsp, rsp
mov ebx, 0x23428789
add ebx, 0x1fc1408a
add ebx, 0x16e40cd9
xor ebx, 0x59e7d4dc
cmp rcx, rax
mov dword [rsp - 0x38], 0x5c53073f
jne 0x140125287
lea rdi, [rbp - 0x31]
xor eax, eax
mov rcx, rcx
mov ecx, ebx
rep stosb byte [rdi], al
jmp 0x140125290
call fcn.140097d00
mov dword [rsp - 0x10], ecx
xchg rdx, rcx
mov rdx, qword [rbp + 7]
xchg rcx, rdx
lea rax, [rbp + 0xf]
mov rsp, rsp
cmp rcx, rax
jne 0x1401252c3
xchg rcx, rsi
mov rsi, rbx
xchg rsi, rcx
lea rdi, [rbp + 0xf]
xchg r12, r12
xor eax, eax
rep stosb byte [rdi], al
jmp 0x1401252c8
call fcn.140097d00
lea r11, [rsp + 0xa0]
xchg rsi, rdi
mov rax, rdi
xchg rdi, rsi
mov rbx, qword [r11 + 0x20]
mov rsp, rsp
xchg r14, rsi
mov r14, qword [r11 + 0x28]
xchg r14, rsi
mov rdi, qword [r11 + 0x30]
mov dword [rsp - 0x30], edi
mov r12, qword [r11 + 0x38]
xchg rbx, r11
mov rsp, rbx
xchg rbx, r11
pop r15
mov dword [rsp - 0x44], esi
pop r14
pop rbp
ret