Function at 0x140129fe0
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x1fa8]
mov eax, 0x20a8
call fcn.1400496c0
sub rsp, rax
xor r12d, r12d
movaps xmmword [rsp + 0x2090], xmm6
mov eax, 0x810
movsxd rsi, r8d
xorps xmm6, xmm6
mov r10d, r9d
mov ebx, edx
mov r14, rcx
mov edi, r12d
movups xmmword [rsp + 0x20], xmm6
cmp word [rcx + 0x16], ax
jbe 0x14012a03a
xorps xmm0, xmm0
jmp 0x14012a400
mov eax, 0x40
mov qword [rsp + 0x20f0], r13
sub eax, ebx
mov qword [rsp + 0x20a0], r15
mov dword [rsp + 0x34], eax
mov edx, r12d
lea rax, [rsp + 0x50]
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x48], 2
nop
mov rcx, qword [r14 + 0x54860]
test edx, edx
mov eax, r10d
cmovne eax, dword [rbp + 0x2000]
xor r8d, r8d
movsxd rdx, eax
mov r9, qword [rcx]
call qword [r9 + 0x18]
movzx eax, word [r14 + 0x16]
mov edx, r12d
mov dword [rbp + 0x1fe0], edx
mov r15d, r12d
cmp r12w, ax
jae 0x14012a135
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
sub r15d, ebx
jns 0x14012a0fc
nop word [rax + rax]
mov rcx, rsi
mov ebx, r12d
shl rdi, cl
test esi, esi
jle 0x14012a0eb
nop dword [rax]
mov rcx, qword [r14 + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov ecx, ebx
add ebx, 8
shl eax, cl
or rdi, rax
cmp ebx, esi
jl 0x14012a0d0
add r15d, esi
js 0x14012a0c0
mov edx, dword [rbp + 0x1fe0]
mov ebx, dword [rbp + 0x1fe8]
mov ecx, 0x40
inc edx
sub ecx, r15d
mov dword [rbp + 0x1fe0], edx
sub ecx, ebx
mov rax, rdi
shl rax, cl
mov ecx, dword [rsp + 0x34]
shr rax, cl
mov rcx, qword [rsp + 0x40]
mov word [rcx], ax
add rcx, 2
movzx eax, word [r14 + 0x16]
mov qword [rsp + 0x40], rcx
cmp edx, eax
jl 0x14012a0b5
mov edx, dword [rsp + 0x30]
add qword [rsp + 0x38], 0x1020
inc edx
sub qword [rsp + 0x48], 1
mov r10d, dword [rbp + 0x1ff8]
mov dword [rsp + 0x30], edx
jne 0x14012a070
mov r15, qword [rsp + 0x20a0]
mov r13, qword [rsp + 0x20f0]
movzx edi, ax
dec edi
cmp edi, 4
jl 0x14012a343
mov r14d, 2
lea esi, [rdi - 3]
mov r11d, r14d
mov rbx, r12
nop dword [rax + rax]
movzx r9d, word [rbp + rbx*2 + 0xf72]
mov rcx, r11
movzx r8d, word [rsp + rbx*2 + 0x52]
and ecx, 1
movzx edx, word [rsp + rbx*2 + 0x50]
movzx r10d, word [rbp + rbx*2 + 0xf74]
sub edx, r9d
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
movd xmm0, edx
movzx edx, word [rbp + rbx*2 + 0xf70]
cvtdq2pd xmm0, xmm0
sub edx, r8d
sub r8d, r10d
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, r8d
sar eax, 0x1f
addsd xmm0, qword [rsp + rcx*8 + 0x20]
xor r8d, eax
sub r8d, eax
movsd qword [rsp + rcx*8 + 0x20], xmm0
mov ecx, r12d
not ecx
movd xmm0, edx
movzx edx, word [rsp + rbx*2 + 0x54]
and ecx, 1
cvtdq2pd xmm0, xmm0
sub r9d, edx
mov eax, r9d
sar eax, 0x1f
xor r9d, eax
sub r9d, eax
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
lea rcx, [r11 - 1]
and ecx, 1
movd xmm0, r8d
movzx r8d, word [rbp + rbx*2 + 0xf76]
cvtdq2pd xmm0, xmm0
sub edx, r8d
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
lea ecx, [r14 - 1]
not ecx
movd xmm0, r9d
and ecx, 1
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
mov rcx, r11
and ecx, 1
movd xmm0, edx
movzx edx, word [rsp + rbx*2 + 0x56]
sub r10d, edx
cvtdq2pd xmm0, xmm0
mov eax, r10d
sar eax, 0x1f
xor r10d, eax
sub r10d, eax
movzx eax, word [rbp + rbx*2 + 0xf78]
sub edx, eax
mov eax, edx
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
mov ecx, r14d
not ecx
movd xmm0, r10d
and ecx, 1
cvtdq2pd xmm0, xmm0
sar eax, 0x1f
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
lea rcx, [r11 - 1]
xor edx, eax
and ecx, 1
sub edx, eax
movzx eax, word [rsp + rbx*2 + 0x58]
add r12d, 4
sub r8d, eax
add rbx, 4
mov eax, r8d
add r11, 4
sar eax, 0x1f
xor r8d, eax
movd xmm0, edx
cvtdq2pd xmm0, xmm0
sub r8d, eax
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
lea ecx, [r14 - 1]
not ecx
movd xmm0, r8d
and ecx, 1
add r14d, 4
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
cmp r12d, esi
jl 0x14012a190
cmp r12d, edi
jl 0x14012a34e
jmp 0x14012a3dc
test edi, edi
jle 0x14012a3e1
mov rbx, r12
lea r10, [rsp + 0x50]
movsxd r11, r12d
lea r10, [r10 + rbx*2]
movzx ebx, word [r10]
movzx eax, word [r10 + 0x1022]
mov rdx, r11
and edx, 1
movzx r8d, bx
movzx ebx, word [r10 + 2]
sub r8d, eax
mov ecx, r8d
inc r11
sar ecx, 0x1f
mov eax, ecx
xor eax, r8d
movzx r8d, word [r10 + 0x1020]
sub eax, ecx
sub r8d, ebx
mov ecx, r8d
add r10, 2
sar ecx, 0x1f
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
xor eax, r8d
sub eax, ecx
addsd xmm0, qword [rsp + rdx*8 + 0x20]
movsd qword [rsp + rdx*8 + 0x20], xmm0
mov edx, r12d
not edx
movd xmm0, eax
and edx, 1
inc r12d
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rsp + rdx*8 + 0x20]
movsd qword [rsp + rdx*8 + 0x20], xmm0
cmp r12d, edi
jl 0x14012a35e
movups xmm6, xmmword [rsp + 0x20]
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
divsd xmm6, xmm1
movaps xmm0, xmm6
call fcn.1402ec510
mulsd xmm0, qword [0x140318aa0]
cvtsd2ss xmm0, xmm0
movaps xmm6, xmmword [rsp + 0x2090]
add rsp, 0x20a8
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret