Function at 0x140044350
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov r14, qword [rcx]
test r14, r14
je 0x140044392
mov r11, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x1400443a3
test r11, r11
je 0x14004479e
mov ecx, r11d
and ecx, 7
jne 0x140044718
mov rax, r11
jmp 0x140044742
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r15, 0xf4f7cdd658b9c443
movabs r12, 0xa303c00ea080835e
movabs r13, 0x6b2de1e131ef1856
movabs rbp, 0x6b17f5c132ed995b
movabs r10, 0x478774398a0408ee
mov rax, r14
xor r14d, r14d
jmp 0x1400443fd
mov eax, 0
mov r9, qword [rsp + 0x30]
dec r9
movabs r10, 0x478774398a0408ee
je 0x14004479e
test r14, r14
je 0x140044430
mov qword [rsp + 0x30], r9
movzx ecx, word [r14 + 0x3d2]
cmp r11, rcx
jae 0x140044510
mov rbx, r11
mov rdi, rax
mov rsi, r14
jmp 0x14004456c
test r11, r11
jne 0x14004443d
mov r14, rax
jmp 0x1400444ee
movabs rcx, 0xff5f1bbe9af32a73
lea rdx, [rcx + 1]
xor rdx, rcx
mov rcx, r11
mov r14, rax
and rdx, r11
je 0x140044489
mov rcx, r11
mov r14, rax
xor eax, eax
nop word cs:[rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rcx
lea r8, [r10 + 1]
xor r8, r10
add rax, r8
cmp rax, rdx
jne 0x140044470
mov rax, qword [0x1400d58d8]
movabs rdx, 0x9d7686f04201daf8
xor rax, rdx
cmp r11, rax
jb 0x1400444ee
nop word cs:[rax + rax]
mov rax, qword [r14 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r14, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x1400444b0
xor eax, eax
xor r11d, r11d
mov qword [rsp + 0x30], r9
movzx ecx, word [r14 + 0x3d2]
cmp r11, rcx
jb 0x140044418
nop dword [rax]
mov rsi, qword [r14 + 0x160]
test rsi, rsi
je 0x140044884
lea rdi, [r12 + 1]
xor rdi, r12
add rdi, rax
movzx ebx, word [r14 + 0x3d0]
lea rcx, [rbp + 0x128]
xor rcx, rbp
lea rdx, [r13 + 0x418]
xor rdx, r13
test rax, rax
cmove rdx, rcx
lea r8, [r15 + 8]
xor r8, r15
mov rcx, r14
call fcn.1400546c0
mov r14, rsi
mov rax, rdi
cmp bx, word [rsi + 0x3d2]
jae 0x140044510
movabs rax, 0x5bac472672339792
lea r11, [rax + 1]
xor r11, rax
add r11, rbx
test rdi, rdi
movabs r9, 0xf92a04250c48498c
jne 0x1400445a0
mov r14, rsi
jmp 0x140044651
mov r14, qword [rsi + r11*8 + 0x3d8]
mov rax, rdi
dec rax
je 0x14004464e
movabs rdx, 0x9444c4adb8bb61db
lea rcx, [rdx + 1]
xor rcx, rdx
and rcx, rax
je 0x1400445e9
xor edx, edx
nop dword [rax]
mov r14, qword [r14 + 0x3d8]
dec rax
lea r8, [r9 + 1]
xor r8, r9
add rdx, r8
cmp rdx, rcx
jne 0x1400445d0
add rdi, 0xfffffffffffffffe
movabs rdx, 0x8e3bf859738bb501
lea rcx, [rdx + 5]
xor rcx, rdx
cmp rdi, rcx
jb 0x14004464e
nop word cs:[rax + rax]
mov rcx, qword [r14 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r14, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x140044610
xor r11d, r11d
imul rax, rbx, 0x38
lea rdi, [rsi + rax]
add rdi, 0x168
mov rdx, qword [rsi + rax + 0x168]
test rdx, rdx
je 0x140044691
mov rcx, qword [rdi + 8]
movabs rax, 0xbb1475882668cc34
lea r8, [rax + 1]
xor r8, rax
mov qword [rsp + 0x28], r11
call fcn.1400546c0
mov r11, qword [rsp + 0x28]
mov rdx, qword [rdi + 0x20]
test rdx, rdx
je 0x1400446cc
movabs rax, 0xadecb4f1c2b8fa0e
lea ecx, [rax + 1]
xor ecx, eax
shl rdx, cl
mov rcx, qword [rdi + 0x28]
movabs rax, 0xce12283c4dd09ee9
lea r8, [rax + 2]
xor r8, rax
mov rdi, r11
call fcn.1400546c0
mov r11, rdi
shl rbx, 5
mov rdx, qword [rsi + rbx]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1400443e0
test rdx, rdx
je 0x1400443e0
add rsi, rbx
mov rcx, qword [rsi + 8]
movabs rax, 0xd94c451a0056c3e6
lea r8, [rax + 1]
xor r8, rax
mov rsi, r11
call fcn.1400546c0
mov r11, rsi
jmp 0x1400443e0
movabs rax, 0x6115a7188b00fcaa
xor edx, edx
lea r8, [rax + 1]
xor r8, rax
mov rax, r11
nop
add rdx, r8
mov r14, qword [r14 + 0x3d8]
dec rax
cmp rdx, rcx
jne 0x140044730
movabs rcx, 0x2e8081fd00c6a952
lea rdx, [rcx + 8]
xor rdx, rcx
cmp r11, rdx
jb 0x14004479e
nop dword [rax + rax]
mov rcx, qword [r14 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r14, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x140044760
mov rax, qword [r14 + 0x160]
test rax, rax
je 0x140044856
movabs rcx, 0x59b0a844db82998e
movabs rdx, 0x5854369d141a1753
movabs r8, 0x1953a04dd8de8a8b
movabs r9, 0x155369878b774a26
xor esi, esi
lea rbx, [r9 + 1]
xor rbx, r9
lea r15, [rcx + 0xc8]
xor r15, rcx
lea r12, [r8 + 0x428]
xor r12, r8
lea rdi, [rdx + 8]
xor rdi, rdx
nop word [rax + rax]
mov rcx, r14
mov r14, rax
test rsi, rsi
lea rsi, [rsi + rbx]
mov rdx, r12
cmove rdx, r15
mov r8, rdi
call fcn.1400546c0
mov rax, qword [r14 + 0x160]
test rax, rax
jne 0x140044800
movabs rax, 0x199baa42f33cedfe
lea rcx, [rax + 0x28]
xor rcx, rax
movabs rax, 0x5f316095c4095058
lea rdx, [rax + 0x408]
xor rdx, rax
test rsi, rsi
cmove rdx, rcx
jmp 0x14004485b
mov edx, 0x3d8
movabs rax, 0x5c228c009dde7c05
lea r8, [rax + 8]
xor r8, rax
mov rcx, r14
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400546c0
movabs rcx, 0xea29801012e885d3
lea r8, [rcx + 0x38]
xor r8, rcx
movabs rcx, 0x8e0c96a9a87971eb
lea rdx, [rcx + 0x3e8]
xor rdx, rcx
test rax, rax
cmove rdx, r8
movabs rax, 0x69cedf8f60a75b2
lea r8, [rax + 8]
xor r8, rax
mov rcx, r14
call fcn.1400546c0
ud2