Function at 0x1400d3990
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push r13
sub rsp, 0x70
mov rax, qword [rcx + 8]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 - 0x40], rax
mov rax, qword [rcx + 0x18]
mov qword [r11 - 0x10], rdi
mov qword [r11 - 0x18], r12
mov r12, qword [rcx + 0x10]
mov qword [r11 - 0x30], rax
mov rax, qword [rcx + 0x38]
xor ebp, ebp
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x58], rax
mov rax, qword [rcx + 0x48]
mov qword [r11 - 0x28], r15
mov r15, qword [rcx + 0x40]
mov r13, rcx
mov qword [rcx + 0x40], rbp
mov qword [rcx + 0x38], rbp
mov qword [rcx + 0x48], rbp
add rcx, 0x20
mov qword [r11 - 0x48], rax
mov qword [r11 - 0x38], r12
mov qword [r11 - 0x50], r15
call fcn.140093950
test r15, r15
je 0x1400d3a8a
nop dword [rax + rax]
mov r14, qword [r15 + 0x10]
test r14, r14
je 0x1400d3a82
mov rdx, qword [r14 + 0x38]
xor ecx, ecx
call fcn.1400f0dc0
mov rcx, qword [r14]
call fcn.14008ff80
mov rcx, qword [r14 + 8]
call fcn.14008ff80
mov rdx, qword [r14 + 0x18]
xor ecx, ecx
call fcn.1400c3430
mov rbx, qword [r14 + 0x20]
test rbx, rbx
je 0x1400d3a7a
mov esi, ebp
cmp dword [rbx + 8], ebp
jle 0x1400d3a6a
mov rdi, rbp
mov rcx, qword [rbx]
mov rcx, qword [rcx + rdi]
call fcn.14008ff80
inc esi
lea rdi, [rdi + 0x10]
cmp esi, dword [rbx + 8]
jl 0x1400d3a53
mov rcx, qword [rbx]
call fcn.14008ff80
mov rcx, rbx
call fcn.14008ff80
mov rcx, r14
call fcn.14008ff80
mov r15, qword [r15]
test r15, r15
jne 0x1400d3a10
lea rcx, [rsp + 0x20]
call fcn.140093950
xor r15d, r15d
mov qword [r13 + 0x10], r15
mov qword [r13 + 8], r15
mov qword [r13 + 0x18], r15
test r12, r12
je 0x1400d3cc5
mov ecx, 0xffff
mov r14, qword [r12 + 0x10]
test r14, r14
je 0x1400d3cb8
add word [r14 + 0x44], cx
jne 0x1400d3cb8
mov rsi, qword [r14 + 0x10]
test rsi, rsi
je 0x1400d3bfc
nop word [rax + rax]
mov r11, qword [rsi]
mov rbp, qword [rsi + 0x28]
mov rcx, r11
test r11, r11
jne 0x1400d3af4
mov ecx, r15d
jmp 0x1400d3b11
cmp byte [r11], 0
je 0x1400d3b08
nop word [rax + rax]
inc rcx
cmp byte [rcx], 0
jne 0x1400d3b00
sub ecx, r11d
and ecx, 0x3fffffff
mov rbx, qword [rsi + 0x30]
mov edi, dword [rbx + 0x20]
test edi, edi
je 0x1400d3b5d
mov r9d, ecx
mov r10, r11
mov eax, r15d
test ecx, ecx
jle 0x1400d3b55
lea r15, [0x1401bb890]
movzx edx, byte [r10]
dec r9d
lea r10, [r10 + 1]
movzx r8d, byte [rdx + r15]
lea edx, [rax*8]
xor r8d, edx
xor eax, r8d
test r9d, r9d
jg 0x1400d3b30
xor r15d, r15d
xor edx, edx
div edi
mov edi, edx
jmp 0x1400d3b60
mov edi, r15d
mov r8d, ecx
lea rcx, [rbx + 0x20]
mov r9d, edi
mov rdx, r11
call fcn.140093c80
mov rdx, rax
test rax, rax
je 0x1400d3bdb
mov rax, qword [rax + 8]
test rax, rax
je 0x1400d3b8b
mov rcx, qword [rdx]
mov qword [rax], rcx
jmp 0x1400d3b92
mov rax, qword [rdx]
mov qword [rbx + 0x28], rax
mov rcx, qword [rdx]
test rcx, rcx
je 0x1400d3ba2
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x1400d3bc5
mov r8d, edi
shl r8, 4
add r8, rax
cmp qword [r8 + 8], rdx
jne 0x1400d3bc2
mov rax, qword [rdx]
mov qword [r8 + 8], rax
dec dword [r8]
mov rcx, rdx
call fcn.14008ff80
dec dword [rbx + 0x24]
jne 0x1400d3bdb
lea rcx, [rbx + 0x20]
call fcn.140093950
mov rdx, qword [rsi + 0x20]
xor ecx, ecx
call fcn.140090030
mov rdx, rsi
xor ecx, ecx
call fcn.140090030
mov rsi, rbp
test rbp, rbp
jne 0x1400d3ae0
mov rdx, r14
xor ecx, ecx
call fcn.1400dbe10
mov rdx, r14
xor ecx, ecx
call fcn.1400cd570
mov rdx, qword [r14]
xor ecx, ecx
call fcn.140090030
mov rdx, qword [r14 + 0x28]
xor ecx, ecx
call fcn.140090030
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x1400d3c42
mov rdx, rbx
xor ecx, ecx
call fcn.1400e7140
mov rdx, rbx
xor ecx, ecx
call fcn.140090030
mov rdi, qword [r14 + 0x30]
test rdi, rdi
je 0x1400d3c9f
cmp dword [rdi], 0
mov rbx, qword [rdi + 8]
mov esi, r15d
jle 0x1400d3c8a
nop word [rax + rax]
mov rdx, qword [rbx]
xor ecx, ecx
call fcn.1400c3430
mov rdx, qword [rbx + 8]
xor ecx, ecx
call fcn.140090030
mov rdx, qword [rbx + 0x10]
xor ecx, ecx
call fcn.140090030
inc esi
lea rbx, [rbx + 0x28]
cmp esi, dword [rdi]
jl 0x1400d3c60
mov rdx, qword [rdi + 8]
xor ecx, ecx
call fcn.140090030
mov rdx, rdi
xor ecx, ecx
call fcn.140090030
mov rdx, r14
xor ecx, ecx
call fcn.1400f6070
mov rdx, r14
xor ecx, ecx
call fcn.140090030
mov ecx, 0xffff
mov r12, qword [r12]
test r12, r12
jne 0x1400d3ab1
lea rcx, [rsp + 0x38]
call fcn.140093950
lea rcx, [r13 + 0x50]
call fcn.140093950
movzx eax, word [r13 + 0x72]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov qword [r13 + 0x68], r15
mov r15, qword [rsp + 0x50]
test al, 1
je 0x1400d3d22
inc dword [r13 + 4]
mov ecx, 0xfffe
and ax, cx
mov word [r13 + 0x72], ax
add rsp, 0x70
pop r13
ret