Function at 0x140069584
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
lea rbp, [rsp + 0x30]
mov rax, qword [0x1402aaed0]
xor rax, rbp
mov qword [rbp + 0x30], rax
mov eax, dword [rcx + 8]
xor ebx, ebx
mov dword [rbp + 4], eax
mov r13, r8
neg eax
movsxd r14, r9d
mov dword [rbp], edx
mov rdi, rcx
sbb r12w, r12w
mov qword [rbp + 8], rbx
not r12w
mov qword [rbp + 0x18], rbx
and r12w, 0x80
lea esi, [rbx + 1]
mov r15d, ebx
cmp dword [rcx + 0x10], ebx
jne 0x14006975e
cmp dword [rcx + 0x48], ebx
je 0x14006973d
cmp dword [rcx + 0x4c], r14d
jge 0x14006973d
cmp dword [rcx + 0x58], ebx
jne 0x1400696d4
lea r9, [rbp + 8]
xor r8d, r8d
mov rdx, r14
mov rcx, r13
call fcn.14004c97c
test eax, eax
jne 0x14006973d
mov rbx, qword [rbp + 8]
cmp rbx, r14
jae 0x1400696ba
mov eax, 0xffffffff
cmp rbx, rax
jae 0x14006964a
cmp rax, rbx
je 0x14006964a
mov eax, 0xffffffe7
cmp rbx, rax
jae 0x14006964a
lea rcx, [rbx + 0x18]
call fcn.1401c2864
jmp 0x14006964c
xor eax, eax
movsxd rdx, ebx
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call fcn.14008ba98
mov rbx, r14
mov qword [rbp + 0x18], rax
mov rdx, rbx
lea r9, [rbp + 8]
mov r8, rax
mov rcx, r13
mov r15, rax
call fcn.14004c97c
test eax, eax
jne 0x14006973d
and dword [rdi + 0x5c], eax
lea rcx, [rbp + 0x20]
and dword [rdi + 0x58], eax
movzx edx, r12w
add qword [rdi + 0x68], rbx
mov eax, 0xc000
mov r14, qword [rbp + 8]
or dx, ax
mov ebx, dword [rbp]
mov r9d, r14d
movzx r8d, bx
mov r13, r15
call fcn.1400a5c1c
movsxd r15, eax
add qword [rdi + 0x68], r15
jmp 0x1400696e9
add dword [rdi + 0x5c], esi
mov eax, dword [rdi + 0x5c]
mov ebx, dword [rbp]
cmp eax, dword [rdi + 0x54]
jle 0x140069740
mov eax, dword [rdi + 0x50]
and dword [rdi + 0x5c], r15d
mov dword [rdi + 0x58], eax
jmp 0x1400696e9
cmp dword [rcx + 0x4c], r14d
jge 0x14006973d
mov eax, dword [rcx + 0x58]
mov ebx, dword [rbp]
test eax, eax
jle 0x140069740
dec eax
mov dword [rcx + 0x58], eax
test r15d, r15d
je 0x140069740
xor ebx, ebx
cmp dword [rbp + 4], ebx
jne 0x140069883
lea eax, [r15 + 4]
add eax, r14d
movsxd rdx, eax
mov dword [rbp + 4], eax
mov eax, 0xffffffc7
cmp rdx, rax
jae 0x140069781
lea rax, [rdx + 0x38]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140069727
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401b9e30
sub rsp, rcx
lea rcx, [rsp + 0x30]
jmp 0x140069784
mov ebx, dword [rbp]
mov edx, 0x8000
lea rcx, [rbp + 0x20]
or dx, r12w
mov r9d, r14d
movzx r8d, bx
call fcn.1400a5c1c
mov r15d, eax
jmp 0x1400696ee
mov edx, 0x8000
mov dword [rcx + 0x10], ebx
or dx, r12w
lea rcx, [rbp + 0x20]
xor r8d, r8d
mov r9d, r14d
call fcn.1400a5c1c
mov r15d, eax
jmp 0x1400696f0
mov rcx, rbx
mov r9d, esi
mov r8d, 8
call fcn.14008ba98
movsxd r12, r15d
lea r8, [rbp + 0x20]
mov r9, r12
mov rdx, r12
mov rbx, rax
lea rcx, [rax + 8]
mov qword [rax], rcx
mov rcx, rax
call section..text
mov edx, 4
lea rcx, [r12 + rbx]
call fcn.1400c9560
lea r10, [r12 + rbx]
mov r11d, dword [r10]
test r14d, r14d
jle 0x140069849
movsxd r8, r14d
xor edx, edx
mov rcx, r8
sar rcx, 2
test rcx, rcx
jle 0x140069802
mov r10, r12
mov r9, r13
sub r10, r13
mov edx, ecx
add r10, rbx
mov eax, r11d
xor eax, dword [r9]
mov dword [r10 + r9 + 4], eax
lea r9, [r9 + 4]
sub rcx, rsi
jne 0x1400697ea
lea r10, [r12 + rbx]
shl edx, 2
movsxd rcx, edx
cmp rcx, r8
jge 0x140069849
sub r13, r12
lea rax, [rcx + r12]
lea r9, [rbx + 4]
sub r13, rbx
add r9, rax
sub r8, rcx
mov eax, edx
and eax, 0x80000003
jge 0x140069831
sub eax, esi
or eax, 0xfffffffc
add eax, esi
cdqe
add edx, esi
mov cl, byte [rax + r10]
xor cl, byte [r9 + r13 - 4]
mov byte [r9], cl
add r9, rsi
sub r8, rsi
jne 0x140069821
mov rcx, qword [rdi + 0x88]
call fcn.14008bbd0
test eax, eax
je 0x14006987c
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x14006986a
mov rcx, qword [rax]
jmp 0x14006986c
xor ecx, ecx
mov r9d, dword [rbp + 4]
mov r8, rbx
xor edx, edx
call fcn.14007b070
mov esi, eax
xor ebx, ebx
jmp 0x14006991e
mov rcx, qword [rdi]
call fcn.140093f4c
test eax, eax
je 0x140069928
mov rcx, qword [rdi + 0x88]
call fcn.14008bbd0
test r14d, r14d
jle 0x1400698f6
test eax, eax
je 0x1400698ca
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x1400698b9
mov rcx, qword [rax]
jmp 0x1400698bc
mov rcx, rbx
mov r9d, r15d
lea r8, [rbp + 0x20]
xor edx, edx
call fcn.14007b070
mov rcx, qword [rdi + 0x88]
call fcn.14008bbd0
test eax, eax
je 0x14006991e
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x1400698eb
mov rcx, qword [rax]
jmp 0x1400698ee
mov rcx, rbx
mov r9d, r14d
mov r8, r13
jmp 0x140069915
test eax, eax
je 0x14006991e
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x14006990b
mov rcx, qword [rax]
jmp 0x14006990e
mov rcx, rbx
mov r9d, r15d
lea r8, [rbp + 0x20]
xor edx, edx
call fcn.14007b070
mov esi, eax
test esi, esi
sete bl
jmp 0x1400699d5
lea eax, [r14 + r15]
movsxd rbx, eax
mov dword [rbp + 4], eax
mov eax, 0xffffffff
cmp rbx, rax
jae 0x140069956
cmp rax, rbx
je 0x140069956
mov eax, 0xffffffe7
cmp rbx, rax
jae 0x140069956
lea rcx, [rbx + 0x18]
call fcn.1401c2864
jmp 0x140069958
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.14008ba98
movsxd rbx, r15d
lea r8, [rbp + 0x20]
mov r9, rbx
mov rdx, rbx
mov rcx, rax
mov r12, rax
call section..text
movsxd rdx, r14d
lea rcx, [rbx + r12]
mov r9, rdx
mov r8, r13
call section..text
mov rcx, qword [rdi + 0x88]
call fcn.14008bbd0
test eax, eax
je 0x1400699c6
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x1400699b4
mov rcx, qword [rax]
jmp 0x1400699b6
xor ecx, ecx
mov r9d, dword [rbp + 4]
mov r8, r12
xor edx, edx
call fcn.14007b070
mov esi, eax
xor ebx, ebx
mov rcx, r12
test esi, esi
sete bl
call fcn.14008bb80
movsxd rcx, r14d
movsxd rdx, r15d
lea rax, [rdx + rcx]
add qword [rdi + 0x78], rax
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x1400699f6
mov rcx, rax
call fcn.14008bb80
jmp 0x1400699fd
add rcx, rdx
add qword [rdi + 0x68], rcx
mov eax, ebx
mov rcx, qword [rbp + 0x30]
xor rcx, rbp
call fcn.1401b98c0
lea rsp, [rbp + 0x48]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret