Function at 0x140077810
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
xchg r11, rsi
mov qword [rsp + 0x10], r11
xchg r11, rsi
mov qword [rsp + 0x18], rdi
mov dword [rsp - 0x14], 0x3df5e17d
nop
sub rsp, 8
mov qword [rsp], rbp
nop
push 0x92ad6c9
mov qword [rsp], r12
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x350]
sub rsp, 0x450
xor r12d, r12d
mov dword [rsp - 0x18], edx
mov dword [rsp + 0x28], 0xfa0ce94
add dword [rsp + 0x28], 0x4f60650d
xor dword [rsp + 0x28], 0x359e672a
sub dword [rsp + 0x28], 0xd77a496
sub dword [rsp + 0x28], 0x5cf8afa0
mov dword [rsp + 0x20], r12d
xchg rdx, rdx
xchg r9, r14
mov r9, r14
xchg r14, r9
mov dword [rsp + 0x2c], 0x34028ef9
add dword [rsp + 0x2c], 0x35260474
sub dword [rsp + 0x2c], 0x4bf36771
xor dword [rsp + 0x2c], 0x3a810959
sub dword [rsp + 0x2c], 0x276e21c1
mov r15, r8
mov r11, r11
mov dword [rsp + 0x30], 0x55244a08
sub dword [rsp + 0x30], 0x26b0780c
add dword [rsp + 0x30], 0x1d971ae7
xor dword [rsp + 0x30], 0x3241c06c
xor dword [rsp + 0x30], 0x7e672cd6
xchg rdx, rsi
mov rdx, rsi
xchg rsi, rdx
mov dword [rsp + 0x34], 0x6bcc983b
sub dword [rsp + 0x34], 0x41b58db4
xor dword [rsp + 0x34], 0x493cbf04
sub dword [rsp + 0x34], 0x1f71536f
xor dword [rsp + 0x34], 0x43a662b4
xchg rbx, rcx
mov rcx, rbx
xchg rbx, rcx
mov dword [rsp + 0x38], 0x48ba6e7e
sub dword [rsp + 0x38], 0xe4d9e59
xor dword [rsp + 0x38], 0x6f319724
sub dword [rsp + 0x38], 0x552c46a4
mov qword [rsp + 0x20], r12
xchg r11, rax
mov r11, qword [rsp + 0x20]
xchg r11, rax
nop dword [rax]
xchg rcx, rbx
mov rbx, qword [rsp + 0x20]
xchg rbx, rcx
xchg r12, rax
mov r12, qword [rsp + 0x20]
xchg r12, rax
and cl, 3
mov rbp, rbp
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x28]
mov eax, 0x46be9b40
xor eax, 0x722efbc4
add eax, 0x390b10f2
sub eax, 0x20e1242
shr eax, cl
movzx ecx, al
xchg rsi, rax
mov rsi, qword [rsp + 0x20]
xchg rsi, rax
xor cx, dx
mov word [rsp + rax*2 + 0x54], cx
xchg r9, r9
xchg r9, rax
mov r9, qword [rsp + 0x20]
xchg r9, rax
inc rax
xchg rcx, rcx
xchg r9, rax
mov qword [rsp + 0x20], r9
xchg r9, rax
xchg r10, rax
mov r10, qword [rsp + 0x20]
xchg r10, rax
cmp rax, 0xa
mov dword [rsp - 0x38], esp
jb 0x140077966
mov r8d, 0x1751dabe
add r8d, 0x4a7f2be9
xor r8d, 0x2c8bbe61
sub r8d, 0x3f911dba
xor r8d, 0xdc99b06
mov word [rsp + 0x68], r12w
lea rdx, [rsp + 0x54]
xchg rbp, r14
mov rcx, rbp
xchg rbp, r14
mov edi, 0x700c3f40
sub edi, 0x64a78afd
xor edi, 0x1d4e091
sub edi, 0xab054d1
call fcn.14009a390
test eax, eax
mov dword [rsp - 0x20], 0x74badb1b
je 0x140077c0d
mov dword [rsp + 0x28], 0x5d389cef
xor dword [rsp + 0x28], 0x2b8c3c09
sub dword [rsp + 0x28], 0x16be9a1b
sub dword [rsp + 0x28], 0x3fd72a3b
sub dword [rsp + 0x28], 0x1ff7dc3f
mov dword [rsp + 0x2c], 0x5472d6dd
sub dword [rsp + 0x2c], 0xbb79fc6
sub dword [rsp + 0x2c], 0x2a7c53c4
xor dword [rsp + 0x2c], 0x714422b5
sub dword [rsp + 0x2c], 0x6f34c0ed
mov dword [rsp + 0x30], 0x6211385d
sub dword [rsp + 0x30], 0x1d0834ad
add dword [rsp + 0x30], 0x21c650ac
xor dword [rsp + 0x30], 0x66e35405
mov dword [rsp + 0x34], 0x40b5eac5
xor dword [rsp + 0x34], 0x4e3611b9
add dword [rsp + 0x34], 0x16f0027a
xor dword [rsp + 0x34], 0x7c1ecbeb
sub dword [rsp + 0x34], 0x5951357d
mov dword [rsp + 0x38], 0x49869b8
add dword [rsp + 0x38], 0x29aa12fb
xor dword [rsp + 0x38], 0x515e7650
xor dword [rsp + 0x38], 0x4fa149db
xor dword [rsp + 0x38], 0x308c4365
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x20]
nop dword [rax]
mov dword [rsp - 0x28], esp
xchg rcx, rbx
mov rbx, qword [rsp + 0x20]
xchg rbx, rcx
xchg r11, rax
mov r11, qword [rsp + 0x20]
xchg r11, rax
and cl, 3
shl cl, 3
mov dword [rsp - 0x34], 0x1493e7ef
movzx edx, word [rsp + rax*2 + 0x28]
mov eax, 0x5e98e916
sub eax, 0x4cfe0802
add eax, 0x5b3e033
xor eax, 0x6c4b61f8
sub eax, 0xf78418b
shr eax, cl
xchg r11, r11
movzx ecx, al
mov rax, qword [rsp + 0x20]
xor cx, dx
xchg rsi, rsi
mov word [rsp + rax*2 + 0x3e], cx
xchg rbp, rax
mov rbp, qword [rsp + 0x20]
xchg rbp, rax
inc rax
xchg rbx, rax
mov qword [rsp + 0x20], rbx
xchg rbx, rax
mov rax, qword [rsp + 0x20]
cmp rax, 0xa
jb 0x140077b18
mov dword [rsp - 0x34], 0x3b9f6bbb
mov r8d, 0x3188b070
add r8d, 0x39cf97bc
sub r8d, 0x12bd485
sub r8d, 0x5bfd5282
sub r8d, 0xe2f211b
mov word [rsp + 0x52], r12w
mov dword [rsp - 0x10], ecx
lea rdx, [rsp + 0x3e]
xchg r14, rcx
mov r14, rcx
xchg r14, rcx
mov edi, 0x5183c3c4
xor edi, 0x5062ef83
xor edi, 0x6a870e26
sub edi, 0x6b66225e
call fcn.14009a390
xchg rbp, rbp
test eax, eax
je 0x140077c0d
mov dl, 0x2b
xor dl, 0x14
add dl, 0x3e
sub dl, 0x7c
jmp 0x140077c1c
xor dl, dl
test dil, 2
xchg rsi, rsi
je 0x140077c4e
lea rdi, [rsp + 0x3e]
xor eax, eax
mov dword [rsp - 0x10], 0x125d5e9c
mov ecx, 0x40b2fe00
add ecx, 0x39ea5e10
sub ecx, 0x15e8b04a
xor ecx, 0x47d29c31
xor ecx, 0x236637fd
rep stosb byte [rdi], al
mov dword [rsp - 0x40], esp
xor eax, eax
lea rdi, [rsp + 0x54]
mov ecx, 0xf88428b
add ecx, 0xae7e790
xor ecx, 0x274a2674
add ecx, 0xc057a2b
sub ecx, 0x493f8690
rep stosb byte [rdi], al
test dl, dl
jne 0x140077e18
mov dword [rsp - 0xc], 0x366fd08f
xchg rdi, rax
mov rdi, qword [rsi + 0x78]
xchg rdi, rax
cmp rax, 0x78
jbe 0x140077ca2
mov dword [rsp - 0x34], ebp
mov rcx, qword [rsi]
jmp 0x140077cb6
test rax, rax
xchg rbp, r12
mov rcx, rbp
xchg rbp, r12
cmovne rcx, rsi
mov dword [rsp - 0x1c], ebx
mov rax, qword [rcx]
lea r8, [rbp - 0x10]
mov r9d, 0x2b8ee699
xor r9d, 0x4cf8b7d2
add r9d, 0x14b58b96
xor r9d, 0x7c2bdfb9
xchg r15, rdx
mov r15, rdx
xchg r15, rdx
call qword [rax + 8]
mov dword [rsp - 0x34], 0x77d658a6
test al, al
je 0x140077e18
mov rdi, qword [rbp + 0x58]
test rdi, rdi
mov r9, r9
je 0x140077e18
mov eax, dword [rbp + 0x108]
cmp eax, 6
jne 0x140077e10
mov dword [rsp - 0xc], edi
mov eax, dword [rbp + 0x10c]
sub eax, 1
je 0x140077dc7
mov dword [rsp - 0x34], 0x1f5c3925
sub eax, 1
je 0x140077dc7
sub eax, 1
xchg r11, r11
je 0x140077d87
cmp eax, 1
jne 0x140077e18
mov rdx, rsi
xchg r15, r15
lea rcx, [rsp + 0x70]
call fcn.140077fb0
xchg r12, r9
mov r12, r14
xchg r12, r9
xchg rcx, rdi
mov r8, rcx
xchg rcx, rdi
mov rdx, rax
mov rcx, rcx
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.14007c600
jmp 0x140077e55
xchg rsi, rdx
mov rsi, rdx
xchg rdx, rsi
lea rcx, [rsp + 0x70]
mov dword [rsp - 0x2c], 0x6970aad6
call fcn.140077fb0
mov r9, r14
xchg rdi, rsi
mov r8, rsi
xchg rdi, rsi
xchg rdx, r11
mov r11, rax
xchg rdx, r11
mov rcx, rbx
call fcn.14007dca0
xchg r13, r13
jmp 0x140077e55
xchg rsi, rbx
mov rdx, rbx
xchg rbx, rsi
lea rcx, [rsp + 0x70]
call fcn.140077fb0
mov dword [rsp - 0x1c], 0x38832291
xchg rdx, r9
mov rdx, r14
xchg rdx, r9
xchg rcx, rdi
mov r8, rcx
xchg rcx, rdi
xchg rbx, rdx
mov rbx, rax
xchg rbx, rdx
xchg rbx, rcx
mov rbx, rcx
xchg rcx, rbx
call fcn.14007d120
jmp 0x140077e55
cmp eax, 0xa
jmp 0x140077d46
xchg r12, r9
mov qword [rbx], r9
xchg r12, r9
xchg r12, rdi
mov qword [rbx + 8], rdi
xchg r12, rdi
xchg r12, r11
mov qword [rbx + 0x10], r11
xchg r11, r12
mov qword [rbx + 0x18], 0x1827bcec
add qword [rbx + 0x18], 0xf448b60
sub qword [rbx + 0x18], 0x16df408f
xor qword [rbx + 0x18], 0x108d07bc
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
call fcn.1400785f0
lea r11, [rsp + 0x450]
xchg rsp, rsp
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
xchg rbx, r15
mov r15, qword [r11 + 0x30]
xchg r15, rbx
xchg rsi, rdi
mov rdi, qword [r11 + 0x38]
xchg rdi, rsi
mov rdi, qword [r11 + 0x40]
mov rsp, r11
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
mov r14, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
pop r12
mov r13, r13
pop rbp
ret