Function at 0x14002efd0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r9
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x2fa19fed
add rsp, 0x2fa19f6d
mov rbx, rdx
mov r15, rcx
mov edx, r8d
lea rcx, [rbp - 0x28]
call fcn.1400a1660
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400a3110
test al, al
je 0x14002f340
xor r14b, r14b
lea rdx, [rbp - 0x48]
mov r8d, 0x107a7176
xor r8d, 0x5d9cf001
xor r8d, 0x4de68157
mov byte [rbp - 0x60], r14b
lea rcx, [rbp - 0x28]
call fcn.1400a44e0
test al, al
je 0x14002f340
xor ebx, ebx
cmp dword [rbp - 0x48], 0x32484346
jne 0x14002f123
cmp dword [rbp - 0x44], 0x20
jne 0x14002f123
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x3c]
cmp ecx, 0x40
jne 0x14002f084
cmp eax, ecx
je 0x14002f0fc
cmp ecx, 0x80
jne 0x14002f098
cmp eax, ecx
je 0x14002f0fc
cmp ecx, 0x100
jne 0x14002f0ac
cmp eax, ecx
je 0x14002f0fc
cmp ecx, 0x200
jne 0x14002f0c0
cmp eax, ecx
je 0x14002f0fc
cmp ecx, 0x400
jne 0x14002f0d4
cmp eax, ecx
je 0x14002f0fc
cmp ecx, 0x800
jne 0x14002f0e8
cmp eax, ecx
je 0x14002f0fc
cmp ecx, 0x1000
jne 0x14002f340
cmp eax, ecx
jne 0x14002f340
mov edx, dword [rbp - 0x34]
test edx, edx
jle 0x14002f340
mov r8d, dword [rbp - 0x38]
mov r14b, 0x60
xor r14b, 0x3c
xor r14b, 0x3c
xor r14b, 0x61
mov byte [rbp - 0x60], r14b
jmp 0x14002f1f9
xor edx, edx
lea rcx, [rbp - 0x28]
call fcn.1400a4770
mov r8d, 0x7523abdc
sub r8d, 0x1995ed8a
xor r8d, 0x5b8dbe42
mov qword [rbp - 0x58], rbx
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x28]
call fcn.1400a44e0
test al, al
je 0x14002f340
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
cmp ecx, 0x40
jne 0x14002f172
cmp eax, ecx
je 0x14002f1ea
cmp ecx, 0x80
jne 0x14002f186
cmp eax, ecx
je 0x14002f1ea
cmp ecx, 0x100
jne 0x14002f19a
cmp eax, ecx
je 0x14002f1ea
cmp ecx, 0x200
jne 0x14002f1ae
cmp eax, ecx
je 0x14002f1ea
cmp ecx, 0x400
jne 0x14002f1c2
cmp eax, ecx
je 0x14002f1ea
cmp ecx, 0x800
jne 0x14002f1d6
cmp eax, ecx
je 0x14002f1ea
cmp ecx, 0x1000
jne 0x14002f340
cmp eax, ecx
jne 0x14002f340
mov edx, dword [rbp - 0x4c]
test edx, edx
jle 0x14002f340
mov r8d, dword [rbp - 0x50]
xor eax, 0x69c128d
xor ecx, 0x69c128d
xor r8d, 0x69c128d
xor edx, 0x69c128d
mov r9d, 0x2c40f00b
add r9d, 0x371e1ae3
sub r9d, 0x5c1ca733
xor r9d, 0x7426153
mov esi, 0x62da9d82
xor esi, 0x3da641
sub esi, 0x275b5b51
sub esi, 0x3b8ae073
add r9, r15
mov r10, r15
mov qword [rbp - 0x58], r9
mov dword [r9], ecx
mov dword [r9 + 4], eax
mov eax, 0x4f253215
add eax, 0x1ca084c7
xor eax, 0x93ae884
xor eax, 0x62ff5ea7
mov dword [r15 + 0x2f4], r8d
mov dword [r15 + 0x30c], edx
mov r13d, dword [r15 + 0x2d8]
and r13d, 0x2000
cmovne esi, eax
mov r12d, esi
shl r12, 4
cmp qword [r15 + 0x300], rbx
jne 0x14002f2d8
mov edx, 0x1f4253d
add edx, 0x6c08286
sub edx, 0x8b4a7b3
mov rcx, r12
call fcn.1400b6eb0
mov rcx, rax
mov edx, esi
movaps xmm0, xmmword [0x1404dc560]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, 1
jne 0x14002f2b9
mov qword [r15 + 0x300], rax
mov edx, 0x18b60e24
xor edx, 0x35cda636
add edx, 0x11fd6cd4
xor edx, 0x3f7914f6
mov rcx, r12
call fcn.1400b6eb0
mov rdi, rax
test rax, rax
je 0x14002f340
test r14b, r14b
je 0x14002f496
movsxd rcx, dword [rbp - 0x30]
call fcn.1400b6e40
mov r8d, dword [rbp - 0x30]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov r14, rax
call fcn.1400a44e0
test al, al
jne 0x14002f36f
mov rcx, rdi
call fcn.1400b6e60
mov rcx, r14
call fcn.1400b6e50
xor bl, bl
lea rcx, [rbp - 0x28]
call fcn.1400a1720
lea r11, [rsp + 0x80]
movzx eax, bl
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r8d, dword [rbp - 0x30]
mov eax, 0x2cf5ef33
add eax, 0x1c3d54d8
sub eax, 0x4933341b
mov r9d, 0x1b0d27a2
xor r9d, 0x681271f8
sub r9d, 0x730f566a
test r13d, r13d
mov rdx, rdi
mov rcx, r14
cmovne r9d, eax
call fcn.140091940
movsxd rcx, eax
cmp rcx, r12
jne 0x14002f330
mov rcx, r14
call fcn.1400b6e50
nop dword [rax]
movups xmm0, xmmword [rbx + rdi]
lea rbx, [rbx + 0x10]
mov rax, qword [r15 + 0x300]
xorps xmm0, xmmword [0x1404dc560]
movups xmmword [rbx + rax - 0x10], xmm0
sub rsi, 1
jne 0x14002f3c3
mov rcx, rdi
call fcn.1400b6e60
mov rax, qword [rbp - 0x58]
nop
movabs rcx, 0xffffffff054f14d5
add rcx, 0x124d0aa7
add rcx, 0x7fffffff
add rcx, 0x6863e084
mov esi, dword [r15 + 0x2ec]
xor esi, 0x69c128d
mov eax, dword [rax]
xor eax, 0x69c128d
imul esi, eax
mov eax, 0x771ff676
xor eax, 0xa5ac3bf
sub eax, 0x7d4535c5
movsxd r14, esi
mul r14
cmovo rax, rcx
mov rcx, rax
call fcn.1400b6e40
mov rbx, rax
test rax, rax
je 0x14002f340
cmp byte [rbp - 0x60], 0
je 0x14002f52d
movsxd rcx, dword [rbp - 0x2c]
call fcn.1400b6e40
mov r8d, dword [rbp - 0x2c]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov rdi, rax
call fcn.1400a44e0
mov rcx, rdi
test al, al
jne 0x14002f4e6
call fcn.1400b6e50
mov rcx, rbx
jmp 0x14002f33b
mov eax, 0x7bff5fe3
add eax, 0x27e3198
xor eax, 0x46e53c79
xor eax, 0x3898a2f2
lea rcx, [rbp - 0x28]
mov r8d, 0x1a29e6c2
add r8d, 0x3a5f14eb
sub r8d, 0x5478fbbd
test r13d, r13d
mov rdx, rdi
cmovne r8d, eax
call fcn.1400a44e0
test al, al
jne 0x14002f3c3
mov rcx, rdi
call fcn.1400b6e60
jmp 0x14002f340
mov r8d, dword [rbp - 0x2c]
lea r9d, [rsi*4]
mov rdx, rbx
call fcn.140091940
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
mov rcx, rdi
jne 0x14002f489
call fcn.1400b6e50
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x5c
sub bl, 0x12
add bl, 0x23
sub bl, 0x6c
jmp 0x14002f342
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400a44e0
test al, al
je 0x14002f48e
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x21
sub bl, 4
add bl, 0xd
xor bl, 0x2b
jmp 0x14002f342