Function at 0x7ff6eb0f8050
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov word [rax + 0x18], r8w
mov word [rax + 0x10], dx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r12d, dword [rsp + 0xb0]
mov r14, rcx
mov r13, rcx
mov r15d, r9d
xor ecx, ecx
movzx ebx, dx
mov dword [rsp + 0x90], ecx
mov ebp, ecx
mov word [rax + 0x38], cx
mov byte [rax - 0x52], cl
mov dword [rax - 0x56], ecx
mov word [rax - 0x58], cx
test r12d, r12d
je 0x7ff6eb0f8571
mov rsi, qword [rsp + 0xb8]
movzx eax, dx
and ax, 0x20
mov word [rsp + 0xb0], ax
nop dword [rax]
mov edi, 0x800
cmp r12d, edi
cmovb edi, r12d
test ax, ax
je 0x7ff6eb0f818f
mov dword [0x7ff6eb2095c8], ecx
test ebp, ebp
jne 0x7ff6eb0f8140
movzx eax, bx
mov dword [rsp + 0x32], 0
and ax, 1
mov rcx, rsi
movzx ebp, ax
movzx eax, bp
shl ax, 3
add ax, 9
mov word [rsp + 0x30], ax
call qword [rsi + 0x18]
mov rcx, rsi
movzx ebx, al
call qword [rsi + 0x18]
xor ebp, 1
movzx ecx, al
shl cx, 8
inc ebp
or cx, bx
shl ebp, 0xe
movzx ebx, word [rsp + 0x98]
mov word [rsp + 0xc0], cx
test bl, 0x10
je 0x7ff6eb0f8140
xor eax, eax
mov word [0x7ff6eb2095cc], ax
lea rax, [rsp + 0xc0]
movzx r9d, di
mov qword [rsp + 0x20], rax
mov rdx, rsi
lea rcx, [rsp + 0x30]
test bl, 1
je 0x7ff6eb0f8165
call fcn.7ff6eb0f7df0
jmp 0x7ff6eb0f816a
call fcn.7ff6eb0f7b40
test eax, eax
je 0x7ff6eb0f8559
cmp eax, edi
jne 0x7ff6eb0f854f
mov r11, qword [0x7ff6eb2095d8]
sub ebp, edi
mov dword [rsp + 0x90], ebp
jmp 0x7ff6eb0f8287
mov rax, qword [rsi + 0x20]
mov rcx, rsi
call rax
test bl, 1
je 0x7ff6eb0f822f
test eax, eax
jne 0x7ff6eb0f8560
mov r15, qword [0x7ff6eb2095d8]
mov ebp, edi
test bl, 8
je 0x7ff6eb0f81ea
test edi, edi
jle 0x7ff6eb0f8218
nop dword [rax + rax]
mov rcx, rsi
dec ebp
call qword [rsi + 0x18]
movzx ebx, al
mov rcx, rsi
shl bx, 8
call qword [rsi + 0x18]
movzx ecx, al
lea r15, [r15 + 2]
or cx, bx
mov word [r15 - 2], cx
test ebp, ebp
jg 0x7ff6eb0f81c0
jmp 0x7ff6eb0f8218
test edi, edi
jle 0x7ff6eb0f8218
nop
mov rcx, rsi
dec ebp
call qword [rsi + 0x18]
mov rcx, rsi
movzx ebx, al
call qword [rsi + 0x18]
movzx ecx, al
lea r15, [r15 + 2]
shl cx, 8
or cx, bx
mov word [r15 - 2], cx
test ebp, ebp
jg 0x7ff6eb0f81f0
mov rcx, rsi
call qword [rsi + 0x20]
mov r11, qword [0x7ff6eb2095d8]
mov r15d, dword [rsp + 0xa8]
jmp 0x7ff6eb0f8279
test eax, eax
jne 0x7ff6eb0f8560
mov rdx, qword [0x7ff6eb2095d8]
mov rcx, rsi
movsxd rbx, edi
mov r8, rbx
call qword [rsi + 0x10]
mov r11, qword [0x7ff6eb2095d8]
lea rcx, [rbx + r11]
lea rdx, [r11 + rbx*2]
test edi, edi
jle 0x7ff6eb0f8279
mov r8d, edi
movsx eax, byte [rcx - 1]
lea rcx, [rcx - 1]
shl ax, 8
lea rdx, [rdx - 2]
mov word [rdx], ax
sub r8, 1
jne 0x7ff6eb0f8260
sub dword [0x7ff6eb2095c8], edi
movzx ebx, word [rsp + 0x98]
test bl, 0x10
je 0x7ff6eb0f82b7
test edi, edi
jle 0x7ff6eb0f82b7
movzx ecx, word [0x7ff6eb2095cc]
mov rax, r11
mov edx, edi
nop dword [rax]
add word [rax], cx
movzx ecx, word [rax]
lea rax, [rax + 2]
sub rdx, 1
jne 0x7ff6eb0f82a0
mov word [0x7ff6eb2095cc], cx
movzx eax, bl
xor al, byte [rsp + 0xa0]
test al, 4
je 0x7ff6eb0f838d
xor eax, eax
mov r8d, eax
mov edx, eax
test edi, edi
jle 0x7ff6eb0f838f
cmp edi, 0x20
jb 0x7ff6eb0f836e
mov ecx, edi
and ecx, 0x8000001f
jge 0x7ff6eb0f82f2
dec ecx
or ecx, 0xffffffe0
inc ecx
movdqa xmm2, xmmword [0x7ff6eb1bed80]
mov eax, edi
sub eax, ecx
movsxd rcx, eax
lea rax, [r11 + 0x20]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add r8d, 0x20
movdqa xmm1, xmm2
add rdx, 0x20
pxor xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x50]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp rdx, rcx
jl 0x7ff6eb0f8310
cmp r8d, edi
jge 0x7ff6eb0f838d
lea rcx, [r11 + rdx*2]
mov eax, 0xffff8000
mov edx, edi
sub edx, r8d
nop dword [rax]
xor word [rcx], ax
lea rcx, [rcx + 2]
sub rdx, 1
jne 0x7ff6eb0f8380
xor eax, eax
test r15d, r15d
je 0x7ff6eb0f83f8
mov ebp, eax
mov r9d, eax
mov r10, rax
test edi, edi
jle 0x7ff6eb0f83f4
mov rbx, r11
xor esi, esi
test r12d, r12d
je 0x7ff6eb0f83e2
mov eax, esi
mov ecx, r15d
nop
cmp r9d, edi
jge 0x7ff6eb0f83c7
movsx edx, word [r11 + r10*2]
inc r9d
add eax, edx
inc r10
sub ecx, 1
jne 0x7ff6eb0f83b0
mov r8d, r15d
cdq
sub r8d, ecx
inc ebp
idiv r8d
dec r12d
mov word [rbx], ax
add rbx, 2
cmp r9d, edi
jl 0x7ff6eb0f83a5
mov rsi, qword [rsp + 0xb8]
xor eax, eax
movzx ebx, word [rsp + 0x98]
mov edi, ebp
jmp 0x7ff6eb0f83fb
sub r12d, edi
test byte [rsp + 0xa0], 1
je 0x7ff6eb0f842c
test edi, edi
jle 0x7ff6eb0f8534
mov ecx, edi
nop
movzx eax, word [r11]
lea r11, [r11 + 2]
mov word [r13], ax
add r13, 2
sub rcx, 1
jne 0x7ff6eb0f8410
jmp 0x7ff6eb0f8534
mov r8d, eax
mov rdx, rax
test edi, edi
jle 0x7ff6eb0f8534
cmp edi, 0x20
jb 0x7ff6eb0f8515
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [r11 + rcx*2]
lea r9, [rcx + r14]
cmp r14, rax
ja 0x7ff6eb0f845f
cmp r9, r11
jae 0x7ff6eb0f8515
mov ecx, edi
and ecx, 0x8000001f
jge 0x7ff6eb0f8470
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, edi
sub eax, ecx
movsxd r9, eax
mov eax, 8
movd xmm1, eax
lea rax, [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
add r8d, 0x20
lea rax, [rax + 0x40]
add rdx, 0x20
psraw xmm0, xmm1
pand xmm0, xmmword [0x7ff6eb1bed60]
packuswb xmm0, xmm0
movq qword [r14], xmm0
movdqu xmm0, xmmword [rax - 0x50]
psraw xmm0, xmm1
pand xmm0, xmmword [0x7ff6eb1bed60]
packuswb xmm0, xmm0
movq qword [r14 + 8], xmm0
movdqu xmm0, xmmword [rax - 0x40]
psraw xmm0, xmm1
pand xmm0, xmmword [0x7ff6eb1bed60]
packuswb xmm0, xmm0
movq qword [r14 + 0x10], xmm0
movdqu xmm0, xmmword [rax - 0x30]
psraw xmm0, xmm1
pand xmm0, xmmword [0x7ff6eb1bed60]
packuswb xmm0, xmm0
movq qword [r14 + 0x18], xmm0
add r14, 0x20
cmp rdx, r9
jl 0x7ff6eb0f8490
cmp r8d, edi
jge 0x7ff6eb0f8534
sub edi, r8d
lea rcx, [r11 + rdx*2]
mov edx, edi
nop
movzx eax, byte [rcx + 1]
lea rcx, [rcx + 2]
mov byte [r14], al
inc r14
sub rdx, 1
jne 0x7ff6eb0f8520
test r12d, r12d
je 0x7ff6eb0f8571
mov ebp, dword [rsp + 0x90]
xor ecx, ecx
movzx eax, word [rsp + 0xb0]
jmp 0x7ff6eb0f80c0
mov dword [0x7ff6eb2093a8], 0xe
mov eax, 1
jmp 0x7ff6eb0f8573
mov dword [0x7ff6eb2093a8], 0xc
mov eax, 1
jmp 0x7ff6eb0f8573
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret