Function at 0x140031b54
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp - 0x24], edi
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rdi
mov rcx, rcx
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
push r15
xchg rsp, rsp
xchg rsp, rbp
mov rsp, rbp
xchg rsp, rbp
sub rsp, 0x70
mov dword [rsp - 0x1c], ebp
lea rdi, [rcx + 0x6b8]
mov dword [rcx + 0x518], 0x4139739
add dword [rcx + 0x518], 0x2fab2249
xor dword [rcx + 0x518], 0x182c29f6
add dword [rcx + 0x518], 0x4594dcc8
xor dword [rcx + 0x518], 0x71276d3d
xor r15d, r15d
mov word [rcx + 0x698], 0x73d7
sub word [rcx + 0x698], 0x622
sub word [rcx + 0x698], 0x668d
sub word [rcx + 0x698], 0x627
cmp qword [rdi + 0x78], 0x78
mov dword [rsp - 0x18], 0x231f0e52
xchg rbp, rbx
mov rbp, rcx
xchg rbp, rbx
jbe 0x140031c45
mov dword [rsp - 0x34], 0x4420498c
xchg rdx, rcx
mov rdx, qword [rdi]
xchg rcx, rdx
xor edx, edx
mov r15, r15
xchg r15, rax
mov r15, qword [rcx]
xchg r15, rax
call qword [rax]
mov dword [rsp - 0x34], esi
mov rcx, qword [rdi]
call fcn.140077cf0
jmp 0x140031c69
cmp qword [rdi + 0x78], r15
jbe 0x140031c69
xchg r10, rax
mov r10, qword [rdi]
xchg r10, rax
xor edx, edx
xchg r15, r15
xchg rbx, rcx
mov rbx, rdi
xchg rcx, rbx
call qword [rax]
mov r12, r12
lea rax, [0x140002560]
mov qword [rdi + 0x78], 0x52dd1cc8
sub qword [rdi + 0x78], 0xab72824
sub qword [rdi + 0x78], 0x67e9510
xor qword [rdi + 0x78], 0x7130cfa4
sub qword [rdi + 0x78], 0x30979020
mov qword [rdi], rax
mov rdx, rdx
mov dword [rbp - 0x2e], 0x2a442566
xor dword [rbp - 0x2e], 0x4a2d9cb4
add dword [rbp - 0x2e], 0x1055a7cc
sub dword [rbp - 0x2e], 0x708260ff
mov dword [rbp - 0x2a], 0x65f2c885
sub dword [rbp - 0x2a], 0x4d92427f
xor dword [rbp - 0x2a], 0x5216c29e
sub dword [rbp - 0x2a], 0x70c14f8
sub dword [rbp - 0x2a], 0x43132f9b
mov dword [rbp - 0x26], 0x25f7c3c3
sub dword [rbp - 0x26], 0x1f60ffd9
add dword [rbp - 0x26], 0x10a605cf
sub dword [rbp - 0x26], 0x1719c90e
mov dword [rbp - 0x22], 0x526db98
xor dword [rbp - 0x22], 0x21d16295
xor dword [rbp - 0x22], 0x1c40c3a7
add dword [rbp - 0x22], 0x152d7211
sub dword [rbp - 0x22], 0x4d72ec75
mov dword [rbp - 0x1e], 0xa6b39d9
xor dword [rbp - 0x1e], 0x60851dec
add dword [rbp - 0x1e], 0x658611b
xor dword [rbp - 0x1e], 0x495f26f5
sub dword [rbp - 0x1e], 0x37f3a2ee
mov qword [rbp + 0x30], r15
mov dword [rsp - 0x34], ebx
xchg rbx, rax
mov rbx, qword [rbp + 0x30]
xchg rbx, rax
mov rcx, qword [rbp + 0x30]
mov rbx, rbx
mov edx, 0x4c8970b1
sub edx, 0x10db04a0
sub edx, 0x24569c7
xor edx, 0x2f014891
mov rax, qword [rbp + 0x30]
and cl, 3
mov dword [rsp - 0x1c], ebp
shl cl, 3
shr edx, cl
movzx ecx, dl
xor cx, word [rbp + rax*2 - 0x2e]
mov r15, r15
xchg r9, rax
mov r9, qword [rbp + 0x30]
xchg r9, rax
mov word [rbp + rax*2 - 0x1a], cx
mov dword [rsp - 0x40], 0x5a63d1b0
mov rax, qword [rbp + 0x30]
inc rax
mov qword [rbp + 0x30], rax
xchg rsi, rax
mov rsi, qword [rbp + 0x30]
xchg rsi, rax
cmp rax, 0xa
mov dword [rsp - 0x20], 0x6eae1022
jb 0x140031d4f
xor edx, edx
mov word [rbp - 6], r15w
mov rsp, rsp
lea rcx, [rbp - 0x1a]
call fcn.14006af20
mov rsi, rax
lea rdi, [rbp - 0x1a]
mov rdi, rdi
xor eax, eax
movabs r12, 0x5073338f030cf8ac
add r12, 0x1d9eff5b
add r12, 0x4ef5a2a
add r12, 0x34b525f6
sub r12, 0x7304567
xor rsi, r12
mov dword [rsp - 0x34], edi
mov qword [rbx + 0x760], rsi
lea ecx, [rax + 0xa]
rep stosb byte [rdi], al
mov dword [rsp - 0x34], ebp
cmp rsi, r12
je 0x140031e99
xor rsi, r12
mov dword [rsp - 0x14], 0x3d40e43f
lea rdi, [rbx + 0x770]
xchg r15, r14
mov r15, r14
xchg r15, r14
mov edx, dword [rdi + 8]
mov dword [rsp - 0xc], 0x7140685d
xchg rcx, r12
mov r12, rsi
xchg rcx, r12
xor edx, 0x7ee01212
xchg r14, r14
call fcn.140065030
test rax, rax
je 0x140031e99
mov dword [rsp - 0x14], 0x463b1f79
xor rax, r12
inc r14
xchg r11, rax
mov qword [rdi], r11
xchg r11, rax
neg rdi
add rdi, 0xfffffffffffffff0
neg rdi
cmp r14, 1
jb 0x140031e42
xchg rbp, rbp
mov dword [rbp - 0x50], 0x69272b6b
xor dword [rbp - 0x50], 0x356de419
xor dword [rbp - 0x50], 0x4b74c27e
sub dword [rbp - 0x50], 0x16c50c4d
mov dword [rbp - 0x4c], 0x62abce7d
xor dword [rbp - 0x4c], 0x37b16a33
sub dword [rbp - 0x4c], 0x16dc3e16
xor dword [rbp - 0x4c], 0x3e116634
mov dword [rbp - 0x48], 0x49486b6
add dword [rbp - 0x48], 0x5cd21987
add dword [rbp - 0x48], 0xad2de5e
sub dword [rbp - 0x48], 0x6c0b7da6
mov dword [rbp - 0x44], 0x5eccaed1
add dword [rbp - 0x44], 0x9270464
xor dword [rbp - 0x44], 0x69551024
sub dword [rbp - 0x44], 0xe2ca30d
mov qword [rbp + 0x30], r15
mov dword [rsp - 0xc], esi
mov rax, qword [rbp + 0x30]
xchg r13, rcx
mov r13, qword [rbp + 0x30]
xchg r13, rcx
mov edx, 0x78c90a8a
xor edx, 0x6005a8be
add edx, 0x2e3fffcb
xor edx, 0x5b562241
sub edx, 0x5f238e3
xchg rbx, rax
mov rbx, qword [rbp + 0x30]
xchg rbx, rax
and cl, 3
shl cl, 2
shl cl, 1
shr edx, cl
xchg rdi, rdi
movzx ecx, dl
xor cx, word [rbp + rax*2 - 0x50]
xchg r14, rax
mov r14, qword [rbp + 0x30]
xchg r14, rax
mov word [rbp + rax*2 - 0x40], cx
mov dword [rsp - 0x44], 0x10e1a72f
xchg rdx, rax
mov rdx, qword [rbp + 0x30]
xchg rdx, rax
inc rax
mov r11, r11
mov qword [rbp + 0x30], rax
xchg rcx, rax
mov rcx, qword [rbp + 0x30]
xchg rcx, rax
cmp rax, 8
jb 0x140031f15
mov r9, r9
xor edx, edx
mov word [rbp - 0x30], r15w
lea rcx, [rbp - 0x40]
call fcn.14006af20
mov dword [rsp - 0x20], 0x69f23ce8
xor rax, r12
lea r11, [rsp + 0x70]
mov rsi, qword [r11 + 0x40]
lea rdi, [rbp - 0x40]
xchg r9, r9
mov qword [rbx + 0x768], rax
xor eax, eax
xchg r14, rbx
mov r14, qword [r11 + 0x38]
xchg rbx, r14
lea ecx, [rax + 8]
rep stosb byte [rdi], al
xchg rsp, rdi
mov rdi, r11
xchg rdi, rsp
pop r15
mov dword [rsp - 0x34], 0x4acc2920
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret