Function at 0x14009f965
Capabilities:
Encode data using xor

Disassembly:
xchg r12, r8
mov qword [rsp + 0x18], r12
xchg r8, r12
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
push r12
push rcx
mov qword [rsp], r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x774b6b9e
add rsp, 0x774b69de
xchg rcx, r8
mov rsi, r8
xchg rcx, r8
xchg rbx, r9
mov r9, rbx
xchg rbx, r9
xor ecx, ecx
xchg rbx, rbx
xchg r12, r14
mov r14, r8
xchg r14, r12
xchg r15, r11
mov r11, rdx
xchg r11, r15
mov qword [rsi], rcx
mov qword [rsi + 8], rcx
mov dword [rsp - 0x3c], 0x41335cac
mov qword [rsi + 0x10], rcx
mov qword [rsi + 0x18], 0x3b0e565a
add qword [rsi + 0x18], 0x1987f11
add qword [rsi + 0x18], 0x1111e7f9
sub qword [rsi + 0x18], 0x4db8bd63
mov rax, qword [rdx + 0x78]
cmp rax, 0x78
xchg r11, r11
jbe 0x14009f4ef
xchg r14, rcx
mov r14, qword [rdx]
xchg r14, rcx
jmp 0x14009f4f9
test rax, rax
cmovne rcx, r15
xchg rdi, rdi
xchg r10, rax
mov r10, qword [rcx]
xchg r10, rax
lea r8, [rsp + 0x78]
mov dword [rsp - 0x14], 0xc65fcf4
mov r9d, 0x22588fbf
add r9d, 0x1e2f134d
sub r9d, 0x19785eed
xor r9d, 0x270f443f
mov rdx, r12
call qword [rax + 8]
mov dword [rsp - 0x28], edx
test al, al
jne 0x14009f54d
xchg rcx, r15
mov r15, rcx
xchg r15, rcx
call fcn.14009a390
jmp 0x14009ff03
mov qword [rsp + 0x208], rdi
nop
movabs rdi, 0xffffffff4e3cadcc
xor rdi, 0x36622baa
sub rdi, 0x1a3362d9
sub rdi, 0x29d99481
add rdi, 0x7fffffff
xor rdi, 0x4bae70f4
xchg rdx, r13
mov qword [rsp + 0x1b8], rdx
xchg rdx, r13
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
xchg r12, r14
mov qword [rsp + 0x1b0], r12
xchg r12, r14
nop dword [rax]
mov dword [rsp - 0x24], ecx
inc rax
cmp word [rbx + rax*2], 0
jne 0x14009f5b1
mov ecx, dword [rbp - 0x7c]
mov dword [rsp - 0x14], edi
lea r14, [rax - 6]
cmp rax, 6
cmovbe r14, rax
mov eax, 0x718c6c30
xor eax, 0x68c5c0d3
xor eax, 0x262cdc6a
sub eax, 0x24879d6b
sub eax, 0x1addd316
mul rcx
mov r8, r8
cmovo rax, rdi
xchg r10, rax
mov rcx, r10
xchg r10, rax
call fcn.1400bb700
mov r9d, dword [rbp - 0x7c]
mov dword [rsp - 0x24], 0x661da485
xchg r13, rsp
mov rsp, rax
xchg rsp, r13
mov edi, dword [rbp - 0x74]
xchg rdx, rdx
mov rdx, qword [r15 + 0x78]
add rdi, r12
shl r9, 2
shl r9, 1
mov qword [rbp + 0xf8], rax
cmp rdx, 0x78
mov dword [rsp - 0x10], esi
jbe 0x14009f647
mov rcx, qword [r15]
jmp 0x14009f658
xor ecx, ecx
test rdx, rdx
cmovne rcx, r15
mov dword [rsp - 0xc], 0x1390196c
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
xchg rbp, r13
mov r8, rbp
xchg rbp, r13
xchg rdx, rdi
mov rdi, rdx
xchg rdx, rdi
call qword [rax + 8]
test al, al
mov r11, r11
je 0x14009fe4f
xor edi, edi
cmp dword [rbp - 0x7c], edi
mov dword [rsp - 0x44], 0x28907c2a
jbe 0x14009fe4f
nop dword [rax]
mov ecx, dword [r13 + rdi*8 + 4]
mov rax, qword [r15 + 0x78]
mov dword [rsp - 0x44], edi
lea rdx, [rcx + rcx*2]
mov ecx, dword [rbp - 0x78]
add rcx, r12
lea rdx, [rcx + rdx*8]
mov dword [rsp - 0x34], 0x5ed281a1
cmp rax, 0x78
jbe 0x14009f6d1
xchg rcx, rsi
mov rsi, qword [r15]
xchg rsi, rcx
jmp 0x14009f6de
xor ecx, ecx
mov dword [rsp - 0x44], esi
test rax, rax
cmovne rcx, r15
mov rax, qword [rcx]
mov dword [rsp - 0x40], 0x4ce8e82
lea r8, [rsp + 0x20]
mov r9d, 0x6c6fa5fe
xor r9d, 0x3c418cfa
xor r9d, 0x7ff355d5
sub r9d, 0x91e817c
sub r9d, 0x26befb3d
call qword [rax + 8]
mov r12, r12
test al, al
je 0x14009f826
mov eax, dword [rsp + 0x2c]
xorps xmm0, xmm0
xchg rbx, rbx
mov r9d, 0x6bd9e3f1
xor r9d, 0x16c3bbaa
xor r9d, 0x51c35d18
xor r9d, 0x2cd9053d
xchg rcx, rbp
movups xmmword [rcx + 0x30], xmm0
xchg rcx, rbp
xchg rbp, r8
movups xmmword [r8 + 0x40], xmm0
xchg rbp, r8
xchg r10, rbp
movups xmmword [r10 + 0x50], xmm0
xchg rbp, r10
xchg rbp, r12
movups xmmword [r12 + 0x60], xmm0
xchg rbp, r12
xchg rbp, rbx
movups xmmword [rbx + 0x70], xmm0
xchg rbx, rbp
xchg rbp, r15
movups xmmword [r15 + 0x80], xmm0
xchg r15, rbp
xchg r15, rbp
movups xmmword [r15 + 0x90], xmm0
xchg r15, rbp
movups xmmword [rbp + 0xa0], xmm0
cmp eax, 0x7e
ja 0x14009f7ab
xchg rdi, rdi
mov r9d, eax
mov edx, dword [rsp + 0x24]
mov rax, qword [r15 + 0x78]
add rdx, r12
mov r13, r13
cmp rax, 0x78
jbe 0x14009f7cb
mov rcx, qword [r15]
jmp 0x14009f7dc
xor ecx, ecx
mov dword [rsp - 0x2c], 0x312cf9c5
test rax, rax
cmovne rcx, r15
mov rax, qword [rcx]
mov dword [rsp - 0x10], 0xf5b1892
lea r8, [rbp + 0x30]
call qword [rax + 8]
test al, al
je 0x14009f826
xchg rdi, rdi
xchg r8, rdi
mov rdi, r14
xchg r8, rdi
lea rcx, [rbp + 0x30]
mov dword [rsp - 0x20], 0x143ed2c9
mov rdx, rbx
call fcn.1400bc770
test eax, eax
mov dword [rsp - 0x1c], 0x33719f5a
je 0x14009f839
inc edi
cmp edi, dword [rbp - 0x7c]
xchg rdi, rdi
jb 0x14009f696
jmp 0x14009fe4f
xor r14d, r14d
mov dword [rbp + 0xf0], r14d
xchg r13, r13
cmp dword [rsp + 0x34], r14d
jbe 0x14009fe4f
mov ebx, 0x1e1db485
add ebx, 0xb1f2fea
add ebx, 0x1157a0e5
sub ebx, 0x3a948455
nop dword [rax + rax]
mov dword [rsp - 0x1c], 0x178e3712
mov ecx, dword [rsp + 0x30]
lea rdx, [r14 + r14*4]
mov rax, qword [r15 + 0x78]
mov dword [rsp - 0x30], 0x16620b19
add rcx, r12
lea rdx, [rcx + rdx*4]
cmp rax, 0x78
jbe 0x14009f8b3
mov dword [rsp - 0xc], 0x4f606452
xchg rsi, rcx
mov rsi, qword [r15]
xchg rsi, rcx
jmp 0x14009f8bf
xor ecx, ecx
xchg rcx, rcx
test rax, rax
cmovne rcx, r15
mov rax, qword [rcx]
xchg r10, r10
lea r8, [rbp - 0x68]
mov r9d, 0x323d36e0
add r9d, 0x4a30c168
xor r9d, 0x54b4bba5
add r9d, 0x4f336d6f
sub r9d, 0x780cb148
call qword [rax + 8]
mov dword [rsp - 0x24], edi
test al, al
je 0x14009fe2a
mov eax, dword [rbp - 0x58]
xorps xmm0, xmm0
xchg r15, r15
mov r9d, 0xfcbd9c1
add r9d, 0x26a8dcb7
xor r9d, 0x39604548
add r9d, 0x64be54d6
sub r9d, 0x73d34788
xchg rbp, rcx
movups xmmword [rcx - 0x50], xmm0
xchg rbp, rcx
xchg rbp, r10
movups xmmword [r10 - 0x40], xmm0
xchg rbp, r10
xchg rbp, rsi
movups xmmword [rsi - 0x30], xmm0
xchg rsi, rbp
xchg r8, rbp
movups xmmword [r8 - 0x20], xmm0
xchg r8, rbp
xchg rbp, r10
movups xmmword [r10 - 0x10], xmm0
xchg r10, rbp
xchg rbp, r12
movups xmmword [r12], xmm0
xchg r12, rbp
xchg rbp, rsp
movups xmmword [rsp + 0x10], xmm0
xchg rsp, rbp
xchg rdx, rbp
movups xmmword [rdx + 0x20], xmm0
xchg rdx, rbp
cmp eax, 0x7e
mov r10, r10
ja 0x14009f989
mov r9d, eax
mov edx, dword [rbp - 0x5c]
xchg rbp, rax
mov rbp, qword [r15 + 0x78]
xchg rbp, rax
add rdx, r12
cmp rax, 0x78
mov dword [rsp - 0x44], 0x29ed3a05
jbe 0x14009f9b1
mov rcx, qword [r15]
jmp 0x14009f9be
xor ecx, ecx
mov dword [rsp - 0x44], esp
test rax, rax
cmovne rcx, r15
mov rax, qword [rcx]
mov dword [rsp - 0x44], ebx
lea r8, [rbp - 0x50]
call qword [rax + 8]
test al, al
xchg r14, r14
je 0x14009fe2a
xorps xmm0, xmm0
lea rax, [rsp + 0x40]
mov r11, r11
xchg r10, rax
mov qword [rsp + 0x38], r10
xchg r10, rax
nop
movabs rdx, 0xffffffff4351269e
add rdx, 0x10172a6
sub rdx, 0x368530af
add rdx, 0x7fffffff
xor rdx, 0x7232976b
lea rax, [rbp - 0x50]
xchg rsp, rbp
movups xmmword [rbp + 0x40], xmm0
xchg rsp, rbp
xchg rcx, rsp
movups xmmword [rcx + 0x50], xmm0
xchg rsp, rcx
movups xmmword [rsp + 0x60], xmm0
mov r13, r13
nop word [rax + rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x14009fa38
mov r12, r12
lea rcx, [rsp + 0x38]
xchg rdx, r8
mov qword [rsp + 0x70], r8
xchg rdx, r8
call fcn.1400110e0
mov dword [rsp - 0x10], esp
xor edi, edi
xchg rbp, rdx
mov rbp, rax
xchg rbp, rdx
mov ecx, 0x32db95ce
sub ecx, 0xb7a8932
add ecx, 0xa294fec
sub ecx, 0x28864ab4
cmp qword [rsp + 0x70], rdi
mov dword [rsp - 0x18], edx
jbe 0x14009fad1
lea r8, [rbp - 0x50]
sub r8, rax
mov rsi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, bx
mov r11, r11
ror ecx, 2
ror ecx, 5
ror ecx, 1
xor ax, word [rdx + r8 - 2]
inc rdi
xchg r11, r11
mov word [rdx - 2], ax
cmp rdi, qword [rsp + 0x70]
jb 0x14009fa9d
mov dword [rsp - 0x10], esp
xchg r12, rax
mov r12, qword [rsi + 8]
xchg r12, rax
test rax, rax
mov rcx, rcx
je 0x14009fced
mov rcx, qword [rsi + 0x10]
cmp rax, rcx
mov dword [rsp - 0x18], ebp
jb 0x14009fce5
add rcx, qword [rsi + 0x18]
mov qword [rsi + 0x10], rcx
xchg rdi, rdi
shl rcx, 6
call fcn.1400bbbb0
xchg r13, rcx
mov r13, qword [rsi + 8]
xchg rcx, r13
xor r14d, r14d
mov dword [rsp - 0x40], esi
xchg r13, rax
mov rax, r13
xchg r13, rax
test rcx, rcx
mov dword [rsp - 0x30], 0x5e212853
je 0x14009fc33
nop
movabs r12, 0xffffffff69880f14
xor r12, 0x677d0ebf
xor r12, 0x6be17d36
sub r12, 0xce48b61
add r12, 0x7fffffff
add r12, 0x27d00e8d
lea rdi, [rax + 0x38]
sub r12, rax
nop word [rax + rax]
mov dword [rsp - 0x40], 0x6fe09e98
lea rax, [rdi - 0x30]
xorps xmm0, xmm0
lea rcx, [rdi - 0x38]
xchg r14, r14
lea rbx, [r12 + rdi]
add rbx, qword [rsi]
mov qword [rcx], rax
mov dword [rsp - 0x14], esi
xchg rsi, rax
movups xmmword [rsi], xmm0
xchg rsi, rax
xchg r9, rax
movups xmmword [r9 + 0x10], xmm0
xchg r9, rax
xchg r15, rax
movups xmmword [r15 + 0x20], xmm0
xchg r15, rax
xchg rdx, r13
mov r13, qword [rbx + 0x38]
xchg r13, rdx
xchg r10, rdx
mov qword [rdi], r10
xchg rdx, r10
call fcn.1400110e0
mov r12, r12
xor ecx, ecx
cmp qword [rdi], rcx
jbe 0x14009fc02
nop dword [rax]
mov dword [rsp - 0x34], ebx
nop word [rax + rax]
xchg rdx, rsi
mov rsi, qword [rbx]
xchg rsi, rdx
movzx edx, word [rdx + rcx*2]
mov word [rax + rcx*2], dx
xchg r8, r8
inc rcx
cmp rcx, qword [rdi]
jb 0x14009fbe2
mov rcx, qword [rsi + 8]
mov dword [rsp - 0x24], 0x74e8f5cb
inc r14
nop
sub rdi, 0xfcfca3b
add rdi, 0xfcfca7b
cmp r14, rcx
jb 0x14009fb76
mov r12, qword [rbp + 0x100]
mov r15, r15
cmp qword [rsi], 0
je 0x14009fcd0
xor ebx, ebx
mov dword [rsp - 0x18], 0x7911804
test rcx, rcx
je 0x14009fcc5
xor r14d, r14d
xchg r14, r14
nop word [rax + rax]
xchg rsp, rax
mov rsp, qword [rsi]
xchg rsp, rax
xchg rcx, rdi
mov rdi, qword [r14 + rax]
xchg rdi, rcx
lea rdi, [rax + 8]
add rdi, r14
cmp rcx, rdi
xchg r14, r14
jne 0x14009fca0
xor eax, eax
mov ecx, 0x71b704ed
sub ecx, 0x30cd812
sub ecx, 0x218b6d34
xor ecx, 0x4d1ebf97
rep stosb byte [rdi], al
jmp 0x14009fca5
call fcn.1400bb8f0
inc rbx
mov dword [rsp - 0x40], ebx
nop
sub r14, 0xcc002f2
add r14, 0xcc00332
cmp rbx, qword [rsi + 8]
jb 0x14009fc5c
mov rcx, qword [rsi]
mov r9, r9
call fcn.1400bb8f0
mov r14d, dword [rbp + 0xf0]
xchg rcx, r13
mov qword [rsi], rcx
xchg r13, rcx
jmp 0x14009fd23
mov r13, qword [rsi]
jmp 0x14009fd23
mov r13, qword [rsi]
test r13, r13
mov r13, r13
jne 0x14009fd23
mov rcx, qword [rsi + 0x18]
xchg r10, rcx
mov qword [rsi + 0x10], r10
xchg r10, rcx
shl rcx, 4
shl rcx, 1
shl rcx, 1
call fcn.1400bbbb0
mov dword [rsp - 0x2c], edi
mov r13, rax
mov qword [rsi], rax
xchg rsp, rax
mov rsp, qword [rsi + 8]
xchg rsp, rax
xorps xmm0, xmm0
xchg rsp, rax
mov rbx, rsp
xchg rsp, rax
shl rbx, 4
shl rbx, 2
add rbx, r13
inc rax
mov rbx, rbx
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
xchg rbx, rax
mov qword [rsi + 8], rbx
xchg rbx, rax
lea rax, [rbx + 8]
mov qword [rbx], rax
xchg rsi, rsi
xchg rcx, rax
movups xmmword [rcx], xmm0
xchg rcx, rax
movups xmmword [rax + 0x10], xmm0
xchg rcx, rax
movups xmmword [rcx + 0x20], xmm0
xchg rcx, rax
xchg rsi, rax
mov rsi, qword [rsp + 0x70]
xchg rsi, rax
mov qword [rbx + 0x38], rax
xchg r10, r10
xchg rbx, rdx
mov rbx, qword [rsp + 0x70]
xchg rbx, rdx
call fcn.1400110e0
xor edi, edi
cmp qword [rbx + 0x38], rdi
mov dword [rsp - 0x14], esi
jbe 0x14009fdc4
mov rcx, qword [rsp + 0x38]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
xchg r8, r8
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x14009fda4
xchg rsp, rsp
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
cmp rcx, rax
mov r14, r14
jne 0x14009fe08
lea rdi, [rsp + 0x40]
xor eax, eax
mov r10, r10
mov ecx, 0x691968e8
sub ecx, 0x445d6d78
add ecx, 0x3a3fafa9
sub ecx, 0xc4b6f11
sub ecx, 0x52b03bd8
rep stosb byte [rdi], al
jmp 0x14009fe0d
call fcn.1400bb8f0
mov ebx, 0x69eca019
xor ebx, 0x16cadb87
xor ebx, 0x23d200dd
add ebx, 0x1448cbdd
xor ebx, 0x713d47df
inc r14d
mov dword [rbp + 0xf0], r14d
xchg r15, r15
cmp r14d, dword [rsp + 0x34]
jb 0x14009f878
xchg rdi, r13
mov rdi, qword [rbp + 0xf8]
xchg r13, rdi
xchg r13, rsp
mov rcx, rsp
xchg r13, rsp
call fcn.1400bb710
mov rcx, rcx
xchg r11, rax
mov r11, qword [r15 + 0x78]
xchg r11, rax
xchg r10, r14
mov r10, qword [rsp + 0x1b0]
xchg r10, r14
mov r13, qword [rsp + 0x1b8]
mov dword [rsp - 0x2c], ecx
mov rdi, qword [rsp + 0x208]
cmp rax, 0x78
jbe 0x14009fec4
mov dword [rsp - 0x18], 0x616afcd6
xchg r9, rcx
mov r9, qword [r15]
xchg rcx, r9
xor edx, edx
mov rax, qword [rcx]
mov dword [rsp - 0x2c], 0x579be45c
call qword [rax]
mov rcx, qword [r15]
call fcn.1400bb8f0
xchg rsp, rsp
jmp 0x14009fee3
test rax, rax
mov r13, r13
je 0x14009fee3
mov rax, qword [r15]
xor edx, edx
xchg r15, rcx
mov r15, rcx
xchg r15, rcx
call qword [rax]
xchg rbp, rbp
mov qword [r15 + 0x78], 0x130f3d1
xor qword [r15 + 0x78], 0x328975e3
xor qword [r15 + 0x78], 0x6ae25d8f
xor qword [r15 + 0x78], 0x595bdbbd
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
neg rsp
add rsp, 0xfffffffffffffe40
neg rsp
pop r15
mov dword [rsp - 0x34], edi
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
mov rbx, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret