Function at 0x140017650
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
mov dword [rsp - 0x10], 0x646d4ac
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
xchg r9, r9
mov r13, rcx
mov ebx, 0x1c1144d9
xor ebx, 0x2c1d677e
sub ebx, 0x1c664d4a
mov dword [rsp - 0x38], 0x5c078faf
add ebx, 0x19ddfae8
sub ebx, 0x2d83d0e9
lea rcx, [rbp - 9]
mov dword [rsp - 0x18], 0x6998b4b1
call fcn.14006c930
mov rdx, rax
lea rcx, [rbp - 0x19]
mov r8, r8
movzx r8d, bx
call fcn.14006a7b0
mov r8, qword [0x1400a49d0]
lea rcx, [rbp - 0x29]
mov r11, r11
mov rdx, rax
call fcn.14006a200
mov rdx, rax
lea rcx, [rbp + 7]
mov dword [rsp - 0x14], 0x14b0978c
mov r8b, 0x45
xor r8b, 0x64
xor r8b, 0x11
xchg r11, r11
sub r8b, 0x28
add r8b, 6
add r8b, 0x61
sub r8b, 0x6e
xchg r15, r15
call fcn.14006cf50
cmp qword [rbp - 0x21], 4
jbe 0x140017719
mov rbp, rbp
mov rcx, qword [rbp - 0x29]
call fcn.140073d00
cmp qword [rbp - 0x11], 4
jbe 0x140017731
mov dword [rsp - 0x24], 0x1567d0c3
mov rcx, qword [rbp - 0x19]
call fcn.140073d00
cmp qword [rbp - 1], 4
jbe 0x140017744
xchg rsp, rsp
mov rcx, qword [rbp - 9]
call fcn.140073d00
mov qword [rsp + 0xe0], rsi
mov rsi, rsi
lea rcx, [rbp + 7]
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], r15
mov dword [rsp - 0x38], 0x714e1c3f
call fcn.14006d2f0
xor edi, edi
lea r12, [rdi - 1]
mov dword [rsp - 0x2c], 0x11191576
test al, al
je 0x140017aa7
xor r9d, r9d
mov rdx, rdx
lea rcx, [rbp + 7]
mov edx, 0x2e5c050e
add edx, 0x27e46838
mov dword [rsp - 0x20], 0x6263809a
sub edx, 0x11df4d55
sub edx, 0x1d4cee0
add edx, 0x38f1008d
xor edx, 0xc382a6de
mov rcx, rcx
mov r8d, 0x45f082cd
sub r8d, 0x43c3210f
add r8d, 0x6d7a3a11
sub r8d, 0x4ef2721c
mov rcx, rcx
sub r8d, 0x1fced91f
add r8d, 0x52233af6
add r8d, 0x6dc0b046
call fcn.14006dd20
xchg rsp, rsp
mov r14, rax
test rax, rax
je 0x140017aa7
mov dword [rsp - 0x10], ebx
mov rsi, r12
nop dword [rax]
inc rsi
mov r13, r13
cmp byte [rax + rsi], dil
jne 0x140017810
mov rax, qword [0x1400a4ed0]
mov rdi, rdi
mov r9d, esi
xor rax, qword [0x1400a4ab0]
mov r8, r14
mov dword [rsp + 0x28], edi
mov dword [rsp - 0x30], 0x61ce9d1f
xor edx, edx
mov ecx, 0x3fb18d66
xor ecx, 0x30fed38d
xor ecx, 0xbac27d6
mov dword [rsp - 0x44], ecx
add ecx, 0x717d9df6
xor ecx, 0x72bd3359
xor ecx, 0x4dcd983
xchg r13, r13
mov qword [rsp + 0x20], rdi
call rax
movsxd rbx, eax
xchg r10, r10
mov eax, 0xcd9190c
add eax, 0x45be6195
sub eax, 0xfc8034a
sub eax, 0x1347daf8
mov dword [rsp - 0x10], 0x77d28b44
xor eax, 0x2f879c5d
lea rcx, [rbx + 1]
mul rcx
xchg rcx, rcx
cmovo rax, r12
mov rcx, rax
call fcn.140073cf0
xchg rsi, rsi
mov r10, qword [0x1400a4ed0]
lea ecx, [rbx + 1]
xor r10, qword [0x1400a4ab0]
mov dword [rsp - 0x30], ecx
mov r9d, esi
mov dword [rsp + 0x28], ecx
mov r8, r14
mov dword [rsp - 0x44], 0x16aa3647
mov ecx, 0x67e78faa
xor ecx, 0xce3a112
sub ecx, 0x2160449c
xor ecx, 0x42e6f79b
mov rbp, rbp
sub ecx, 0xb441f9e
mov qword [rsp + 0x20], rax
xor edx, edx
mov r15, rax
mov r8, r8
call r10
mov word [r15 + rbx*2], di
mov rsi, rdi
mov rbx, r12
xchg r12, r12
mov qword [rbp - 0x29], rdi
inc rbx
cmp word [r15 + rbx*2], si
jne 0x14001791b
mov rsp, rsp
mov qword [rbp - 0x21], rbx
lea r8, [rbp - 0x29]
cmp rbx, 4
xchg r15, r15
jbe 0x140017989
mov eax, 0x438e7a2e
sub eax, 0xa0eb8d
sub eax, 0x309c880a
mov dword [rsp - 0x2c], 0x253f04f3
xor eax, 0x546174e9
add eax, 0x2189d484
sub eax, 0x66e5017b
xchg r14, r14
sub eax, 0xd54585
mul rbx
cmovo rax, r12
mov rcx, rax
xchg r13, r13
call fcn.140073cf0
mov r8, rax
mov qword [rbp - 0x29], rax
mov dword [rsp - 0x18], esp
mov r9, rdi
jmp 0x140017998
mov r9, rdi
test rbx, rbx
je 0x140017a1f
xchg rsi, rsi
mov r10, r15
sub r10, r8
nop dword [rax]
movzx ecx, r9b
xchg rdx, rdx
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x68d535ea
mov dword [rsp - 0x38], 0xc19626c
sub edx, 0xac54734
sub edx, 0x41bc8b03
add edx, 0x15d1b1fd
add edx, 0x2ec46d3e
mov dword [rsp - 0x1c], 0x8eba140
add edx, 0x1408cbed
xor edx, 0x6ca1105e
shl cl, 3
inc r9
mov dword [rsp - 0x30], 0x150766c8
sar edx, cl
movsx eax, dl
xor ax, word [r10 + r8 - 2]
mov word [r8 - 2], ax
mov dword [rsp - 0x34], 0x6bd138cf
mov rbx, qword [rbp - 0x21]
cmp r9, rbx
jb 0x1400179a2
mov rdx, rdx
mov rsi, qword [rbp - 0x29]
mov rcx, r15
call fcn.140073d00
mov rcx, r14
mov dword [rsp - 0x1c], 0x395e4956
call fcn.140073d00
cmp rbx, 0x10
jne 0x140017a96
xchg r10, r10
lea ecx, [rbx + 0x10]
call fcn.140073cf0
mov r8, rsi
mov dword [rsp - 0x20], edx
mov qword [r13], rax
sub r8, rax
mov qword [r13 + 8], rbx
mov rdx, rax
xchg r15, r15
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rdx]
inc rdi
mov dword [rsp - 0x3c], 0x3a9d5968
mov word [rdx], ax
lea rdx, [rdx + 2]
cmp rdi, qword [r13 + 8]
xchg r14, r14
jb 0x140017a6e
mov rcx, rsi
jmp 0x140017e64
cmp rbx, 4
jbe 0x140017aa7
mov rcx, rsi
xchg rbx, rbx
call fcn.140073d00
mov r8d, 0x5d4d2510
sub r8d, 0x20628fe1
sub r8d, 0x95ef4de
mov dword [rsp - 0x30], 0xdfb59fc
sub r8d, 0x11651149
sub r8d, 0xc74b75e
sub r8d, 0x15b1d79a
lea rdx, [rbp - 0x39]
mov dword [rsp - 0x24], 0x3e32cd9f
lea rcx, [0x1400a5f50]
call fcn.14006f090
mov r14, qword [rbp - 0x31]
mov dword [rsp - 0x3c], esp
lea rsi, [rbp - 0x39]
cmp r14, 4
pushf
mov eax, 0x5e884984
mov dword [rsp - 0x14], ecx
sub eax, 0x3c3c6d10
sub eax, 0x239dc6c
xor eax, 0x6a77ae25
mov dword [rsp - 0x3c], 0x570ed6c4
xor eax, 0x1c070e43
xor eax, 0x3fbf249b
xor eax, 0x69dd84f7
popf
mov r10, r10
cmova rsi, qword [rbp - 0x39]
lea rcx, [r14 + 1]
mul rcx
cmovo rax, r12
mov dword [rsp - 0x28], 0x239660dd
mov rcx, rax
call fcn.140073cf0
mov rbx, rax
mov rdx, rdx
mov r9, rdi
test r14, r14
je 0x140017bd1
mov r8, rax
mov dword [rsp - 0x34], 0x29d84598
sub rsi, rax
nop dword [rax + rax]
movzx ecx, r9b
mov dword [rsp - 0x14], 0x55432423
lea r8, [r8 + 2]
and cl, 3
mov edx, 0x361b407
xor edx, 0x5d03c2df
mov dword [rsp - 0x44], esp
add edx, 0x211c1828
sub edx, 0xf2f86c3
sub edx, 0x57fba9b8
mov dword [rsp - 0x18], esp
shl cl, 3
inc r9
sar edx, cl
movsx eax, dl
mov dword [rsp - 0x38], edi
xor ax, word [rsi + r8 - 2]
mov word [r8 - 2], ax
cmp r9, r14
mov r11, r11
jb 0x140017b77
mov word [rbx + r14*2], di
mov r8, rbx
mov dword [rsp - 0x38], 0x5d686d80
mov r12, qword [rbp - 0x31]
xor edx, edx
mov rax, qword [0x1400a4ee0]
mov r9d, r12d
xchg rdi, rdi
xor rax, qword [0x1400a4ab0]
mov ecx, 0x36737112
add ecx, 0x42e56aec
xchg r15, r15
sub ecx, 0x1d43cc1b
add ecx, 0x1b5452bf
sub ecx, 0x3d66e706
mov dword [rsp - 0x20], ebx
sub ecx, 0x3a017db3
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov rsi, rsi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call rax
movsxd rsi, eax
mov dword [rsp - 0x14], ecx
lea rcx, [rsi + 1]
call fcn.140073cf0
mov r10, qword [0x1400a4ee0]
lea r9d, [rsi + 1]
mov r12, r12
xor r10, qword [0x1400a4ab0]
mov r8, rbx
mov qword [rsp + 0x38], rdi
xor edx, edx
xchg rcx, rcx
mov qword [rsp + 0x30], rdi
mov ecx, 0xe2cf66f
add ecx, 0x705aac66
mov dword [rsp - 0x1c], 0x3187140a
xor ecx, 0x19c5053a
sub ecx, 0xfbc73f3
xor ecx, 0x667ae7ca
mov dword [rsp - 0x2c], 0x4caba0d1
add ecx, 0x3458f6a9
xor ecx, 0x66553736
mov dword [rsp + 0x28], r9d
xchg r9, r9
mov r15, rax
mov r9d, r12d
mov qword [rsp + 0x20], rax
call r10
mov r14, r14
mov rcx, rbx
mov byte [rsi + r15], dil
call fcn.140073d00
mov r9, r15
xchg r8, r8
lea rcx, [rbp + 7]
mov edx, 0x5e4cdce4
xor edx, 0x59c5abdf
add edx, 0x41d5c12f
xchg r14, r14
sub edx, 0x1af38141
xor edx, 0x96944069
mov r8d, 0x697b1449
add r8d, 0x18a6736
mov dword [rsp - 0x2c], esp
add r8d, 0x1244fde7
xor r8d, 0x20f82c9e
add r8d, 0xf1b9793
mov dword [rsp - 0x40], 0x736c06fe
sub r8d, 0x5f74ef12
add r8d, 0xb3713d57
call fcn.14006e450
mov r8, r8
mov rcx, r15
call fcn.140073d00
lea rcx, [rbp + 7]
mov dword [rsp - 0x20], 0xbe097ca
call fcn.14006de60
test al, al
je 0x140017e4d
mov rcx, qword [rbp - 0x31]
mov dword [rsp - 0x28], ebx
cmp rcx, 4
jbe 0x140017df4
mov eax, 0x10330a85
mov dword [rsp - 0x30], edx
xor eax, 0x36eb3f4a
xor eax, 0x6accb5a2
sub eax, 0x118c86a9
mov dword [rsp - 0x38], ebp
add eax, 0x11a1ec55
sub eax, 0x4c29e617
mul rcx
pushf
xchg r11, r11
movabs rcx, 0xffffffff06a37f34
xor rcx, 0x1a77838
add rcx, 0x12724e5b
mov dword [rsp - 0x34], 0x5870fec6
sub rcx, 0xad6dbf7
add rcx, 0x7fffffff
xor rcx, 0x71608690
popf
mov rsi, rsi
cmovo rax, rcx
mov rcx, rax
call fcn.140073cf0
mov dword [rsp - 0x24], ecx
mov rcx, qword [rbp - 0x31]
mov rdx, rax
jmp 0x140017df7
mov rdx, rdi
cmp rcx, 4
mov rdx, rdx
mov qword [r13], rdx
mov qword [r13 + 8], rcx
cmovbe rdx, r13
test rcx, rcx
mov rcx, rcx
je 0x140017e47
nop word [rax + rax]
cmp rcx, 4
mov dword [rsp - 0x10], ebx
lea rax, [rbp - 0x39]
cmova rax, qword [rbp - 0x39]
movzx eax, word [rax + rdi*2]
mov word [rdx + rdi*2], ax
xchg r10, r10
inc rdi
mov rcx, qword [rbp - 0x31]
cmp rdi, qword [r13 + 8]
mov rdx, rdx
jb 0x140017e1b
cmp rcx, 4
jmp 0x140017e5a
cmp qword [rbp - 0x31], 4
mov qword [r13], rdi
mov qword [r13 + 8], rdi
jbe 0x140017e69
mov dword [rsp - 0xc], esi
mov rcx, qword [rbp - 0x39]
call fcn.140073d00
lea rcx, [rbp + 7]
call fcn.14006d130
mov dword [rsp - 0x2c], 0xee8d143
mov r15, qword [rsp + 0xf0]
mov rax, r13
mov r14, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xe0]
mov dword [rsp - 0x30], ecx
add rsp, 0xb0
pop r13
pop r12
pop rdi
mov dword [rsp - 0x34], esi
pop rbx
pop rbp
ret