Function at 0x180026650
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov ebx, dword [rsp + 0x128]
mov r14, r9
movaps xmmword [rax - 0x48], xmm6
mov r10, r8
movaps xmmword [rax - 0x58], xmm7
mov r12, rdx
movaps xmmword [rax - 0x68], xmm8
mov ebp, ebx
movaps xmmword [rax - 0x78], xmm9
imul eax, ebx, 0x791
movaps xmmword [rsp + 0x70], xmm10
movaps xmmword [rsp + 0x60], xmm11
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x38], eax
cmp ebx, eax
ja 0x180026b3e
mov rdi, qword [rsp + 0x130]
movsd xmm8, qword [str.3333338]
movsd xmm6, qword [0x18009f6d0]
movsd xmm10, qword [0x18009f6b8]
movsd xmm11, qword [0x18009f4d8]
movsd xmm7, qword [0x18009f658]
mov r15, qword [rsp + 0x120]
mov esi, dword [rsp + 0x128]
mov r13d, dword [rsp + 0x128]
movsd xmm9, qword [rsp + 0x50]
nop dword [rax + rax]
cmp ebp, 0x493e
ja 0x180026892
je 0x180026860
cmp ebp, 0xad
ja 0x1800267f6
je 0x1800267d1
cmp ebp, 0x12
je 0x180026754
cmp ebp, 0x25
je 0x18002674a
cmp ebp, 0x7d
jne 0x1800267b6
mov qword [rsp + 0x50], rdi
jmp 0x1800267b6
mov eax, dword [r12]
mov dword [rsp + 0x3c], eax
jmp 0x1800267b6
mov rcx, qword [r15]
call qword [rdi]
xor r9d, r9d
mov r10d, eax
cmp dword [rdi + 0x14], r9d
jbe 0x1800267a6
nop word [rax + rax]
mov rcx, qword [rdi + 8]
lea rax, [0x1800897a0]
mov eax, dword [rax + r9*4]
xor edx, edx
xor eax, r10d
inc r9d
div dword [rdi + 0x10]
mov r8d, edx
and edx, 7
shr r8, 3
movzx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
cmp r9d, dword [rdi + 0x14]
jb 0x180026770
mov r10, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x100]
imul eax, ebx, 0x95
add ebp, eax
mov dword [rsp + 0x30], ebp
cmp ebp, dword [rsp + 0x38]
jbe 0x180026710
jmp 0x180026b3e
movsd xmm1, qword [rdi]
xorps xmm9, xmm9
comisd xmm8, xmm1
jbe 0x1800267e3
movaps xmm1, xmm6
divsd xmm1, xmm10
movaps xmm0, xmm11
maxsd xmm0, xmm1
movsd qword [rdi], xmm0
jmp 0x1800267b6
cmp ebp, 0xf4
je 0x180026849
cmp ebp, 0x15ae
jne 0x1800267b6
mov eax, dword [r14]
mov ecx, dword [r12]
cmp eax, ecx
jae 0x180026b17
nop word [rax + rax]
mov rdx, qword [rdi]
lea ebx, [rax + rcx]
mov rcx, qword [r15]
shr ebx, 1
mov rdx, qword [rdx + rbx*8]
call qword [rdi + 0x18]
test eax, eax
jg 0x180026b04
lea eax, [rbx + 1]
mov dword [r14], eax
mov ecx, dword [r12]
jmp 0x180026b0d
xor r13d, r13d
cmp dword [r12], r13d
jne 0x1800267b6
mov dword [rsp + 0x40], r13d
jmp 0x180026b3e
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1800267ae
nop
mov rbx, qword [rcx + 8]
call fcn.18006f74c
mov rcx, rbx
test rbx, rbx
jne 0x180026870
mov qword [rsp + 0x50], rbx
mov ebx, dword [rsp + 0x128]
jmp 0x1800267a6
cmp ebp, 0x11cfc
ja 0x180026ae5
je 0x1800269c7
cmp ebp, 0x655e
je 0x1800269b7
cmp ebp, 0x8ef8
je 0x180026993
cmp ebp, 0xca0f
jne 0x1800267b6
movsd xmm7, qword [rdi]
movsd xmm1, qword [0x18009f748]
movaps xmm0, xmm7
call fcn.180076950
movsd xmm1, qword [0x18009f590]
movaps xmm8, xmm0
mulsd xmm8, qword [0x18009f5c0]
movaps xmm0, xmm7
subsd xmm0, qword [0x18009f5b0]
call fcn.180076950
mulsd xmm0, qword [0x18009f740]
call fcn.180075a70
mulsd xmm0, qword [0x18009f5f8]
movsd xmm1, qword [0x18009f590]
subsd xmm8, xmm0
movaps xmm0, xmm7
subsd xmm0, qword [0x18009f618]
call fcn.180076950
mulsd xmm0, qword [0x18009f718]
call fcn.180075a70
mulsd xmm0, qword [0x18009f5e8]
movsd xmm1, qword [0x18009f5c8]
addsd xmm8, xmm0
movaps xmm0, xmm7
call fcn.180076950
mulsd xmm9, qword [0x18009f4e8]
addsd xmm9, qword [0x18009f558]
mulsd xmm9, qword [0x18009f4c0]
mulsd xmm0, xmm9
addsd xmm8, xmm0
addsd xmm8, qword [r15]
movsd qword [rsp + 0x40], xmm8
jmp 0x180026b3e
mov eax, dword [rcx]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov rcx, r10
lea edx, [r8 + 0x57]
call fcn.180018e00
mov qword [rsp + 0x48], rax
jmp 0x1800267a6
movaps xmm0, xmm7
minsd xmm0, qword [rdi]
movsd qword [rdi], xmm0
jmp 0x1800267b6
cmp dword [r12], 0
je 0x180026ac3
nop dword [rax]
nop word [rax + rax]
mov ebp, 0x39
mov eax, ebp
sub eax, 0x39
je 0x180026a8e
sub eax, 1
je 0x180026a46
cmp eax, 1
jne 0x180026aa2
add dword [rdi + 0x12f4], esi
sub dword [r12], esi
cmp dword [rdi + 0x12f4], 0x480
jb 0x180026aa2
mov rdx, qword [rsp + 0x48]
mov r9d, 0x82
mov r8, rdi
xor ecx, ecx
call fcn.180017910
mov ebx, eax
test eax, eax
jle 0x180026b1d
add r13d, eax
add dword [rdi + 0x12f4], 0xfffffb80
jmp 0x180026aa2
xor edx, edx
test esi, esi
jle 0x180026aa2
nop dword [rax]
mov ecx, dword [rdi + 0x12f4]
movzx eax, word [r15]
add ecx, edx
add r15, 2
mov word [rdi + rcx*2 + 0xf4], ax
cmp dword [rdi + 8], 2
jne 0x180026a86
mov ecx, dword [rdi + 0x12f4]
movzx eax, word [r14]
add ecx, edx
add r14, 2
mov word [rdi + rcx*2 + 0x9f4], ax
inc edx
cmp edx, esi
jl 0x180026a50
jmp 0x180026aa2
mov esi, 0x480
sub esi, dword [rdi + 0x12f4]
cmp dword [r12], esi
cmovl esi, dword [r12]
inc ebp
cmp ebp, 0x3c
jb 0x1800269e5
cmp dword [r12], 0
jne 0x1800269e0
mov ebp, dword [rsp + 0x30]
mov ebx, dword [rsp + 0x128]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x12c
xor ecx, ecx
call fcn.180040600
jmp 0x1800267a6
cmp ebp, 0x1ab00
je 0x180026afa
cmp ebp, 0x23904
je 0x180026b3e
jmp 0x1800267b6
mov dword [rsp + 0x40], r13d
jmp 0x1800267b6
mov dword [r12], ebx
mov ecx, ebx
mov eax, dword [r14]
cmp eax, ecx
jb 0x180026820
jmp 0x180026b3a
mov ebx, dword [rsp + 0x3c]
jmp 0x180026b3a
lea r9, [rsp + 0x48]
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x12c
xor ecx, ecx
call fcn.180040600
mov dword [rsp + 0x40], ebx
mov rax, qword [rsp + 0x40]
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret