Function at 0x14003faa0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movaps xmmword [rsp + 0x140], xmm6
mov rbx, rdx
mov r15, rcx
mov dword [rsp + 0x70], 0x8e8
mov byte [rsp + 0x74], 0
mov word [rsp + 0x7d], 0xba48
mov word [rbp - 0x79], 0xff58
mov byte [rbp - 0x77], 0x20
mov r12d, 5
cmp qword [0x140134d70], 0xffffffffffffffff
je 0x140040143
lea rax, [rbp - 0x28]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], 0x33352e11
mov dword [rsp + 0x44], 0x62b2632
mov dword [rsp + 0x48], 0x24282b2b
mov word [rsp + 0x4c], 0x3f02
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x68], eax
movzx eax, word [rsp + 0x4c]
mov word [rsp + 0x6c], ax
mov byte [rsp + 0x6e], 0x47
mov rdx, qword [0x14013aa40]
test rdx, rdx
jne 0x14003fb93
lea ecx, [rdx + 0xf]
call fcn.140075634
mov rdx, rax
mov qword [0x14013aa40], rax
mov rcx, rax
lea r9, [rsp + 0x60]
sub r9, rax
lea r8d, [r12 + 0xa]
nop word [rax + rax]
movzx eax, byte [r9 + rcx]
xor al, 0x47
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14003fb80
xor r14d, r14d
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], r14b
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rdx + r8], r14b
jne 0x14003fbb0
lea rcx, [rbp - 0x28]
call fcn.1400064d0
nop
mov dword [rsp + 0x40], 0xb17000e
mov dword [rsp + 0x44], 0x77760900
mov dword [rsp + 0x48], 0x2929216b
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x68], eax
mov byte [rsp + 0x6c], 0x45
mov esi, 0xd
mov rdx, qword [0x14013acc8]
test rdx, rdx
jne 0x14003fc43
mov ecx, esi
call fcn.140075634
mov rdx, rax
mov qword [0x14013acc8], rax
mov rcx, rax
lea r9, [rsp + 0x60]
sub r9, rax
mov r8d, esi
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 + rcx]
xor al, 0x45
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14003fc30
mov qword [rbp + 8], r14
mov qword [rbp + 0x10], 0xf
mov byte [rbp - 8], 0
mov r8, rdi
inc r8
cmp byte [rdx + r8], 0
jne 0x14003fc56
lea rcx, [rbp - 8]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 8]
call fcn.140046060
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x1000
mov r8d, 0x208
mov rcx, rdi
call rax
mov r13, rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x50], 0x3f39221d
mov dword [rsp + 0x54], 0x7272a3e
mov dword [rsp + 0x58], 0x4b202824
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x48], eax
mov r14d, 0xc
mov r9, qword [0x14013ae48]
test r9, r9
jne 0x14003fd13
mov ecx, r14d
call fcn.140075634
mov r9, rax
mov qword [0x14013ae48], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
mov edx, r14d
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor al, 0x4b
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14003fd00
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x14003fd30
mov rdx, r9
lea rcx, [rbp - 0x70]
call fcn.1400064d0
nop
mov dword [rsp + 0x40], 0x71b0c02
mov dword [rsp + 0x44], 0x7b7a050c
mov dword [rsp + 0x48], 0x25252d67
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x5c], 0x49
mov r9, qword [0x14013ab00]
test r9, r9
jne 0x14003fdc3
mov rcx, rsi
call fcn.140075634
mov r9, rax
mov qword [0x14013ab00], rax
mov rcx, rax
lea r8, [rsp + 0x50]
sub r8, rax
mov rdx, rsi
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor al, 0x49
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x14003fdb0
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [r9 + r8], 0
jne 0x14003fde0
mov rdx, r9
lea rcx, [rbp - 0x50]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400436c0
mov edx, 0x208
mov rcx, r13
call rax
mov qword [rsp + 0x75], r15
mov qword [rsp + 0x7f], rbx
lea rbx, [r13 + 8]
mov qword [r13], rbx
mov qword [rbp - 0x30], rbx
lea rcx, [r13 + 0x22]
xor edx, edx
mov r8d, 0x1e6
call fcn.140081bd0
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rbp - 0x80]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbp - 0x78]
mov word [rbx + 0x18], ax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x60], rax
movdqa xmm6, xmmword [0x140120f40]
movdqa xmmword [rsp + 0x40], xmm6
mov rdx, qword [0x14013ab38]
test rdx, rdx
jne 0x14003fed5
mov ebx, 0x10
mov ecx, ebx
call fcn.140075634
mov rdx, rax
mov qword [0x14013ab38], rax
add rax, 0xf
lea rcx, [rsp + 0x4f]
cmp rdx, rcx
ja 0x14003fec5
lea rcx, [rsp + 0x40]
cmp rax, rcx
jb 0x14003fec5
mov rcx, rdx
lea r8, [rsp + 0x40]
sub r8, rdx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor al, 0x4f
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rbx, 1
jne 0x14003feb0
jmp 0x14003fed5
movdqa xmm0, xmmword [0x140120f50]
pxor xmm0, xmm6
movdqu xmmword [rdx], xmm0
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], bl
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], bl
jne 0x14003fef0
lea rcx, [rsp + 0x70]
call fcn.1400064d0
nop
mov dword [rsp + 0x40], 0x31f0806
mov dword [rsp + 0x44], 0x7f7e0108
mov dword [rsp + 0x48], 0x21212963
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x5c], 0x4d
mov rdx, qword [0x14013ac50]
test rdx, rdx
jne 0x14003ff74
mov rcx, rsi
call fcn.140075634
mov rdx, rax
mov qword [0x14013ac50], rax
mov rcx, rax
lea r9, [rsp + 0x50]
sub r9, rax
mov r8, rsi
movzx eax, byte [r9 + rcx]
xor al, 0x4d
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x14003ff61
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], 0xf
mov byte [rbp + 0x18], 0
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x14003ff90
lea rcx, [rbp + 0x18]
call fcn.1400064d0
nop
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x18]
call fcn.1400462b0
mov qword [rsp + 0x38], rbx
lea rcx, [rbp + 0xa0]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 4
lea rcx, [rbp + 0xa8]
mov qword [rsp + 0x20], rcx
mov r9d, 8
lea r8, [rbp - 0x30]
mov edx, 0xaa013044
mov rcx, qword [0x140134d70]
call rax
test eax, eax
cmovne r12d, ebx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x50], 0x27213a05
mov dword [rsp + 0x54], 0x153f3226
mov dword [rsp + 0x58], 0x53363621
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x48], eax
mov rdx, qword [0x14013ab60]
test rdx, rdx
jne 0x140040066
mov rcx, r14
call fcn.140075634
mov rdx, rax
mov qword [0x14013ab60], rax
mov rcx, rax
lea r8, [rsp + 0x40]
sub r8, rax
movzx eax, byte [r8 + rcx]
xor al, 0x53
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r14, 1
jne 0x140040053
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140040080
lea rcx, [rbp - 0x50]
call fcn.1400064d0
nop
mov dword [rsp + 0x40], 0x1f03141a
mov dword [rsp + 0x44], 0x63621d14
mov dword [rsp + 0x48], 0x3d3d357f
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x5c], 0x51
mov rdx, qword [0x14013ae40]
test rdx, rdx
jne 0x140040103
mov rcx, rsi
call fcn.140075634
mov rdx, rax
mov qword [0x14013ae40], rax
mov rcx, rax
lea r8, [rsp + 0x50]
sub r8, rax
nop
movzx eax, byte [r8 + rcx]
xor al, 0x51
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rsi, 1
jne 0x1400400f0
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
inc rdi
cmp byte [rdx + rdi], 0
jne 0x140040113
mov r8, rdi
lea rcx, [rbp - 0x70]
call fcn.1400064d0
nop
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x70]
call fcn.140046500
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call rax
mov eax, r12d
mov rbx, qword [rsp + 0x190]
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x150
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret