Function at 0x44cb53
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rax, qword [rbp + 0x10]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rax]
xor rcx, rdx
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp + 0x18]
cmp rax, 0x10
ja 0x44cc89
mov rax, qword [rbp + 0x18]
cmp rax, 4
jb 0x44cc34
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
call fcn.0044eadd
shl rax, 0x20
mov rcx, qword [rbp + 0x18]
shr rcx, 3
shl rcx, 2
mov rdx, qword [rbp - 8]
add rdx, rcx
mov r10, rdx
mov qword [rbp - 0x20], rax
mov rcx, r10
call fcn.0044eadd
mov rcx, qword [rbp - 0x20]
or rcx, rax
mov qword [rbp - 0x10], rcx
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp - 8]
add rcx, rax
sub rcx, 4
mov r10, rcx
mov rcx, r10
call fcn.0044eadd
shl rax, 0x20
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp - 8]
add rdx, rcx
sub rdx, 4
mov rcx, qword [rbp + 0x18]
shr rcx, 3
shl rcx, 2
sub rdx, rcx
mov r10, rdx
mov qword [rbp - 0x20], rax
mov rcx, r10
call fcn.0044eadd
mov rcx, qword [rbp - 0x20]
or rcx, rax
mov qword [rbp - 0x18], rcx
jmp 0x44cc84
mov rax, qword [rbp + 0x18]
cmp rax, 0
jbe 0x44cc72
mov rax, qword [rbp + 0x18]
mov r11, rax
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044eb17
mov qword [rbp - 0x10], rax
movabs rax, 0
mov qword [rbp - 0x18], rax
jmp 0x44cc84
movabs rax, 0
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
jmp 0x44cea7
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
cmp rax, 0x30
jbe 0x44cdef
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp + 0x28]
add rcx, 8
mov rdx, qword [rcx]
xor rax, rdx
mov rcx, qword [rbp - 8]
add rcx, 8
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp + 0x20]
xor rax, rcx
mov r11, rax
mov rax, qword [rbp - 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044ea69
mov qword [rbp + 0x20], rax
mov rax, qword [rbp - 8]
add rax, 0x10
mov r10, rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp + 0x28]
add rcx, 0x10
mov rdx, qword [rcx]
xor rax, rdx
mov rcx, qword [rbp - 8]
add rcx, 0x18
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp - 0x30]
xor rax, rcx
mov r11, rax
mov rax, qword [rbp - 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044ea69
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 8]
add rax, 0x20
mov r10, rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp + 0x28]
add rcx, 0x18
mov rdx, qword [rcx]
xor rax, rdx
mov rcx, qword [rbp - 8]
add rcx, 0x28
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp - 0x38]
xor rax, rcx
mov r11, rax
mov rax, qword [rbp - 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044ea69
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 8]
add rax, 0x30
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x28]
sub rax, 0x30
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
cmp rax, 0x30
ja 0x44ccaf
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x38]
xor rax, rcx
mov rcx, qword [rbp + 0x20]
xor rcx, rax
mov qword [rbp + 0x20], rcx
mov rax, qword [rbp - 0x28]
cmp rax, 0x10
jbe 0x44ce6b
mov rax, qword [rbp - 8]
mov r10, rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp + 0x28]
add rcx, 8
mov rdx, qword [rcx]
xor rax, rdx
mov rcx, qword [rbp - 8]
add rcx, 8
mov r10, rcx
mov qword [rbp - 0x20], rax
mov rcx, r10
call fcn.0044eaa2
mov rcx, qword [rbp + 0x20]
xor rax, rcx
mov r11, rax
mov rax, qword [rbp - 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044ea69
mov qword [rbp + 0x20], rax
mov rax, qword [rbp - 0x28]
sub rax, 0x10
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 8]
add rax, 0x10
mov qword [rbp - 8], rax
jmp 0x44cdef
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
add rcx, rax
sub rcx, 0x10
mov r10, rcx
mov rcx, r10
call fcn.0044eaa2
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
add rcx, rax
sub rcx, 8
mov r10, rcx
mov rcx, r10
call fcn.0044eaa2
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x28]
add rax, 8
mov rcx, qword [rax]
mov rax, qword [rbp + 0x18]
xor rcx, rax
mov rax, qword [rbp + 0x28]
add rax, 8
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rax]
xor rdx, rcx
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x20]
xor rax, rcx
mov r11, rax
mov r10, rdx
mov rcx, r10
mov rdx, r11
call fcn.0044ea69
mov r11, rax
mov rax, qword [rbp - 0x20]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044ea69
leave
ret