Function at 0x14007e558
Capabilities:
Encode data using xor

Disassembly:
xchg r9, rbx
mov qword [rsp + 8], r9
xchg r9, rbx
mov qword [rsp + 0x10], rbp
mov r14, r14
mov qword [rsp + 0x18], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r13
mov rbp, rbp
push r14
neg rsp
sub rsp, 0xffffffffffffffb0
neg rsp
mov ebx, dword [rcx + 0x2c]
mov dword [rsp - 0x2c], ebx
xchg rcx, r14
mov rsi, r14
xchg rcx, r14
mov ecx, ebx
xchg rsi, r14
mov rsi, rdx
xchg rsi, r14
call fcn.140098610
xor ebx, 0x17dc431b
xchg r14, r14
xchg rdx, rax
mov rdi, rdx
xchg rdx, rax
movabs r13, 0x618d41204e2d88dc
add r13, 0x296dfce7
xor r13, 0x7d558862
add r13, 0x4020057d
sub r13, 0x3bb3b800
mov dword [r14 + 8], ebx
xchg r12, r12
xor rdi, r13
mov qword [r14], rdi
cmp byte [rsi + 0x34], 0
jne 0x14007e8a4
xchg r11, r11
mov eax, dword [rsi + 8]
xor edx, edx
cmp eax, 0x24ec1059
je 0x14007e6dc
mov r11, r11
cmp eax, 0x25ec1059
je 0x14007e689
cmp eax, 0x26ec0b49
xchg r8, r8
je 0x14007e63a
cmp eax, 0x369a1059
jne 0x14007e73c
mov dword [rsp - 0x1c], 0x6220fd9d
xor r8d, r8d
lea rdi, [0x140000000]
lea edx, [r8 + 0x10]
mov rsi, rsi
mov ecx, r8d
mov eax, 0x2ad587e
xor eax, 0x416157aa
sub eax, 0x1e6b72f
add eax, 0x3fcb636
rol eax, cl
mov dword [rsp - 0x40], esp
xor al, byte [r8 + rdi + 0x1920]
mov byte [rsp + r8 + 0x30], al
inc r8
cmp r8, rdx
mov r13, r13
jb 0x14007e64b
jmp 0x14007e73c
xor r8d, r8d
lea rdi, [0x140000000]
xchg rdx, rdx
lea edx, [r8 + 0x10]
mov ecx, r8d
mov eax, 0x450c0e43
xor eax, 0x1a546b64
sub eax, 0x38bc49ac
add eax, 0x10ce42d6
add eax, 0xe77b08a
rol eax, cl
xor al, byte [r8 + rdi + 0x1930]
mov rdi, rdi
mov byte [rsp + r8 + 0x30], al
inc r8
cmp r8, rdx
mov rdx, rdx
jb 0x14007e69a
jmp 0x14007e73c
lea rdi, [0x140000000]
mov ecx, edx
mov eax, 0x7145450
add eax, 0xbba10d8
add eax, 0x439a996d
sub eax, 0x1086efba
rol eax, cl
xor al, byte [rdx + rdi + 0x1940]
mov dword [rsp - 0x40], edx
mov byte [rsp + rdx + 0x30], al
inc rdx
cmp rdx, 0x20
mov dword [rsp - 0x24], 0x76c182d3
jb 0x14007e6e3
mov edx, 0x20042b9a
add edx, 0x412b0bf6
xor edx, 0x583ee243
add edx, 0x4a646fd
sub edx, 0x3db81cb0
shr edx, 3
lea rcx, [rsp + 0x20]
mov rbx, rbx
call fcn.14009353c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.140093c58
mov dword [rsp - 0x34], edx
xchg rbp, r12
mov r12, qword [r14]
xchg rbp, r12
mov edi, dword [rsi + 0x3c]
mov dword [rsp - 0x1c], esi
xor rbp, r13
test edi, edi
je 0x14007e788
mov rdi, rdi
sub edi, 0xfffffff9
and edi, 0xfffffff8
jmp 0x14007e78b
mov edi, dword [rsi + 0x2c]
xor ebx, ebx
test edi, edi
xchg r13, r13
je 0x14007e7d0
mov edx, dword [rsi + 0xc]
lea rcx, [rsp + 0x20]
xchg rbp, rbp
xor edx, 0x17dc431b
mov r8d, ebx
add edx, ebx
mov dword [rsp - 0x18], edx
add r8, rbp
add rdx, qword [rsi]
call fcn.140093704
neg ebx
add ebx, 0xfffffff8
neg ebx
cmp ebx, edi
jb 0x14007e798
mov dword [rsp - 0x38], ebp
lea rcx, [rsp + 0x20]
call fcn.140093690
xor eax, eax
mov dword [rsp - 0x18], ecx
lea rdi, [rsp + 0x30]
cmp dword [rsi + 0x38], 1
lea ecx, [rax + 0x20]
mov rdx, rdx
rep stosb byte [rdi], al
jne 0x14007e87f
mov rdi, qword [r14]
mov ecx, dword [rsi + 0x3c]
mov dword [rsp - 0x1c], ebp
xor rdi, r13
call fcn.140098610
mov r8d, dword [rsi + 0x3c]
mov dword [rsp - 0x18], 0xf362beb
xchg rdi, rdx
mov rdi, rdx
xchg rdi, rdx
xchg r9, rcx
mov r9, rax
xchg rcx, r9
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
call fcn.140098bf0
mov r9d, dword [rsi + 0x2c]
mov dword [rsp - 0xc], 0x3d0be9be
mov rdx, rdi
mov r8d, dword [rsi + 0x3c]
xchg r10, rbx
mov rcx, r10
xchg rbx, r10
call fcn.140096cc0
xchg r15, rcx
mov r15, rbx
xchg rcx, r15
cmp eax, dword [rsi + 0x2c]
je 0x14007e87a
mov dword [rsp - 0x28], 0x98fe7fc
call fcn.140098620
xor al, al
jmp 0x14007e8d1
call fcn.140098620
mov rdx, r14
mov dword [rsp - 0x38], ebx
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
call fcn.14007fabc
xchg r15, r15
test al, al
jne 0x14007e8c9
jmp 0x14007e873
mov edx, dword [rsi + 0xc]
xchg rdx, rax
mov rcx, rdx
xchg rdx, rax
mov r8d, dword [rsi + 0x2c]
xor rdx, 0x17dc431b
mov dword [rsp - 0x14], 0xf0f511e
add rdx, qword [rsi]
call fcn.140098bf0
mov al, 0x1d
xor al, 0x67
xor al, 0x3c
sub al, 0x45
lea r11, [rsp + 0x50]
mov dword [rsp - 0x30], 0x63cec57c
mov rbx, qword [r11 + 0x20]
xchg r13, rbp
mov r13, qword [r11 + 0x28]
xchg r13, rbp
mov rsi, qword [r11 + 0x30]
xchg rdi, r11
mov rsp, rdi
xchg r11, rdi
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret