Function at 0x1800262d0
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]
xor r11d, r11d
mov r14d, r9d
mov ebx, r11d
movzx r10d, dx
mov r15, rcx
mov r13, rcx
mov word [rax + 0x38], r11w
mov dword [rax - 0x56], r11d
mov dword [rsp + 0x90], ebx
mov byte [rax - 0x52], bl
mov word [rax - 0x58], r11w
test r12d, r12d
je 0x18002676a
mov rbp, qword [rsp + 0xb8]
mov rdi, qword [0x18004b700]
movzx eax, dx
and ax, 0x20
mov word [rsp + 0xb0], ax
mov esi, 0x800
mov edx, 0x11
cmp r12d, esi
cmovb esi, r12d
test ax, ax
je 0x180026422
mov dword [0x18004bb90], r11d
test ebx, ebx
jne 0x1800263d2
movzx edi, r10w
mov eax, 9
mov rcx, rbp
and di, 1
mov dword [rsp + 0x32], ebx
cmovne ax, dx
mov word [rsp + 0x30], ax
call qword [rbp + 0x18]
mov rcx, rbp
movzx ebx, al
call qword [rbp + 0x18]
movzx r10d, word [rsp + 0x98]
movzx ecx, al
mov eax, 0x4000
shl cx, 8
or cx, bx
test di, di
mov ebx, 0x8000
cmovne ebx, eax
mov word [rsp + 0xc0], cx
test r10b, 0x10
je 0x1800263d2
xor eax, eax
mov word [0x18004bb7c], ax
lea rax, [rsp + 0xc0]
movzx r9d, si
mov rdx, rbp
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rax
test r10b, 1
je 0x1800263f8
call fcn.1800260a0
jmp 0x1800263fd
call fcn.180025e10
test eax, eax
je 0x180026763
cmp eax, esi
jne 0x180026759
mov rdi, qword [0x18004b700]
sub ebx, esi
mov dword [rsp + 0x90], ebx
jmp 0x1800264ed
test r10b, 1
je 0x1800264a4
mov r14d, esi
test r10b, 8
je 0x180026460
test esi, esi
jle 0x18002648d
mov rcx, rbp
dec r14d
call qword [rbp + 0x18]
mov rcx, rbp
movzx ebx, al
shl bx, 8
call qword [rbp + 0x18]
lea rdi, [rdi + 2]
movzx ecx, al
or cx, bx
mov word [rdi - 2], cx
test r14d, r14d
jg 0x180026435
jmp 0x18002648d
test esi, esi
jle 0x18002648d
mov rcx, rbp
dec r14d
call qword [rbp + 0x18]
mov rcx, rbp
movzx ebx, al
call qword [rbp + 0x18]
lea rdi, [rdi + 2]
movzx ecx, al
shl cx, 8
or cx, bx
mov word [rdi - 2], cx
test r14d, r14d
jg 0x180026464
mov rcx, rbp
call qword [rbp + 0x20]
mov rdi, qword [0x18004b700]
mov r14d, dword [rsp + 0xa8]
jmp 0x1800264e7
movsxd rbx, esi
mov rdx, rdi
mov rcx, rbp
mov r8, rbx
call qword [rbp + 0x10]
mov rdi, qword [0x18004b700]
lea rcx, [rbx + rdi]
lea rdx, [rdi + rbx*2]
test esi, esi
jle 0x1800264e7
mov r8d, esi
nop dword [rax]
movsx eax, byte [rcx - 1]
dec rcx
lea rdx, [rdx - 2]
shl ax, 8
mov word [rdx], ax
dec r8
jne 0x1800264d0
sub dword [0x18004bb90], esi
movzx r10d, word [rsp + 0x98]
test r10b, 0x10
je 0x180026526
test esi, esi
jle 0x180026526
movzx ecx, word [0x18004bb7c]
mov rax, rdi
mov edx, esi
nop dword [rax]
add word [rax], cx
movzx ecx, word [rax]
add rax, 2
dec rdx
jne 0x180026510
mov word [0x18004bb7c], cx
movzx r11d, word [rsp + 0xa0]
movzx eax, r10b
xor ebx, ebx
xor al, r11b
test al, 4
je 0x1800265c0
mov edx, ebx
mov r8d, ebx
test esi, esi
jle 0x1800265c0
cmp esi, 0x10
jb 0x1800265a1
mov eax, esi
and eax, 0x8000000f
jge 0x18002655e
dec eax
or eax, 0xfffffff0
inc eax
movdqa xmm1, xmmword [0x180043890]
mov r9d, esi
sub r9d, eax
nop dword [rax]
movsxd rax, edx
add r8, 0x10
movdqu xmm0, xmmword [rdi + rax*2]
pxor xmm0, xmm1
movdqu xmmword [rdi + rax*2], xmm0
lea eax, [rdx + 8]
add edx, 0x10
movsxd rcx, eax
movdqu xmm0, xmmword [rdi + rcx*2]
pxor xmm0, xmm1
movdqu xmmword [rdi + rcx*2], xmm0
cmp edx, r9d
jl 0x180026570
cmp edx, esi
jge 0x1800265c0
mov eax, esi
lea rcx, [rdi + r8*2]
sub eax, edx
mov edx, eax
mov eax, 0xffff8000
xor word [rcx], ax
lea rcx, [rcx + 2]
dec rdx
jne 0x1800265b4
test r14d, r14d
je 0x180026631
xor eax, eax
mov r9d, eax
mov r10d, eax
test esi, esi
jle 0x180026624
mov r11, rdi
xor ebp, ebp
test r12d, r12d
je 0x180026613
mov eax, ebp
mov ecx, r14d
cmp r9d, esi
jge 0x1800265f6
movsx edx, word [rdi + r10*2]
inc r9d
inc r10
add eax, edx
dec ecx
jne 0x1800265e0
mov r8d, r14d
cdq
add r11, 2
sub r8d, ecx
inc ebx
dec r12d
idiv r8d
mov word [r11 - 2], ax
cmp r9d, esi
jl 0x1800265d6
mov rbp, qword [rsp + 0xb8]
movzx r11d, word [rsp + 0xa0]
movzx r10d, word [rsp + 0x98]
mov esi, ebx
jmp 0x180026634
sub r12d, esi
test r11b, 1
je 0x180026685
test esi, esi
jle 0x180026665
mov rcx, rdi
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
add r13, 2
lea rcx, [rcx + 2]
mov word [r13 - 2], ax
dec rdx
jne 0x180026650
xor r11d, r11d
test r12d, r12d
je 0x18002676a
mov ebx, dword [rsp + 0x90]
movzx eax, word [rsp + 0xb0]
jmp 0x18002634a
xor r11d, r11d
mov edx, r11d
mov r8d, r11d
test esi, esi
jle 0x180026668
cmp esi, 0x10
jb 0x18002672f
lea eax, [rsi - 1]
movsxd rcx, eax
lea rax, [rdi + rcx*2]
lea r9, [rcx + r15]
cmp r15, rax
ja 0x1800266b3
cmp r9, rdi
jae 0x18002672f
mov eax, esi
and eax, 0x8000000f
jge 0x1800266c3
dec eax
or eax, 0xfffffff0
inc eax
mov r9d, esi
sub r9d, eax
mov eax, 8
movd xmm1, eax
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
add r15, 0x10
add r8, 0x10
movdqu xmm0, xmmword [rdi + rax*2]
lea eax, [rdx + 8]
add edx, 0x10
movsxd rcx, eax
psraw xmm0, xmm1
pand xmm0, xmmword [0x180043880]
packuswb xmm0, xmm0
movq qword [r15 - 0x10], xmm0
movdqu xmm0, xmmword [rdi + rcx*2]
psraw xmm0, xmm1
pand xmm0, xmmword [0x180043880]
packuswb xmm0, xmm0
movq qword [r15 - 8], xmm0
cmp edx, r9d
jl 0x1800266e0
cmp edx, esi
jge 0x180026668
sub esi, edx
lea rcx, [rdi + r8*2]
mov edx, esi
nop
movzx eax, byte [rcx + 1]
inc r15
lea rcx, [rcx + 2]
mov byte [r15 - 1], al
dec rdx
jne 0x180026740
jmp 0x180026668
mov dword [sym.libmikmod64.dll_MikMod_errno], 0xe
mov eax, 1
jmp 0x18002676c
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret