Function at 0x55db20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm6
mov rbp, qword [rsp + 0xe0]
mov r13d, ecx
mov dword [rsp + 0x58], edx
mov edi, ecx
mov ebx, edx
imul r13d, edx
mov dword [rsp + 0x5c], ecx
mov edx, 2
mov rsi, r8
lea rcx, [rsp + 0x58]
mov r8d, 1
mov r14, r9
mov qword [rsp + 0x20], 0
xor r9d, r9d
call fcn.005a9ec0
movsxd r12, r13d
lea rcx, [r12*8]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x30], rcx
call fcn.005b9c20
test r13d, r13d
mov r12, rax
mov qword [rsp + 0x40], rax
jle 0x55dc38
lea eax, [r13 - 1]
xor r15d, r15d
movss xmm6, dword [0x006f9900]
lea r13, [rax*8 + 8]
test al, 1
je 0x55ded9
mov dword [rsp + 0x3c], ebx
movss xmm3, dword [rsi + r15 + 4]
movss xmm2, dword [rsi + r15]
movss xmm0, dword [r14 + r15]
movss xmm1, dword [r14 + r15 + 4]
xorps xmm1, xmm6
call fcn.005ab968
movss xmm1, dword [r14 + r15 + 0xc]
mov ebx, eax
movss xmm3, dword [rsi + r15 + 0xc]
shr rax, 0x20
movss xmm2, dword [rsi + r15 + 8]
mov dword [r12 + r15], ebx
xorps xmm1, xmm6
movss xmm0, dword [r14 + r15 + 8]
mov dword [r12 + r15 + 4], eax
call fcn.005ab968
mov r9d, eax
shr rax, 0x20
mov dword [r12 + r15 + 8], r9d
mov dword [r12 + r15 + 0xc], eax
add r15, 0x10
cmp r13, r15
jne 0x55dbc5
mov ebx, dword [rsp + 0x3c]
mov rcx, qword [rsp + 0x30]
call fcn.005b9c20
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov r8, rax
mov rsi, rax
call fcn.005aa0a0
test edi, edi
jle 0x55dea7
mov r15d, ebx
mov r10d, edi
xor r14d, r14d
shr r15d, 0x1f
sar r10d, 1
movsxd r12, edi
lea r11d, [rdi - 1]
add r15d, ebx
mov dword [rsp + 0x3c], r10d
sar r15d, 1
add r11, 1
mov qword [rsp + 0x30], r11
lea r13d, [rbx + r15]
nop
test ebx, ebx
jle 0x55de98
mov eax, dword [rsp + 0x3c]
mov r9d, r15d
mov rcx, r14
mov r10, qword [rbp]
mov r8, qword [rbp + 8]
add eax, r14d
cdq
idiv edi
mov eax, r13d
sub r8, r10
sub eax, r15d
sar r8, 2
and eax, 3
mov r11d, edx
je 0x55dda0
cmp eax, 1
je 0x55dd55
cmp eax, 2
je 0x55dd17
mov eax, r15d
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, r14
movsxd rdx, edx
movss xmm3, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + r14*4], xmm3
movss xmm4, dword [rsi + r14*8]
jae 0x55df21
movss dword [r10 + rdx*4], xmm4
lea rcx, [r14 + r12]
lea r9d, [r15 + 1]
mov eax, r9d
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, rcx
movsxd rdx, edx
movss xmm5, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + rcx*4], xmm5
movss xmm6, dword [rsi + rcx*8]
jae 0x55df21
movss dword [r10 + rdx*4], xmm6
add rcx, r12
add r9d, 1
mov eax, r9d
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, rcx
movsxd rdx, edx
movss xmm0, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + rcx*4], xmm0
movss xmm1, dword [rsi + rcx*8]
jae 0x55df21
add r9d, 1
add rcx, r12
movss dword [r10 + rdx*4], xmm1
cmp r13d, r9d
je 0x55de98
nop dword [rax]
mov eax, r9d
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, rcx
movsxd rdx, edx
movss xmm2, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + rcx*4], xmm2
movss xmm3, dword [rsi + rcx*8]
jae 0x55df21
lea eax, [r9 + 1]
movss dword [r10 + rdx*4], xmm3
add rcx, r12
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, rcx
movsxd rdx, edx
movss xmm4, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + rcx*4], xmm4
movss xmm5, dword [rsi + rcx*8]
jae 0x55df21
lea eax, [r9 + 2]
movss dword [r10 + rdx*4], xmm5
add rcx, r12
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, rcx
movsxd rdx, edx
movss xmm6, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + rcx*4], xmm6
movss xmm0, dword [rsi + rcx*8]
jae 0x55df21
lea eax, [r9 + 3]
movss dword [r10 + rdx*4], xmm0
add rcx, r12
cdq
idiv ebx
imul edx, edi
add edx, r11d
cmp r8, rcx
movsxd rdx, edx
movss xmm1, dword [rsi + rdx*8]
jbe 0x55df2d
cmp rdx, r8
movss dword [r10 + rcx*4], xmm1
movss xmm2, dword [rsi + rcx*8]
jae 0x55df21
add r9d, 4
add rcx, r12
movss dword [r10 + rdx*4], xmm2
cmp r13d, r9d
jne 0x55dda0
add r14, 1
cmp qword [rsp + 0x30], r14
jne 0x55dc90
mov rcx, qword [rsp + 0x48]
call fcn.005b9c88
mov rcx, qword [rsp + 0x40]
call fcn.005b9c88
nop
movaps xmm6, xmmword [rsp + 0x60]
mov rcx, rsi
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.005b9c88
movss xmm1, dword [r14 + 4]
mov r15d, 8
movss xmm3, dword [rsi + 4]
movss xmm2, dword [rsi]
xorps xmm1, xmm6
movss xmm0, dword [r14]
call fcn.005ab968
mov r8, qword [rsp + 0x40]
mov edx, eax
shr rax, 0x20
cmp r13, 8
mov r12, qword [rsp + 0x40]
mov dword [r8], edx
mov dword [r8 + 4], eax
jne 0x55dbc1
jmp 0x55dc38
lea rcx, [0x006f98b0]
call fcn.005ab768
mov rdx, rcx
lea rcx, [0x006f98b0]
call fcn.005ab768
nop
nop dword [rax]