Function at 0x140031920
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
mov rbp, rsp
nop
sub rsp, 0x10896d86
add rsp, 0x10896d16
lea rdi, [rcx + 0x6b8]
mov dword [rcx + 0x518], 0x4beae127
sub dword [rcx + 0x518], 0x13e0c7d2
xor dword [rcx + 0x518], 0x3c6a060e
xor dword [rcx + 0x518], 0x4601f5a
xor esi, esi
mov word [rcx + 0x698], 0x1017
add word [rcx + 0x698], 0x2221
add word [rcx + 0x698], 0x11ec
sub word [rcx + 0x698], 0x4323
cmp qword [rdi + 0x78], 0x78
mov rbx, rcx
jbe 0x1400319ba
mov rcx, qword [rdi]
xor edx, edx
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rdi]
call fcn.140083f00
jmp 0x1400319ce
cmp qword [rdi + 0x78], rsi
jbe 0x1400319ce
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax]
lea rax, [0x140002580]
mov qword [rdi + 0x78], 0x5f3a62a6
sub qword [rdi + 0x78], 0x3fb2aba7
xor qword [rdi + 0x78], 0x5a194757
sub qword [rdi + 0x78], 0x459ef198
mov qword [rdi], rax
mov dword [rbp - 0x2e], 0x10bd31aa
add dword [rbp - 0x2e], 0x47372ab9
sub dword [rbp - 0x2e], 0x21cb88a
sub dword [rbp - 0x2e], 0x559ea341
mov dword [rbp - 0x2a], 0x7681ef5b
sub dword [rbp - 0x2a], 0x15bb2531
sub dword [rbp - 0x2a], 0x37aa7db
sub dword [rbp - 0x2a], 0x5d41220b
mov dword [rbp - 0x26], 0x67e5381c
xor dword [rbp - 0x26], 0x5622125a
sub dword [rbp - 0x26], 0x31a0299a
mov dword [rbp - 0x22], 0x183d041a
xor dword [rbp - 0x22], 0x5f7c43c6
xor dword [rbp - 0x22], 0x4e023ebd
sub dword [rbp - 0x22], 0x915795a
mov dword [rbp - 0x1e], 0x6c886715
xor dword [rbp - 0x1e], 0x40eb4d3d
add dword [rbp - 0x1e], 0x4ac76c04
xor dword [rbp - 0x1e], 0x7708969c
mov qword [rbp + 0x20], rsi
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x20]
mov edx, 0x65fc1917
add edx, 0x8511033
sub edx, 0x3b31a99f
add edx, 0x170dcf31
mov rax, qword [rbp + 0x20]
and cl, 3
shl cl, 3
shr edx, cl
movzx ecx, dl
xor cx, word [rbp + rax*2 - 0x2e]
mov rax, qword [rbp + 0x20]
mov word [rbp + rax*2 - 0x1a], cx
mov rax, qword [rbp + 0x20]
inc rax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
cmp rax, 0xa
jb 0x140031a85
xor edx, edx
mov word [rbp - 6], si
lea rcx, [rbp - 0x1a]
call fcn.140076a70
mov r8, rax
lea rdi, [rbp - 0x1a]
xor eax, eax
movabs r14, 0x5def00201097e66f
add r14, 0x268a5f44
add r14, 0x178e9d4f
sub r14, 0x148265c0
xor r8, r14
mov qword [rbx + 0x760], r8
lea ecx, [rax + 0xa]
rep stosb byte [rdi], al
cmp r8, r14
je 0x140031baa
xor r8, r14
mov edx, 0x45608970
xor edx, 0x421d13d8
sub edx, 0x47cc431
mov rcx, r8
call fcn.1400706c0
test rax, rax
je 0x140031baa
ror rax, 0x2c
movabs rcx, 0x19c4a3903abe172f
sub rcx, 0x2d1dbf77
sub rcx, 0x6034465
add rcx, 0x7fffffff
add rcx, 0xb913c93
add rax, rcx
movabs rcx, 0x26c94c3a3e71b75c
add rcx, 0x111005a2
sub rcx, 0x1eb2206d
add rcx, 0x7fffffff
xor rcx, 0x2aadfb26
not rax
add rax, rcx
mov qword [rbx + 0x770], rax
mov dword [rbp - 0x50], 0x408956b6
xor dword [rbp - 0x50], 0x64d01188
sub dword [rbp - 0x50], 0x18c549dc
xor dword [rbp - 0x50], 0xbeefdda
mov dword [rbp - 0x4c], 0x1c3ec9f4
add dword [rbp - 0x4c], 0x61fa2ea0
sub dword [rbp - 0x4c], 0x6aefddff
sub dword [rbp - 0x4c], 0x12d61a48
mov dword [rbp - 0x48], 0x58b01e23
add dword [rbp - 0x48], 0x11b32b03
sub dword [rbp - 0x48], 0x1eefbffa
xor dword [rbp - 0x48], 0x4b5989de
mov dword [rbp - 0x44], 0x3bf4645a
add dword [rbp - 0x44], 0x3c839a6e
xor dword [rbp - 0x44], 0x6848d56e
sub dword [rbp - 0x44], 0x10192b61
mov qword [rbp + 0x20], rsi
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x20]
mov edx, 0x422652db
sub edx, 0x26705751
add edx, 0x2e735352
mov rax, qword [rbp + 0x20]
and cl, 3
shl cl, 3
shr edx, cl
movzx ecx, dl
xor cx, word [rbp + rax*2 - 0x50]
mov rax, qword [rbp + 0x20]
mov word [rbp + rax*2 - 0x40], cx
mov rax, qword [rbp + 0x20]
inc rax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
cmp rax, 8
jb 0x140031c22
xor edx, edx
mov word [rbp - 0x30], si
lea rcx, [rbp - 0x40]
call fcn.140076a70
xor rax, r14
lea r11, [rsp + 0x70]
mov rsi, qword [r11 + 0x30]
lea rdi, [rbp - 0x40]
mov qword [rbx + 0x768], rax
xor eax, eax
mov rbx, qword [r11 + 0x28]
lea ecx, [rax + 8]
rep stosb byte [rdi], al
mov rsp, r11
pop r14
pop rdi
pop rbp
ret