Function at 0x1400547c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov r12, qword [rsp + 0xf0]
mov rdi, r9
mov r14, r8
mov r15, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc7c88]
imul eax, dword [0x141dc7c8c]
imul eax, eax, 0x1fb0fbca
add eax, 0x7f3a7fdf
and eax, 0x7c1e3d4d
cmp eax, 0xb2cb7728
ja 0x1400547f0
mov bpl, 1
cmp byte [rsi + 8], 0
je 0x14005488f
mov eax, dword [0x141dc7cf0]
mov ecx, dword [0x141dc7cf4]
add eax, ecx
add eax, 0xcc72e07f
and eax, 0x8a84917f
imul eax, eax, 0x3c3e3fef
cmp eax, 0xd5214a59
jbe 0x140054850
mov byte [rsi + 8], bpl
mov byte [rsi + 9], 1
nop word [rax + rax]
mov eax, dword [0x141dc7cf8]
and eax, dword [0x141dc7cfc]
add eax, 0x16578a52
xor eax, 0xf457e0db
add eax, 0xad4a44c1
mov byte [rsi + 8], bpl
mov byte [rsi + 9], 1
cmp eax, 0xe8636543
ja 0x140054850
mov rax, rsi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rbx, qword [rsi]
mov ebp, dword [rbx + 0x34]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7c90]
xor eax, dword [0x141dc7c94]
imul eax, eax, 0x6b6329d2
or eax, 0xa6012164
and eax, 0xff41217c
cmp eax, 0xa8a7da6f
je 0x1400548a0
movzx eax, byte [rsi + 9]
test bpl, 4
jne 0x140054a08
lea rcx, [0x141db5d54]
lea rdx, [0x141db5d57]
nop
mov r11d, dword [0x141dc7c98]
add r11d, dword [0x141dc7c9c]
xor r11d, 0x3010008
or r11d, 0xc8bcbb72
and r11d, 0xcbbfbb7f
xor r8d, r8d
test al, al
sete r10b
mov r9, rdx
cmove r9, rcx
cmp r11d, 0x2c582664
jb 0x1400548e0
mov r8b, r10b
or r8, 2
nop word cs:[rax + rax]
mov eax, dword [0x141dc7ca0]
xor edx, edx
div dword [0x141dc7ca4]
xor eax, 0x422900e
and eax, 0xebaf09e
cmp eax, 0xbc8a696c
ja 0x140054930
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
mov rdx, r9
call qword [rax + 0x18]
mov bpl, 1
test al, al
jne 0x14005481d
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
mov rdx, r15
mov r8, r14
call qword [rax + 0x18]
test al, al
jne 0x14005481d
nop word cs:[rax + rax]
mov eax, dword [0x141dc7ca8]
imul eax, dword [0x141dc7cac]
xor eax, 0x64183eb2
add eax, 0x5b324e2c
or eax, 0x5753187e
cmp eax, 0xb50f8fb7
jb 0x140054990
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
lea rdx, [0x141db5d59]
mov r8d, 2
call qword [rax + 0x18]
test al, al
jne 0x14005481d
mov rcx, rdi
mov rdx, rbx
call r12
mov ebp, eax
nop
mov eax, dword [0x141dc7cb0]
or eax, dword [0x141dc7cb4]
imul eax, eax, 0x5a8be358
add eax, 0xe3f76fa9
xor eax, 0xf3f3ae00
cmp eax, 0x7f3bab2b
jb 0x1400549e0
jmp 0x14005481d
test al, al
jne 0x140054a49
nop dword [rax]
mov eax, dword [0x141dc7cb8]
and eax, dword [0x141dc7cbc]
cmp eax, 0x68d2fb19
je 0x140054a10
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbx + 0x28]
lea rdx, [0x141db5d5b]
mov r8d, 3
call qword [rax + 0x18]
mov bpl, 1
test al, al
jne 0x14005481d
mov ebp, dword [rbx + 0x34]
mov eax, dword [0x141dc7cc0]
or eax, dword [0x141dc7cc4]
imul eax, eax, 0x46cde50c
or eax, 0x2b3fb4f4
imul eax, eax, 0xd0beaff1
cmp eax, 0x1246e094
ja 0x140054ad9
mov byte [rsp + 0x2f], 1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x30]
movzx ecx, byte [rbx + 0x38]
mov dword [rsp + 0x84], ebp
mov dword [rsp + 0x80], eax
mov byte [rsp + 0x88], cl
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x70], rcx
lea rax, [0x141db5d20]
mov qword [rsp + 0x78], rax
mov rdx, r15
mov r8, r14
call fcn.140054c80
xor ecx, ecx
test cl, cl
je 0x140054b44
mov byte [rsp + 0x2f], 1
movups xmm0, xmmword [rbx + 0x20]
movaps xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x40], rax
mov eax, dword [rbx + 0x30]
movzx ecx, byte [rbx + 0x38]
mov dword [rsp + 0x84], ebp
mov dword [rsp + 0x80], eax
mov byte [rsp + 0x88], cl
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x70], rcx
lea rax, [0x141db5d20]
mov qword [rsp + 0x78], rax
mov rdx, r15
mov r8, r14
call fcn.140054c80
jmp 0x140054a6d
test al, al
jne 0x140054be0
lea rdx, [0x141db5d59]
lea rcx, [rsp + 0x30]
mov r8d, 2
call fcn.140054c80
mov ecx, 0xc16cc32b
nop dword [rax + rax]
mov edx, dword [0x141dc7cc8]
or edx, dword [0x141dc7ccc]
imul rdx, rcx
shr rdx, 0x3f
or edx, 0x24f85044
imul rdx, rdx, 0x198b9f7d
shr rdx, 0x36
cmp edx, 0x39d392e1
ja 0x140054b70
test al, al
jne 0x140054be0
lea rdx, [rsp + 0x50]
mov rcx, rdi
call r12
nop dword [rax]
mov ecx, dword [0x141dc7cd0]
imul ecx, dword [0x141dc7cd4]
and ecx, 0x15500c67
imul ecx, ecx, 0x199f2825
add ecx, 0x7aa3c1a
cmp ecx, 0xbe48382a
ja 0x140054bb0
test al, al
je 0x140054c20
nop dword [rax + rax]
mov eax, dword [0x141dc7ce0]
and eax, dword [0x141dc7ce4]
imul eax, eax, 0x4211248b
cmp eax, 0x66a134be
je 0x140054be0
nop dword [rax]
mov eax, dword [0x141dc7ce8]
sub eax, dword [0x141dc7cec]
cmp eax, 0x5d6cfd64
je 0x140054c00
mov bpl, 1
jmp 0x14005481d
mov eax, dword [0x141dc7cd8]
imul eax, dword [0x141dc7cdc]
add eax, 0x787db5cd
and eax, 0x25d6284e
imul rcx, rax, 0x2364b2d7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x910001b5
ja 0x140054c20
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
lea rdx, [0x141db5d5e]
mov r8d, 2
call qword [rax + 0x18]
mov ebp, eax
jmp 0x14005481d