Function at 0x1400851d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov dword [rsp - 0x20], 0x13bd48a3
mov qword [rsp + 0x18], rdi
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
push r14
mov dword [rsp - 0x40], esp
nop
push 0x738d6b45
mov qword [rsp], r15
lea rbp, [rsp - 0x360]
add rsp, 0x75938a18
sub rsp, 0x75938e78
xor r12d, r12d
mov r11, r11
mov dword [rsp + 0x2a], 0x396c0e56
add dword [rsp + 0x2a], 0x336f78e4
add dword [rsp + 0x2a], 0x45dd40
sub dword [rsp + 0x2a], 0x6cba63f4
mov dword [rsp + 0x20], r12d
xchg r13, r9
mov r14, r13
xchg r9, r13
mov dword [rsp + 0x2e], 0x7af089b8
xor dword [rsp + 0x2e], 0xf8c7f29
xor dword [rsp + 0x2e], 0x65160985
sub dword [rsp + 0x2e], 0xfedfee2
xchg r8, r14
mov r15, r14
xchg r8, r14
mov dword [rsp + 0x32], 0x18cefc55
add dword [rsp + 0x32], 0x26b5bbd2
add dword [rsp + 0x32], 0x218e6dd0
sub dword [rsp + 0x32], 0xc334690
xor dword [rsp + 0x32], 0x54bbdfed
xchg rsi, rdx
mov rdx, rsi
xchg rdx, rsi
mov dword [rsp + 0x36], 0x22c1083a
add dword [rsp + 0x36], 0x460000be
sub dword [rsp + 0x36], 0x5137d95b
xor dword [rsp + 0x36], 0x1c155e3e
sub dword [rsp + 0x36], 0xb75712d
xchg rbx, rcx
mov rcx, rbx
xchg rbx, rcx
mov dword [rsp + 0x3a], 0x4e5b150
add dword [rsp + 0x3a], 0x3e56db48
add dword [rsp + 0x3a], 0x10fcb684
add dword [rsp + 0x3a], 0x601ef01
xor dword [rsp + 0x3a], 0x5a423293
mov qword [rsp + 0x20], r12
xchg r12, rax
mov r12, qword [rsp + 0x20]
xchg r12, rax
nop dword [rax]
xchg r13, rcx
mov r13, qword [rsp + 0x20]
xchg rcx, r13
mov rax, qword [rsp + 0x20]
mov dword [rsp - 0x30], 0x5b5a1dca
and cl, 3
shl cl, 1
shl cl, 1
shl cl, 1
movzx edx, word [rsp + rax*2 + 0x2a]
xchg rdx, rdx
mov eax, 0x32c6613e
add eax, 0x60e949f
sub eax, 0xb046417
add eax, 0x228a8621
shr eax, cl
movzx ecx, al
mov rax, qword [rsp + 0x20]
mov dword [rsp - 0x1c], 0x42ac9058
xor cx, dx
mov word [rsp + rax*2 + 0x68], cx
mov rax, qword [rsp + 0x20]
xchg rsp, rsp
inc rax
mov qword [rsp + 0x20], rax
xchg r14, rax
mov r14, qword [rsp + 0x20]
xchg r14, rax
cmp rax, 0xa
xchg r8, r8
jb 0x140085322
mov edi, 0x712e1872
xor edi, 0x5613384f
add edi, 0x4e5b9695
sub edi, 0x52274a11
sub edi, 0x23716cc0
mov word [rsp + 0x7c], r12w
lea rdx, [rsp + 0x68]
mov rdx, rdx
mov rcx, r14
lea r8d, [rdi + 9]
call fcn.140099570
mov dword [rsp - 0x28], 0x24ae2f9c
test eax, eax
je 0x140085586
mov dword [rsp + 0x3e], 0x53c257a
xor dword [rsp + 0x3e], 0x560b6bd9
sub dword [rsp + 0x3e], 0xca9aec4
sub dword [rsp + 0x3e], 0x461e9f5d
mov dword [rsp + 0x42], 0x7550d70e
sub dword [rsp + 0x42], 0x23c59c9
sub dword [rsp + 0x42], 0x80e4838
sub dword [rsp + 0x42], 0x2319ca24
sub dword [rsp + 0x42], 0x476f6aba
mov dword [rsp + 0x46], 0x509db3ed
sub dword [rsp + 0x46], 0x16978dbd
add dword [rsp + 0x46], 0x20ed17ff
xor dword [rsp + 0x46], 0x5a973ea5
mov dword [rsp + 0x4a], 0xb894101
add dword [rsp + 0x4a], 0x3ba11b3e
sub dword [rsp + 0x4a], 0x41449a06
xor dword [rsp + 0x4a], 0x5c2c24f
mov dword [rsp + 0x4e], 0x1c5ed0d9
add dword [rsp + 0x4e], 0x2277b44e
sub dword [rsp + 0x4e], 0x2c0a662a
xor dword [rsp + 0x4e], 0x12b51e73
xchg r12, rdx
mov qword [rsp + 0x20], rdx
xchg r12, rdx
mov rax, qword [rsp + 0x20]
xchg r15, r15
nop word [rax + rax]
xchg rcx, r8
mov r8, qword [rsp + 0x20]
xchg rcx, r8
xchg r12, rax
mov r12, qword [rsp + 0x20]
xchg r12, rax
and cl, 3
shl cl, 3
movzx edx, word [rsp + rax*2 + 0x3e]
xchg r14, r14
mov eax, 0x3d61839c
xor eax, 0x710b3652
add eax, 0x1f70c82b
xor eax, 0x3b806a1e
shr eax, cl
movzx ecx, al
mov dword [rsp - 0x10], esp
xchg rsi, rax
mov rsi, qword [rsp + 0x20]
xchg rsi, rax
xor cx, dx
mov dword [rsp - 0x3c], 0x4a87bb1d
mov word [rsp + rax*2 + 0x52], cx
xchg r8, rax
mov r8, qword [rsp + 0x20]
xchg r8, rax
inc rax
xchg r14, r14
xchg r13, rax
mov qword [rsp + 0x20], r13
xchg r13, rax
mov rax, qword [rsp + 0x20]
mov r10, r10
cmp rax, 0xa
jb 0x1400854a7
mov edi, 0x251cc765
xor edi, 0x73a3ac44
xor edi, 0x7476f2ea
xor edi, 0x3a7dc70c
sub edi, 0x18b45ec4
mov word [rsp + 0x66], r12w
lea rdx, [rsp + 0x52]
mov dword [rsp - 0x28], edi
xchg rcx, r14
mov r14, rcx
xchg r14, rcx
lea r8d, [rdi + 7]
xchg rbp, rbp
call fcn.140099570
test eax, eax
je 0x140085586
mov dword [rsp - 0x20], esi
mov dl, 1
xor dl, 0x38
sub dl, 0x2a
xor dl, 0xe
jmp 0x140085596
xor dl, dl
mov dword [rsp - 0x24], ebp
test dil, 2
je 0x1400855bd
lea rdi, [rsp + 0x52]
xor eax, eax
mov r15, r15
mov ecx, 0x731f0dce
sub ecx, 0x23eab8cb
xor ecx, 0x6ffc5f81
sub ecx, 0x20c80a78
rep stosb byte [rdi], al
mov dword [rsp - 0x34], esp
xor eax, eax
lea rdi, [rsp + 0x68]
mov ecx, 0x5a3b39eb
add ecx, 0x1f68e9d4
sub ecx, 0x1c83f286
sub ecx, 0x5d20312f
rep stosb byte [rdi], al
test dl, dl
mov dword [rsp - 0x2c], esp
jne 0x140085787
xchg r13, rax
mov r13, qword [rsi + 0x78]
xchg r13, rax
cmp rax, 0x78
jbe 0x14008560b
mov dword [rsp - 0x40], 0x478a9784
mov rcx, qword [rsi]
jmp 0x14008561d
test rax, rax
mov rcx, r12
cmovne rcx, rsi
mov dword [rsp - 0x18], 0x6bc6051e
mov rax, qword [rcx]
lea r8, [rbp]
mov r9d, 0xfb0225c
add r9d, 0x35cc927a
xor r9d, 0x4227bd8f
xor r9d, 0x2dedc83f
sub r9d, 0x2ab6be0e
xchg r11, r15
mov rdx, r11
xchg r11, r15
call qword [rax + 8]
mov rbp, rbp
test al, al
je 0x140085787
xchg r12, rdi
mov r12, qword [rbp + 0x68]
xchg rdi, r12
test rdi, rdi
mov dword [rsp - 0x14], 0x59e55db5
je 0x140085787
mov eax, dword [rbp + 0x118]
cmp eax, 6
mov rcx, rcx
jne 0x14008577b
mov eax, dword [rbp + 0x11c]
sub eax, 1
xchg r15, r15
je 0x140085738
sub eax, 1
je 0x140085738
xchg r12, r12
sub eax, 1
je 0x140085703
cmp eax, 1
xchg r13, r13
jne 0x140085787
xchg rdx, r8
mov r8, rsi
xchg r8, rdx
lea rcx, [rbp - 0x80]
mov rdx, rdx
call fcn.140085920
xchg r9, rsi
mov rsi, r14
xchg rsi, r9
xchg r8, rdi
mov rdi, r8
xchg rdi, r8
xchg rsp, rdx
mov rsp, rax
xchg rdx, rsp
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.14008ae50
mov rsp, rsp
jmp 0x1400857be
xchg rdx, rsi
mov rsi, rdx
xchg rsi, rdx
lea rcx, [rbp - 0x80]
call fcn.140085920
mov r9, r14
xchg r14, r14
mov r8, rdi
xchg r9, rax
mov rdx, r9
xchg r9, rax
xchg rcx, rbx
mov rbx, rcx
xchg rcx, rbx
call fcn.14008c540
jmp 0x1400857be
xchg rdx, rsp
mov rsp, rsi
xchg rsp, rdx
lea rcx, [rbp - 0x80]
xchg rsi, rsi
call fcn.140085920
xchg r14, r9
mov r14, r9
xchg r9, r14
xchg r8, rdi
mov rdi, r8
xchg r8, rdi
xchg rdi, rdx
mov rdi, rax
xchg rdi, rdx
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
call fcn.14008b970
jmp 0x1400857be
cmp eax, 0xa
mov dword [rsp - 0x3c], edi
jmp 0x1400856b7
xchg r11, r12
mov qword [rbx], r11
xchg r11, r12
xchg r12, r11
mov qword [rbx + 8], r11
xchg r11, r12
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 0x5b9fbbf2
sub qword [rbx + 0x18], 0x3ca8c004
sub qword [rbx + 0x18], 0x194d7a66
xor qword [rbx + 0x18], 0x5a98189
xchg rcx, rsp
mov rsp, rsi
xchg rcx, rsp
call fcn.140085f60
mov rsp, rsp
lea r11, [rsp + 0x460]
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
xchg r14, rbx
mov r14, qword [r11 + 0x30]
xchg rbx, r14
xchg r15, rsi
mov r15, qword [r11 + 0x38]
xchg r15, rsi
xchg r13, rdi
mov r13, qword [r11 + 0x40]
xchg rdi, r13
xchg r11, rsp
mov r11, rsp
xchg r11, rsp
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
mov r14, qword [rsp]
add rsp, 8
pop r13
pop r12
pop rbp
mov dword [rsp - 0x44], 0x13716c8b
ret