Function at 0x140078220
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r15
xchg rbx, rbx
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
mov rdx, qword [rcx + 0x18]
xor r12d, r12d
mov r8, r8
mov r15d, r12d
test rdx, rdx
je 0x140078a50
xchg r14, r14
mov qword [rax - 0x20], r13
lea r9, [rdx*8]
mov r13, qword [rcx + 0x10]
xchg r15, r15
add r9, r13
mov qword [rbp + 0x67], r9
cmp r13, r9
je 0x140078a30
mov dword [rsp - 0x38], 0x2afe143a
mov qword [rax + 0x10], rbx
lea r8, [0x140002990]
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov dword [rsp - 0x24], ebx
mov qword [rax - 0x28], r14
lea r14, [r12 - 1]
mov rax, r9
nop word [rax + rax]
mov r15, r15
mov r9, qword [r13]
cmp byte [r9 + 0x48], 0
jne 0x1400789f8
mov dword [rsp - 0x34], 0x1d0d884d
test r15, r15
jne 0x1400785c8
lea r8, [0x14000298c]
mov rdx, r9
mov dword [rsp - 0x2c], 0x146da87c
lea rcx, [rbp + 7]
lea rbx, [r9 + 0x10]
call fcn.14006a4f0
mov rdx, rax
mov rsp, rsp
lea rcx, [rbp - 0x29]
mov r8, rbx
call fcn.14006a200
cmp qword [rbp + 0xf], 4
xchg rsp, rsp
jbe 0x140078313
mov rcx, qword [rbp + 7]
call fcn.140073d00
mov dword [rsp - 0x44], edx
mov rsi, qword [rbp - 0x21]
lea rdi, [rbp - 0x29]
cmp rsi, 4
pushf
mov dword [rsp - 0x34], 0x3016359d
mov eax, 0x6c8154a4
xor eax, 0x2b6980b8
sub eax, 0x50c43b6
add eax, 0xc0ae9a5
mov r15, r15
xor eax, 0x3d782615
sub eax, 0x739f5c1c
popf
mov dword [rsp - 0x2c], esi
cmova rdi, qword [rbp - 0x29]
lea rcx, [rsi + 1]
mul rcx
mov rdi, rdi
cmovo rax, r14
mov rcx, rax
call fcn.140073cf0
mov rbx, rax
mov rcx, rcx
mov r9, r12
test rsi, rsi
je 0x1400783e6
mov r8, rax
mov r14, r14
sub rdi, rax
nop dword [rax + rax]
movzx ecx, r9b
xchg r15, r15
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x17a6a5f4
mov rcx, rcx
xor edx, 0x508847a0
xor edx, 0x29f27a2e
sub edx, 0xc99a438
sub edx, 0x49ef95bd
mov dword [rsp - 0x24], 0x5550b6e3
shl cl, 3
inc r9
sar edx, cl
movsx eax, dl
mov r15, r15
xor ax, word [rdi + r8 - 2]
mov word [r8 - 2], ax
cmp r9, rsi
jb 0x14007838a
mov dword [rsp - 0x44], 0x38d46437
mov word [rbx + rsi*2], r12w
mov r8, rbx
mov r14, qword [rbp - 0x21]
xor edx, edx
mov dword [rsp - 0x38], 0x6c022cae
mov rax, qword [0x1400a4ee0]
mov r9d, r14d
xor rax, qword [0x1400a4ab0]
mov ecx, 0x72b4b768
mov r14, r14
sub ecx, 0x1d010185
xor ecx, 0x26318dc2
sub ecx, 0x55b998f3
sub ecx, 0x175e9a6
mov dword [rsp - 0x20], 0x7693d8f
xor ecx, 0x260ae26f
xor ecx, 0x3a58aa0e
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp - 0x30], 0x1e428e16
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call rax
xchg rbx, rbx
movsxd rsi, eax
lea edi, [rsi + 1]
movsxd rcx, edi
call fcn.140073cf0
mov r10, r10
mov r10, qword [0x1400a4ee0]
mov r12, rax
xor r10, qword [0x1400a4ab0]
mov dword [rsp - 0x20], 0x6b079537
xor eax, eax
mov qword [rsp + 0x38], rax
mov r9d, r14d
mov dword [rsp - 0xc], edi
mov qword [rsp + 0x30], rax
mov r8, rbx
mov dword [rsp + 0x28], edi
xor edx, edx
mov dword [rsp - 0x2c], 0x4b046722
mov ecx, 0x30c9ef58
xor ecx, 0x32d518c4
add ecx, 0x5ef12f47
mov r10, r10
xor ecx, 0x7bcff3d0
xor ecx, 0xd7219d1
xor ecx, 0x37b0bb02
mov dword [rsp - 0xc], 0x6da22668
sub ecx, 0x200279f7
mov qword [rsp + 0x20], r12
call r10
mov rcx, rbx
xchg r10, r10
mov byte [rsi + r12], 0x52
sub byte [rsi + r12], 0x19
add byte [rsi + r12], 0x41
xchg r15, r15
sub byte [rsi + r12], 0x3c
xor byte [rsi + r12], 0x4d
xor byte [rsi + r12], 2
sub byte [rsi + r12], 0x71
mov dword [rsp - 0x2c], edi
call fcn.140073d00
nop
movabs r14, 0xffffffff554e8c85
mov rbp, rbp
add r14, 0x218989a8
sub r14, 0x277953df
xor r14, 0x140cd517
mov dword [rsp - 0x3c], esp
add r14, 0x1613292c
xor r14, 0x4ddf38cf
add r14, 0x7fffffff
xchg rbp, rbp
xor r14, 0x434587b6
mov rbx, r14
cmp byte [r12 + rbx + 1], 0
mov dword [rsp - 0x18], edx
lea rbx, [rbx + 1]
jne 0x14007856a
lea rcx, [rbx + 1]
call fcn.140073cf0
mov dword [rsp - 0x2c], 0x47671099
mov r8, r12
lea rdx, [rbx + 1]
mov rcx, rax
mov dword [rsp - 0x10], edi
mov r15, rax
call fcn.140074ab0
mov rcx, r12
xchg rcx, rcx
call fcn.140073d00
cmp qword [rbp - 0x21], 4
jbe 0x1400789e7
mov rcx, qword [rbp - 0x29]
mov dword [rsp - 0x24], 0x145b8194
jmp 0x1400789da
mov qword [rbp - 0x19], r12
mov rax, r12
mov r15, r15
mov qword [rbp - 0x11], 0x6a1be962
sub qword [rbp - 0x11], 0x33a48a1f
add qword [rbp - 0x11], 0x3182fcc0
sub qword [rbp - 0x11], 0x616badaa
xchg rsp, rsp
xor qword [rbp - 0x11], 0x75ec1015
sub qword [rbp - 0x11], 0x22027f4d
sub qword [rbp - 0x11], 0x51603efe
mov dword [rsp - 0x18], 0x25a68cf3
nop dword [rax]
nop word [rax + rax]
movzx ecx, al
mov dword [rsp - 0x28], 0x174ea5d5
mov edx, 0x5e8b54cd
add edx, 0x18482ab4
xor edx, 0x8063ddb
mov rcx, rcx
sub edx, 0x62173274
add edx, 0x5cb7d9d9
xor edx, 0x7d3b9a47
mov dword [rsp - 0x3c], edi
add edx, 0x1404ea8d
and cl, 3
shl cl, 3
sar edx, cl
mov dword [rsp - 0x28], edx
movsx ecx, dl
xor cx, word [r8 + rax*2]
mov word [rbp + rax*2 - 0x19], cx
inc rax
mov r14, r14
cmp rax, qword [rbp - 0x11]
jb 0x140078623
mov r8, r9
mov rbp, rbp
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0x27]
lea rbx, [r9 + 0x10]
call fcn.14006a200
xchg rbx, rbx
mov rdx, rax
lea r8, [0x14000298c]
lea rcx, [rbp + 0x17]
xchg r8, r8
call fcn.14006a4f0
mov rdx, rax
lea rcx, [rbp - 9]
mov r8, rbx
xchg rbp, rbp
call fcn.14006a200
cmp qword [rbp + 0x1f], 4
jbe 0x1400786dd
mov dword [rsp - 0x14], 0x623cc5ef
mov rcx, qword [rbp + 0x17]
call fcn.140073d00
cmp qword [rbp + 0x2f], 4
jbe 0x1400786f0
xchg rdi, rdi
mov rcx, qword [rbp + 0x27]
call fcn.140073d00
cmp qword [rbp - 0x11], 4
jbe 0x140078703
mov r9, r9
mov rcx, qword [rbp - 0x19]
call fcn.140073d00
mov rsi, qword [rbp - 1]
mov dword [rsp - 0x10], 0x565df90b
lea rdi, [rbp - 9]
cmp rsi, 4
pushf
mov eax, 0x24870e37
mov dword [rsp - 0x14], 0x740487da
xor eax, 0x409a1f4f
sub eax, 0x28f89520
add eax, 0x4110b828
sub eax, 0x6786fd9a
mov r12, r12
sub eax, 0x14ae36e4
popf
cmova rdi, qword [rbp - 9]
mov rcx, rcx
lea rcx, [rsi + 1]
mul rcx
cmovo rax, r14
mov dword [rsp - 0x34], ebx
mov rcx, rax
call fcn.140073cf0
mov rbx, rax
mov dword [rsp - 0x44], ecx
mov r9, r12
test rsi, rsi
je 0x1400787e3
mov dword [rsp - 0x3c], edi
mov r8, rax
sub rdi, rax
nop word [rax + rax]
movzx ecx, r9b
mov dword [rsp - 0x30], 0x1a020720
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x34801e98
xor edx, 0x73833cfc
mov dword [rsp - 0x14], 0x4e6489f5
xor edx, 0x1d60f741
sub edx, 0x13ba2936
sub edx, 0x2e564d6a
xchg r15, r15
shl cl, 3
inc r9
sar edx, cl
mov rdx, rdx
movsx eax, dl
xor ax, word [rdi + r8 - 2]
mov word [r8 - 2], ax
mov dword [rsp - 0x1c], esp
cmp r9, rsi
jb 0x140078786
mov word [rbx + rsi*2], r12w
mov rsp, rsp
mov r8, rbx
mov r14, qword [rbp - 1]
xor edx, edx
mov dword [rsp - 0x1c], 0x62e402be
mov rax, qword [0x1400a4ee0]
mov r9d, r14d
xor rax, qword [0x1400a4ab0]
mov ecx, 0xe18f7d6
mov dword [rsp - 0x18], esi
add ecx, 0x51271baf
sub ecx, 0x30516562
add ecx, 0x235dc327
xchg rdi, rdi
sub ecx, 0x32e3e385
xor ecx, 0x6ade365c
sub ecx, 0x75b5bdb0
mov qword [rsp + 0x38], r12
mov r8, r8
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call rax
mov dword [rsp - 0x38], 0x51200a64
movsxd rsi, eax
lea edi, [rsi + 1]
movsxd rcx, edi
call fcn.140073cf0
mov rsp, rsp
mov r10, qword [0x1400a4ee0]
mov r12, rax
xor r10, qword [0x1400a4ab0]
xor eax, eax
xchg r12, r12
mov qword [rsp + 0x38], rax
mov r9d, r14d
mov qword [rsp + 0x30], rax
mov r8, rbx
xchg r8, r8
mov dword [rsp + 0x28], edi
xor edx, edx
mov ecx, 0x4a39c6b3
mov dword [rsp - 0x30], 0x46185d3d
xor ecx, 0x178a2dbb
xor ecx, 0x2fedc9e3
sub ecx, 0x469f57a7
xchg rsp, rsp
xor ecx, 0x1b1cb5e
sub ecx, 0x2a0e0231
mov qword [rsp + 0x20], r12
call r10
mov dword [rsp - 0x18], edx
mov rcx, rbx
mov byte [rsi + r12], 0x13
add byte [rsi + r12], 0x31
xor byte [rsi + r12], 0x64
mov rdx, rdx
sub byte [rsi + r12], 0xc
add byte [rsi + r12], 0x59
sub byte [rsi + r12], 0x6d
mov dword [rsp - 0x24], edi
call fcn.140073d00
nop
movabs r14, 0xffffffff736ecf2d
sub r14, 0x5106a708
mov dword [rsp - 0x38], esi
xor r14, 0x59b60cf1
sub r14, 0x4f698fbe
sub r14, 0x1ad3121
mov dword [rsp - 0x30], ebp
add r14, 0x7fffffff
xor r14, 0x55389c0b
mov rcx, r14
inc rcx
mov dword [rsp - 0x18], 0x38cea181
cmp byte [r12 + rcx], 0
jne 0x140078945
mov rax, r14
nop dword [rax]
xchg rsi, rsi
cmp byte [r15 + rax + 1], 0
lea rax, [rax + 1]
jne 0x140078960
lea rbx, [rax + 1]
mov dword [rsp - 0x28], 0x12b14acb
add rbx, rcx
mov rcx, rbx
call fcn.140073cf0
mov dword [rsp - 0x40], 0x72a16764
mov r8, r15
mov rdx, rbx
mov rcx, rax
mov rdi, rdi
mov rdi, rax
call fcn.140074ab0
mov r8, r12
mov rdx, rbx
mov dword [rsp - 0x14], esi
mov rcx, rdi
call fcn.140074990
mov rcx, r15
call fcn.140073d00
xchg rsi, rsi
mov rcx, r12
mov r15, rdi
call fcn.140073d00
mov dword [rsp - 0x2c], 0x16a907a5
cmp qword [rbp - 1], 4
jbe 0x1400789e7
mov rcx, qword [rbp - 9]
call fcn.140073d00
mov dword [rsp - 0xc], 0x6ef5915e
mov rax, qword [rbp + 0x67]
lea r8, [0x140002990]
xor r12d, r12d
xchg r10, r10
add r13, 8
cmp r13, rax
jne 0x1400782ab
mov rsp, rsp
mov r14, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov dword [rsp - 0x30], 0x7da90417
mov r13, qword [rsp + 0xa8]
mov rax, r15
add rsp, 0xb0
pop r15
mov dword [rsp - 0x18], 0x5e519000
pop r12
pop rbp
ret
mov rax, r15
add rsp, 0xb0
pop r15
pop r12
mov rdx, rdx
pop rbp
ret