Function at 0x1401bad30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov rdi, rcx
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x48], rax
lea rax, [0x140405620]
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], 0
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
lea r12, [0x1403fe9c8]
mov qword [rbp - 0x20], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
mov byte [rbp + 0x28], 1
mov dword [rbp + 0x2c], 1
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], 0
lea rax, [0x140400878]
mov qword [rbp + 8], rax
mov byte [rbp - 0x38], 0
mov rax, qword [rdi]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
mov rax, qword [rdi + 8]
mov eax, dword [rax]
mov dword [rbp - 0x28], eax
mov rax, qword [rdi + 0x10]
mov eax, dword [rax]
mov dword [rbp - 0x24], eax
mov rdx, qword [rdi + 0x18]
call fcn.140243cb0
cmp qword [0x140531678], 0
je 0x1401baed1
mov rax, qword [0x140531678]
mov r14, qword [rax + 0x38]
mov rax, qword [rdi]
mov rax, qword [rax]
mov ebx, dword [rax]
mov edi, dword [rax + 4]
lea rsi, [rbp + 0x10]
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1401bae58
mov eax, 0xb06d6aec
add eax, dword [0x1404e4c80]
cmp dword [rbp + 0x2c], eax
jne 0x1401bae36
mov r8, qword [rbp + 0x18]
xor edx, edx
call fcn.1403e40c0
mov eax, dword [0x140531c14]
cmp eax, 0x59
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1401bae58
mov edx, 0x1cbff453
mov r8d, 0x60f090f5
call fcn.1400a6550
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov byte [rbp + 0x28], 1
cmp byte [0x1405317c8], 0
jne 0x1401bafda
test edi, edi
je 0x1401bafda
add rbx, r14
mov eax, dword [0x140531c14]
nop dword [rax + rax]
mov eax, dword [0x140531c10]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401bae90
mov rcx, rdi
call fcn.1403bba74
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x18], rdi
test r14, r14
je 0x1401bafc7
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call fcn.1403e3a10
jmp 0x1401bafda
mov ecx, 0xe8
call fcn.1403bba7c
mov rbx, rax
lea r13, [0x1403fe968]
movabs r15, 0x52135586826ba6ed
xorps xmm6, xmm6
mov esi, 0xb06d6afb
lea r14, [0x1401bb200]
nop
mov eax, dword [0x140531c14]
cmp eax, 0x15
jg 0x1401baf5c
mov qword [rbx], r13
mov rax, qword [0x1404e4c70]
add rax, r15
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], 0xf
mov byte [rbx + 0x18], 0
mov qword [rbx + 0x10], r12
movzx eax, byte [0x1404e4c78]
add al, 0x1e
mov byte [rbx + 8], al
mov byte [rbx + 9], 0
mov word [rbx + 0xa], 0
movups xmmword [rbx + 0x38], xmm6
mov qword [0x140531678], rbx
mov eax, dword [0x140531c14]
cmp eax, 0x38
jle 0x1401badf8
mov qword [rbx], r13
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x30], 0xf
mov byte [rbx + 0x18], 0
mov qword [rbx + 0x10], r12
mov dword [rbx + 8], 0
movups xmmword [rbx + 0x38], xmm6
mov ecx, dword [0x1404e4c80]
add ecx, esi
call fcn.14039c114
mov qword [0x140531c08], rax
mov rcx, r14
call fcn.1403bbdc0
mov qword [0x140531678], rbx
mov eax, dword [0x1404e4c80]
mov ecx, eax
xor ecx, 0xb06d6aeb
and eax, 0x306d6aeb
add eax, eax
add eax, ecx
jne 0x1401baf00
jmp 0x1401baf0b
cmp dword [rbp + 0x2c], 1
jne 0x1401bafda
mov rcx, rax
xor edx, edx
mov r8, rdi
call fcn.1403e40c0
mov rsi, qword [rbp + 0x30]
jmp 0x1401bafe4
add rsi, 8
cmp rsi, qword [rbp + 0x38]
je 0x1401bb006
mov rcx, qword [rsi]
test rcx, rcx
je 0x1401bafe0
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [case.0x1401138cb.0]
jmp 0x1401bafe0
mov rcx, qword [rbp - 0x48]
add rcx, 0x20
lea rdx, [rbp - 0x58]
lea r8, [rbp - 0x40]
call fcn.1401ba0b0
lea rcx, [rbp + 8]
lea rax, [0x140405620]
mov qword [rbp - 0x40], rax
call fcn.140073e00
mov r8, qword [rbp]
cmp r8, 0x10
jb 0x1401bb129
mov eax, dword [0x140531c10]
mov ecx, dword [0x1404e4c80]
neg ecx
add ecx, eax
add ecx, 0x4f929514
imul ecx, eax
test cl, 1
nop dword [rax]
mov rcx, qword [rbp - 0x18]
mov rax, qword [0x1405319b0]
mov edx, dword [0x140531c10]
lea r9d, [rdx + 1]
imul r9d, edx
test r9b, 1
jne 0x1401bb060
lea rdx, [r8 + 1]
mov r9, rax
xor r9, rdx
and rax, rdx
lea rdx, [r9 + rax*2]
cmp rdx, 0x1000
jb 0x1401bb124
mov eax, dword [0x140531c10]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401bb0c0
jmp 0x1401bb0b0
mov al, 1
test al, al
jne 0x1401bb0f1
nop word cs:[rax + rax]
mov edx, dword [0x140531c10]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1404e4c80]
mov r9d, edx
xor r9d, 0xb06d6aed
and edx, 0x306d6aed
lea r9d, [r9 + rdx*2]
xor edx, edx
div r9d
test edx, edx
jne 0x1401bb0c0
jmp 0x1401bb0b0
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
movabs rdx, 0x52135586826ba70d
add rdx, qword [0x1404e4c70]
cmp rcx, rdx
jae 0x1401bb141
cmp qword [0x1405319b0], 0
add r8, 0x28
mov rdx, r8
mov rcx, rax
call fcn.1400a6550
movaps xmm6, xmmword [rbp + 0x50]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140531c14]
cmp eax, 0x33
jg 0x1401bb15d
mov eax, dword [0x140531c10]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401bb184
mov eax, 0xb06d6b27
nop word cs:[rax + rax]
mov ecx, dword [0x140531c14]
mov edx, dword [0x1404e4c80]
add edx, eax
cmp ecx, edx
jge 0x1401bb170
jmp 0x1401bb14c
call fcn.14039c09c
int3