Function at 0x140055290
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, r8
mov rbx, rdx
mov r15, rcx
xor eax, eax
nop
test al, al
jne 0x1400552b0
movzx eax, byte [r15 + 0x10]
mov ecx, 0x9fc15d23
nop
mov edx, dword [0x141dc8360]
and edx, dword [0x141dc8364]
imul edx, edx, 0xecd69723
add edx, 0x804908d1
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0xb933a896
je 0x1400552c0
mov rbp, qword [r15]
mov cl, 1
test al, al
je 0x140055320
mov byte [r15 + 0x10], cl
inc rbp
mov qword [r15], rbp
mov rax, r15
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc8368]
imul eax, dword [0x141dc836c]
add eax, 0xd9eae77a
and eax, 0x8012000d
cmp eax, 0xa3a6d949
ja 0x140055320
mov r14, qword [r15 + 8]
mov ecx, dword [r14 + 0x34]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8370]
mov edx, dword [0x141dc8374]
add eax, edx
add eax, 0xa7d95f94
shr eax, 2
imul rax, rax, 0x273bb4cf
shr rax, 0x3b
cmp eax, 0x99fbf341
je 0x140055350
test cl, 4
jne 0x14005541a
mov qword [rsp + 0x28], r15
mov eax, dword [0x141dc8378]
xor edx, edx
div dword [0x141dc837c]
lea rax, [0x141db5d83]
lea rcx, [0x141db5d77]
nop word cs:[rax + rax]
mov edx, dword [0x141dc8380]
add edx, dword [0x141dc8384]
imul r8d, edx, 0x20fd576
add r8d, 0xc01e1a80
xor r15d, r15d
test rbp, rbp
mov r12, rcx
cmove r12, rax
setne dl
cmp r8d, 0xbdc3ae64
jb 0x1400553b0
mov r15b, dl
inc r15
mov r13, qword [r14 + 0x20]
mov eax, dword [0x141dc8388]
xor edx, edx
div dword [0x141dc838c]
or eax, 0x3053150
xor eax, 0x1883000
or eax, 0xfc500caf
cmp eax, 0xa8db1a51
jne 0x14005558d
jmp 0x1400555ca
test rbp, rbp
jne 0x14005548f
nop
mov eax, dword [0x141dc83b0]
add eax, dword [0x141dc83b4]
xor eax, 0x94240850
and eax, 0xb4741d7c
cmp eax, 0xe8a6dbb4
je 0x140055420
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
lea rdx, [0x141db5d84]
mov r8d, 2
call qword [rax + 0x18]
mov cl, 1
test al, al
jne 0x1400552f1
mov ecx, dword [r14 + 0x34]
nop word cs:[rax + rax]
mov eax, dword [0x141dc83b8]
xor edx, edx
div dword [0x141dc83bc]
and eax, 0xab400440
add eax, 0x2ea1e702
cmp eax, 0xe922a49a
ja 0x140055470
mov byte [rsp + 0x27], 1
movups xmm0, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x27]
mov qword [rsp + 0x80], rax
mov eax, dword [r14 + 0x30]
movzx edx, byte [r14 + 0x38]
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x68], dl
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [0x141db5d40]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call rdi
test al, al
je 0x14005553b
mov eax, 0xf8d59987
nop dword [rax]
mov ecx, dword [0x141dc83c8]
sub ecx, dword [0x141dc83cc]
imul rcx, rax
shr rcx, 0x3c
imul ecx, ecx, 0xc515e193
and ecx, 0x5c1cda3e
cmp ecx, 0x9bbd711a
ja 0x140055500
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140055530
mov cl, 1
jmp 0x1400552f1
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
lea rdx, [0x141db5d7e]
mov r8d, 2
call qword [rax + 0x18]
mov ecx, eax
mov eax, 0x93d5623f
nop dword [rax]
mov edx, dword [0x141dc83c0]
sub edx, dword [0x141dc83c4]
imul edx, edx, 0xe53526cd
imul rdx, rax
shr rdx, 0x3d
xor edx, 0xac44c07a
cmp edx, 0x82a0f60a
jb 0x140055560
jmp 0x1400552f1
mov eax, dword [0x141dc8390]
add eax, dword [0x141dc8394]
mov ecx, 0xb9fcda47
imul rcx, rax
shr rcx, 0x3e
imul esi, ecx, 0xa284c52e
add esi, 0xef4bfeec
mov rax, qword [r14 + 0x28]
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [rax + 0x18]
cmp esi, 0x59db28ac
jae 0x1400555dc
mov rax, qword [r14 + 0x28]
mov rcx, r13
mov rdx, r12
mov r8, r15
call qword [rax + 0x18]
jmp 0x14005558d
mov cl, 1
test al, al
mov r15, qword [rsp + 0x28]
jne 0x1400552f1
mov eax, dword [0x141dc8398]
xor eax, dword [0x141dc839c]
or eax, 0x915026c1
imul eax, eax, 0xe363cf20
cmp eax, 0x1b1fad91
jb 0x140055638
mov eax, dword [0x141dc83a0]
and eax, dword [0x141dc83a4]
mov ecx, 0xa4d09a6b
imul rcx, rax
shr rcx, 0x3f
imul esi, ecx, 0x4e9d4c56
mov rcx, rbx
mov rdx, r14
call rdi
cmp esi, 0x4859b3d3
jne 0x140055642
mov rcx, rbx
mov rdx, r14
call rdi
jmp 0x140055609
mov ecx, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dc83a8]
xor edx, edx
div dword [0x141dc83ac]
xor eax, 0x41002060
and eax, 0x47242764
add eax, 0x7f487fc0
cmp eax, 0x7ffd774d
jb 0x140055650
jmp 0x1400552f1