Function at 0x14004bbd0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push r13
sub rsp, 0x58
mov r13, qword [rcx + 0x10]
mov rbx, rdx
movsxd rax, dword [rcx + 0x1c]
shl rax, 4
add rax, r13
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x20], rax
cmp r13, rax
je 0x14004bef5
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
nop
mov eax, dword [r13]
movsxd rsi, dword [r13 + 4]
mov r12d, dword [r13 + 8]
mov dword [rsp + 0x70], eax
mov eax, dword [r13 + 0xc]
add eax, esi
mov dword [rsp + 0x80], eax
cmp esi, eax
jge 0x14004bec0
mov r13d, dword [rsp + 0x70]
mov r15, rsi
nop dword [rax]
mov rdi, qword [rbx]
mov eax, esi
sub eax, dword [rbx + 0x18]
mov r11d, r13d
mov r10, qword [rbx + 8]
mov ebp, r12d
sub r11d, dword [rbx + 0x14]
movsxd rdx, dword [rdi + 0x14]
movsxd r14, eax
imul rdx, r15
add rdx, qword [rdi]
mov qword [rbx + 0x20], rdx
movsxd rax, dword [r10 + 0x14]
imul r14, rax
add r14, qword [r10]
mov qword [rbx + 0x28], r14
movsxd r9, dword [rdi + 0x18]
mov eax, r9d
imul eax, r13d
cdqe
add rax, rdx
cmp dword [rbx + 0x10], 0xfe
jge 0x14004bd9e
mov rdi, r9
nop word [rax + rax]
mov rcx, qword [rbx + 8]
mov edx, r11d
inc r11d
dec ebp
imul edx, dword [rcx + 0x18]
mov rcx, qword [rbx + 0x28]
movsxd r8, edx
movzx edx, byte [r8 + rcx]
mov r8d, 0x100
mov r10d, edx
shl r10d, 0x10
or r10d, edx
mov edx, 0x100
imul r10d, dword [rbx + 0x10]
shr r10d, 8
and r10d, 0xff00ff
mov ecx, r10d
shr ecx, 0x10
sub edx, ecx
mov ecx, dword [rax]
mov r9d, ecx
shr ecx, 8
and ecx, 0xff00ff
and r9d, 0xff00ff
imul ecx, edx
imul r9d, edx
mov edx, 0x100
shr ecx, 8
and ecx, 0xff00ff
shr r9d, 8
and r9d, 0xff00ff
add r9d, r10d
add r10d, ecx
mov ecx, r10d
shr ecx, 8
and ecx, 0xff00ff
sub r8d, ecx
mov ecx, r10d
shl ecx, 8
shl r8d, 8
or r8d, ecx
mov ecx, r9d
shr ecx, 8
and ecx, 0xff00ff
sub edx, ecx
mov ecx, r10d
or edx, r9d
shr ecx, 8
xor r8d, edx
shl r10d, 8
and ecx, 0xff00ff
and r8d, 0xff00ff
mov edx, 0x100
sub edx, ecx
shl edx, 8
or edx, r10d
xor r8d, edx
mov dword [rax], r8d
add rax, rdi
test ebp, ebp
jg 0x14004bcb0
jmp 0x14004bea6
movsxd r8, dword [r10 + 0x18]
mov ecx, r8d
imul ecx, r11d
movsxd r11, ecx
add r11, r14
cmp r9d, r8d
jne 0x14004bdd8
cmp dword [r10 + 0x10], 1
jne 0x14004bdd8
cmp dword [rdi + 0x10], 1
jne 0x14004bdd8
imul r8d, r12d
mov rdx, r11
mov rcx, rax
movsxd r8, r8d
call fcn.1400dd3e0
jmp 0x14004bea6
mov rdi, r9
mov r14, r8
nop
movzx ecx, byte [r11]
mov edx, 0x100
mov r10d, ecx
mov r8d, 0x100
shl r10d, 0x10
add r11, r14
or r10d, ecx
dec ebp
mov ecx, r10d
shr ecx, 0x10
sub edx, ecx
mov ecx, dword [rax]
mov r9d, ecx
shr ecx, 8
and ecx, 0xff00ff
and r9d, 0xff00ff
imul ecx, edx
imul r9d, edx
mov edx, 0x100
shr ecx, 8
and ecx, 0xff00ff
shr r9d, 8
and r9d, 0xff00ff
add r9d, r10d
add r10d, ecx
mov ecx, r10d
shr ecx, 8
and ecx, 0xff00ff
sub r8d, ecx
mov ecx, r10d
shl ecx, 8
shl r8d, 8
or r8d, ecx
mov ecx, r9d
shr ecx, 8
and ecx, 0xff00ff
sub edx, ecx
mov ecx, r10d
or edx, r9d
shr ecx, 8
xor r8d, edx
shl r10d, 8
and ecx, 0xff00ff
and r8d, 0xff00ff
mov edx, 0x100
sub edx, ecx
shl edx, 8
or edx, r10d
xor r8d, edx
mov dword [rax], r8d
add rax, rdi
test ebp, ebp
jg 0x14004bde0
inc esi
inc r15
cmp esi, dword [rsp + 0x80]
jl 0x14004bc50
mov r13, qword [rsp + 0x88]
add r13, 0x10
mov qword [rsp + 0x88], r13
cmp r13, qword [rsp + 0x20]
jne 0x14004bc20
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
add rsp, 0x58
pop r13
pop rbx
ret