Function at 0x1400413f0
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, 0x20d37a7c
add rsp, 0x20d379fc
mov rbx, rdx
mov r15, rcx
mov edx, r8d
lea rcx, [rbp - 0x28]
call fcn.1400aae10
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400accc0
test al, al
je 0x1400418d1
xor r14b, r14b
lea rdx, [rbp - 0x48]
mov r8d, 0x5bfde7b1
sub r8d, 0x543016e7
xor r8d, 0x40af4a08
sub r8d, 0x47629aa2
mov byte [rbp - 0x60], r14b
lea rcx, [rbp - 0x28]
call fcn.1400adfe0
test al, al
je 0x1400418d1
xor ebx, ebx
cmp dword [rbp - 0x48], 0x32484346
jne 0x14004154a
cmp dword [rbp - 0x44], 0x20
jne 0x14004154a
mov ecx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x3c]
cmp ecx, 0x40
jne 0x1400414ab
cmp eax, ecx
je 0x140041523
cmp ecx, 0x80
jne 0x1400414bf
cmp eax, ecx
je 0x140041523
cmp ecx, 0x100
jne 0x1400414d3
cmp eax, ecx
je 0x140041523
cmp ecx, 0x200
jne 0x1400414e7
cmp eax, ecx
je 0x140041523
cmp ecx, 0x400
jne 0x1400414fb
cmp eax, ecx
je 0x140041523
cmp ecx, 0x800
jne 0x14004150f
cmp eax, ecx
je 0x140041523
cmp ecx, 0x1000
jne 0x1400418d1
cmp eax, ecx
jne 0x1400418d1
mov edx, dword [rbp - 0x34]
test edx, edx
jle 0x1400418d1
mov r8d, dword [rbp - 0x38]
mov r14b, 0x41
sub r14b, 0xa
add r14b, 0x21
xor r14b, 0x59
mov byte [rbp - 0x60], r14b
jmp 0x140041620
xor edx, edx
lea rcx, [rbp - 0x28]
call fcn.1400ae270
mov r8d, 0x39d0c8ce
add r8d, 0x3f4fe7a1
sub r8d, 0x7920b05f
mov qword [rbp - 0x58], rbx
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x28]
call fcn.1400adfe0
test al, al
je 0x1400418d1
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x54]
cmp ecx, 0x40
jne 0x140041599
cmp eax, ecx
je 0x140041611
cmp ecx, 0x80
jne 0x1400415ad
cmp eax, ecx
je 0x140041611
cmp ecx, 0x100
jne 0x1400415c1
cmp eax, ecx
je 0x140041611
cmp ecx, 0x200
jne 0x1400415d5
cmp eax, ecx
je 0x140041611
cmp ecx, 0x400
jne 0x1400415e9
cmp eax, ecx
je 0x140041611
cmp ecx, 0x800
jne 0x1400415fd
cmp eax, ecx
je 0x140041611
cmp ecx, 0x1000
jne 0x1400418d1
cmp eax, ecx
jne 0x1400418d1
mov edx, dword [rbp - 0x4c]
test edx, edx
jle 0x1400418d1
mov r8d, dword [rbp - 0x50]
xor eax, 0x5d9f74cd
xor ecx, 0x5d9f74cd
xor r8d, 0x5d9f74cd
xor edx, 0x5d9f74cd
mov r9d, 0x544fa539
xor r9d, 0x211e0629
xor r9d, 0x4bea4f86
sub r9d, 0x3ebbe9ae
mov esi, 0x44241905
sub esi, 0x366e31d6
sub esi, 0x5f9a222
sub esi, 0x7bb450e
add r9, r15
mov r10, r15
mov qword [rbp - 0x58], r9
mov dword [r9], ecx
mov dword [r9 + 4], eax
mov eax, 0x47e74d60
add eax, 0x5ac03fa
xor eax, 0x4d9351a5
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 0x140041709
mov edx, 0x7a39125
add edx, 0x55d75280
sub edx, 0x2da3cfd7
xor edx, 0x2fd713de
mov rcx, r12
call fcn.1400c19f0
mov rcx, rax
mov edx, esi
movaps xmm0, xmmword [0x1404ed590]
movups xmmword [rcx], xmm0
lea rcx, [rcx + 0x10]
sub rdx, 1
jne 0x1400416e1
mov qword [r15 + 0x300], rax
test rax, rax
je 0x1400418d1
mov edx, 0x6636d1ed
add edx, 0x1155b8a6
xor edx, 0x4f6caa1c
xor edx, 0x38e0209f
mov rcx, r12
call fcn.1400c19f0
mov rdi, rax
test rax, rax
je 0x1400418d1
test r14b, r14b
je 0x140041900
movsxd rcx, dword [rbp - 0x30]
call fcn.1400c1980
mov r8d, dword [rbp - 0x30]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov r14, rax
call fcn.1400adfe0
test al, al
je 0x1400418c1
mov r8d, dword [rbp - 0x30]
mov eax, 0x45583340
sub eax, 0x453540be
xor eax, 0x22fd72
mov r9d, 0x77257a00
xor r9d, 0x47eda2d0
sub r9d, 0x30b8d8e0
test r13d, r13d
mov rdx, rdi
mov rcx, r14
cmovne r9d, eax
call fcn.14009a5a0
movsxd rcx, eax
cmp rcx, r12
jne 0x1400418c1
mov rcx, r14
call fcn.1400c1990
nop
movups xmm0, xmmword [rdi + rbx]
lea rbx, [rbx + 0x10]
mov rax, qword [r15 + 0x300]
xorps xmm0, xmmword [0x1404ed590]
movups xmmword [rbx + rax - 0x10], xmm0
sub rsi, 1
jne 0x1400417af
mov rcx, rdi
call fcn.1400c19a0
mov rax, qword [rbp - 0x58]
nop
movabs rcx, 0xffffffff66de04a1
add rcx, 0x14eb794a
add rcx, 0x7fffffff
xor rcx, 0x4368215
mov esi, dword [r15 + 0x2ec]
xor esi, 0x5d9f74cd
mov eax, dword [rax]
xor eax, 0x5d9f74cd
imul esi, eax
mov eax, 0x2d87cd95
add eax, 0x1b54ea65
add eax, 0x11b991a6
sub eax, 0x5a96499c
movsxd r14, esi
mul r14
cmovb rax, rcx
mov rcx, rax
call fcn.1400c1980
mov rbx, rax
test rax, rax
je 0x1400418d1
cmp byte [rbp - 0x60], 0
je 0x14004195b
movsxd rcx, dword [rbp - 0x2c]
call fcn.1400c1980
mov r8d, dword [rbp - 0x2c]
lea rcx, [rbp - 0x28]
mov rdx, rax
mov rdi, rax
call fcn.1400adfe0
test al, al
je 0x14004194b
mov r8d, dword [rbp - 0x2c]
lea r9d, [rsi*4]
mov rdx, rbx
mov rcx, rdi
call fcn.14009a5a0
movsxd rcx, eax
lea rax, [r14*4]
cmp rcx, rax
jne 0x14004194b
mov rcx, rdi
call fcn.1400c1990
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x66
sub bl, 0x4c
add bl, 0x5f
sub bl, 0x78
jmp 0x1400418d3
mov rcx, rdi
call fcn.1400c19a0
mov rcx, r14
call fcn.1400c1990
xor bl, bl
lea rcx, [rbp - 0x28]
call fcn.1400aafa0
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 eax, 0x310228c4
xor eax, 0x68283935
sub eax, 0x592a0201
lea rcx, [rbp - 0x28]
mov r8d, 0x1ed99df9
xor r8d, 0x2a7c467
sub r8d, 0x1c6e59ae
test r13d, r13d
mov rdx, rdi
cmovne r8d, eax
call fcn.1400adfe0
test al, al
jne 0x1400417af
mov rcx, rdi
call fcn.1400c19a0
jmp 0x1400418d1
mov rcx, rdi
call fcn.1400c1990
mov rcx, rbx
jmp 0x1400418cc
lea r8d, [rsi*4]
mov rdx, rbx
lea rcx, [rbp - 0x28]
call fcn.1400adfe0
test al, al
je 0x140041953
mov rax, qword [rbp + 0x48]
mov qword [rax], rbx
mov bl, 0x5e
sub bl, 0x18
sub bl, 0x45
jmp 0x1400418d3