Function at 0x180018ec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
xor edi, edi
xor ecx, ecx
mov r8d, 0x697a6afe
mov qword [0x18004bbc0], rdi
lea edx, [rdi + 1]
call fcn.180018a60
mov ebx, 0x15e8
lea r9d, [rdi + 4]
mov edx, ebx
mov r8d, 0x3000
xor ecx, ecx
call rax
mov qword [0x18004bbc0], rax
test rax, rax
je 0x180018f2d
nop word [rax + rax]
mov byte [rax], dil
lea rax, [rax + 1]
sub rbx, 1
jne 0x180018f20
mov r14d, 0xd
mov ecx, r14d
call fcn.180019800
mov qword [0x18004bbd8], rax
mov byte [rbp - 0x20], dil
mov dword [rbp - 0x1c], 0x20f45bf3
mov dword [rbp - 0x18], 0x7cb552fd
mov dword [rbp - 0x14], 0x22ea5ab6
mov dword [rbp - 0x10], 0x4e863e98
mov eax, dword [rbp - 0x1c]
movzx eax, byte [rbp - 0x20]
test al, al
jne 0x180018f86
mov rcx, rdi
mov eax, dword [rbp + rcx*4 - 0x1c]
xor eax, 0x4e863e98
mov dword [rbp + rcx*4 - 0x1c], eax
inc rcx
cmp rcx, 4
jb 0x180018f70
mov rcx, qword [0x18004bbd8]
mov edx, r14d
test rcx, rcx
je 0x180018fb0
lea r8, [rbp - 0x1c]
sub r8, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180018fa0
mov ecx, r14d
call fcn.180019800
mov qword [0x18004bbd0], rax
mov byte [rbp - 8], dil
mov dword [rbp - 4], 0x2e010949
mov dword [rbp], 0x7d440458
mov dword [rbp + 4], 0x231b0906
mov dword [rbp + 8], 0x4f776d28
mov eax, dword [rbp - 4]
movzx eax, byte [rbp - 8]
test al, al
jne 0x180019006
mov rcx, rdi
nop dword [rax]
mov eax, dword [rbp + rcx*4 - 4]
xor eax, 0x4f776d28
mov dword [rbp + rcx*4 - 4], eax
inc rcx
cmp rcx, 4
jb 0x180018ff0
mov rcx, qword [0x18004bbd0]
mov edx, r14d
test rcx, rcx
je 0x180019030
lea r8, [rbp - 4]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180019020
mov esi, 0xb
mov ecx, esi
call fcn.180019800
mov qword [0x18004bc40], rax
mov byte [rsp + 0x20], dil
mov dword [rsp + 0x24], 0x5bfa2e6d
mov dword [rsp + 0x28], 0x4db16f2b
mov dword [rsp + 0x2c], 0x299f3174
mov eax, dword [rsp + 0x24]
movzx eax, byte [rsp + 0x20]
test al, al
jne 0x180019086
mov rcx, rdi
mov eax, dword [rsp + rcx*4 + 0x24]
xor eax, 0x299f5d18
mov dword [rsp + rcx*4 + 0x24], eax
inc rcx
cmp rcx, 3
jb 0x180019070
mov rcx, qword [0x18004bc40]
mov edx, esi
test rcx, rcx
je 0x1800190b0
lea r8, [rsp + 0x24]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800190a0
mov ecx, esi
call fcn.180019800
mov qword [0x18004bc30], rax
mov byte [rsp + 0x30], dil
mov dword [rsp + 0x34], 0x42aaa1de
mov dword [rsp + 0x38], 0x79b6e09a
mov dword [rsp + 0x3c], 0x1d98bec5
mov eax, dword [rsp + 0x34]
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x180019106
mov rcx, rdi
nop dword [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x34]
xor eax, 0x1d98d2a9
mov dword [rsp + rcx*4 + 0x34], eax
inc rcx
cmp rcx, 3
jb 0x1800190f0
mov rcx, qword [0x18004bc30]
mov edx, esi
test rcx, rcx
je 0x180019130
lea r8, [rsp + 0x34]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180019120
mov r15d, 0xa
mov ecx, r15d
call fcn.180019800
mov qword [0x18004bbc8], rax
mov byte [rsp + 0x40], dil
mov dword [rsp + 0x44], 0x704a2151
mov dword [rsp + 0x48], 0x704a7b53
mov dword [rsp + 0x4c], 0x1c2e5553
mov eax, dword [rsp + 0x44]
movzx eax, byte [rsp + 0x40]
test al, al
jne 0x180019196
mov rcx, rdi
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x44]
xor eax, 0x1c2e553f
mov dword [rsp + rcx*4 + 0x44], eax
inc rcx
cmp rcx, 3
jb 0x180019180
mov rcx, qword [0x18004bbc8]
mov edx, r15d
test rcx, rcx
je 0x1800191c0
lea r8, [rsp + 0x44]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800191b0
mov ebx, 0xc
mov ecx, ebx
call fcn.180019800
mov qword [0x18004bbe8], rax
mov byte [rsp + 0x50], dil
mov dword [rsp + 0x54], 0x49bbf36a
mov dword [rsp + 0x58], 0xbeca875
mov dword [rsp + 0x5c], 0x25b2f77d
mov eax, dword [rsp + 0x54]
movzx eax, byte [rsp + 0x50]
test al, al
jne 0x180019216
mov rcx, rdi
mov eax, dword [rsp + rcx*4 + 0x54]
xor eax, 0x25de9b19
mov dword [rsp + rcx*4 + 0x54], eax
inc rcx
cmp rcx, 3
jb 0x180019200
mov rcx, qword [0x18004bbe8]
mov edx, ebx
test rcx, rcx
je 0x180019240
lea r8, [rsp + 0x54]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180019230
mov ecx, ebx
call fcn.180019800
mov qword [0x18004bc20], rax
mov byte [rsp + 0x60], dil
mov dword [rsp + 0x64], 0x49e1f42c
mov dword [rsp + 0x68], 0x17aab53b
mov dword [rsp + 0x6c], 0x39f4ea2b
mov eax, dword [rsp + 0x64]
movzx eax, byte [rsp + 0x60]
test al, al
jne 0x180019296
mov rcx, rdi
nop dword [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x64]
xor eax, 0x3998864f
mov dword [rsp + rcx*4 + 0x64], eax
inc rcx
cmp rcx, 3
jb 0x180019280
mov rcx, qword [0x18004bc20]
mov edx, ebx
test rcx, rcx
je 0x1800192c0
lea r8, [rsp + 0x64]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800192b0
mov ecx, ebx
call fcn.180019800
mov qword [0x18004bbf8], rax
mov byte [rsp + 0x70], dil
mov dword [rsp + 0x74], 0x3bf5c4fa
mov dword [rsp + 0x78], 0x62f0dce8
mov dword [rsp + 0x7c], 0x4cf5c0ed
mov eax, dword [rsp + 0x74]
movzx eax, byte [rsp + 0x70]
test al, al
jne 0x180019316
mov rcx, rdi
nop dword [rax + rax]
mov eax, dword [rsp + rcx*4 + 0x74]
xor eax, 0x4c99ac89
mov dword [rsp + rcx*4 + 0x74], eax
inc rcx
cmp rcx, 3
jb 0x180019300
mov rcx, qword [0x18004bbf8]
mov edx, ebx
test rcx, rcx
je 0x180019340
lea r8, [rsp + 0x74]
sub r8, rcx
nop dword [rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180019330
mov ecx, ebx
call fcn.180019800
mov qword [0x18004bc08], rax
mov byte [rbp - 0x80], dil
mov dword [rbp - 0x7c], 0x15603f17
mov dword [rbp - 0x78], 0x537e2214
mov dword [rbp - 0x74], 0x7d623a04
mov eax, dword [rbp - 0x7c]
movzx eax, byte [rbp - 0x80]
test al, al
jne 0x180019396
mov rcx, rdi
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x7c]
xor eax, 0x7d0e5660
mov dword [rbp + rcx*4 - 0x7c], eax
inc rcx
cmp rcx, 3
jb 0x180019380
mov rcx, qword [0x18004bc08]
mov edx, ebx
test rcx, rcx
je 0x1800193c0
lea r8, [rbp - 0x7c]
sub r8, rcx
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800193b0
mov ecx, r14d
call fcn.180019800
mov qword [0x18004bc28], rax
mov byte [rbp + 0x10], dil
mov dword [rbp + 0x14], 0x593cddce
mov dword [rbp + 0x18], 0xa7bd1d0
mov dword [rbp + 0x1c], 0x5424dc8e
mov dword [rbp + 0x20], 0x3848b8a0
mov eax, dword [rbp + 0x14]
movzx eax, byte [rbp + 0x10]
test al, al
jne 0x180019416
mov rcx, rdi
nop dword [rax]
mov eax, dword [rbp + rcx*4 + 0x14]
xor eax, 0x3848b8a0
mov dword [rbp + rcx*4 + 0x14], eax
inc rcx
cmp rcx, 4
jb 0x180019400
mov rcx, qword [0x18004bc28]
mov edx, r14d
test rcx, rcx
je 0x180019440
lea r8, [rbp + 0x14]
sub r8, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x180019430
mov ecx, esi
call fcn.180019800
mov qword [0x18004bc38], rax
mov byte [rbp - 0x70], dil
mov dword [rbp - 0x6c], 0x57237302
mov dword [rbp - 0x68], 0x4a7f6410
mov dword [rbp - 0x64], 0x2e517c0c
mov eax, dword [rbp - 0x6c]
movzx eax, byte [rbp - 0x70]
test al, al
jne 0x180019496
mov rcx, rdi
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x6c]
xor eax, 0x2e511060
mov dword [rbp + rcx*4 - 0x6c], eax
inc rcx
cmp rcx, 3
jb 0x180019480
mov rcx, qword [0x18004bc38]
mov edx, esi
test rcx, rcx
je 0x1800194c0
lea r8, [rbp - 0x6c]
sub r8, rcx
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800194b0
mov ecx, ebx
call fcn.180019800
mov qword [0x18004bbf0], rax
mov byte [rbp - 0x60], dil
mov dword [rbp - 0x5c], 0x3e6f7dd4
mov dword [rbp - 0x58], 0x627c60c4
mov dword [rbp - 0x54], 0x4c6662c5
mov eax, dword [rbp - 0x5c]
movzx eax, byte [rbp - 0x60]
test al, al
jne 0x180019516
mov rcx, rdi
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x5c]
xor eax, 0x4c0a0ea1
mov dword [rbp + rcx*4 - 0x5c], eax
inc rcx
cmp rcx, 3
jb 0x180019500
mov rcx, qword [0x18004bbf0]
test rcx, rcx
je 0x18001953f
lea rdx, [rbp - 0x5c]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub ebx, 1
jne 0x180019530
mov ecx, esi
call fcn.180019800
mov qword [0x18004bbe0], rax
mov byte [rbp - 0x50], dil
mov dword [rbp - 0x4c], 0x5f2b186c
mov dword [rbp - 0x48], 0x4c685e34
mov dword [rbp - 0x44], 0x2846006b
mov eax, dword [rbp - 0x4c]
movzx eax, byte [rbp - 0x50]
test al, al
jne 0x180019596
mov rcx, rdi
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x4c]
xor eax, 0x28466c07
mov dword [rbp + rcx*4 - 0x4c], eax
inc rcx
cmp rcx, 3
jb 0x180019580
mov rcx, qword [0x18004bbe0]
mov edx, esi
test rcx, rcx
je 0x1800195c0
lea r8, [rbp - 0x4c]
sub r8, rcx
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub edx, 1
jne 0x1800195b0
mov ecx, r15d
call fcn.180019800
mov qword [0x18004bc10], rax
mov byte [rbp - 0x40], dil
mov dword [rbp - 0x3c], 0x143b53fe
mov dword [rbp - 0x38], 0x4b3a11a3
mov dword [rbp - 0x34], 0x275e3ffd
mov eax, dword [rbp - 0x3c]
movzx eax, byte [rbp - 0x40]
test al, al
jne 0x180019616
mov rcx, rdi
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 - 0x3c]
xor eax, 0x275e3f91
mov dword [rbp + rcx*4 - 0x3c], eax
inc rcx
cmp rcx, 3
jb 0x180019600
mov rcx, qword [0x18004bc10]
test rcx, rcx
je 0x180019640
lea rdx, [rbp - 0x3c]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r15d, 1
jne 0x180019630
mov ecx, r14d
call fcn.180019800
mov qword [0x18004bc00], rax
mov byte [rbp + 0x28], dil
mov dword [rbp + 0x2c], 0x70f738f1
mov dword [rbp + 0x30], 0x75ef29e8
mov dword [rbp + 0x34], 0x70f32cb6
mov dword [rbp + 0x38], 0x1c9f4898
mov eax, dword [rbp + 0x2c]
movzx eax, byte [rbp + 0x28]
test al, al
jne 0x180019696
mov rcx, rdi
nop dword [rax]
mov eax, dword [rbp + rcx*4 + 0x2c]
xor eax, 0x1c9f4898
mov dword [rbp + rcx*4 + 0x2c], eax
inc rcx
cmp rcx, 4
jb 0x180019680
mov rcx, qword [0x18004bc00]
test rcx, rcx
je 0x1800196c0
lea rdx, [rbp + 0x2c]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r14d, 1
jne 0x1800196b0
mov ecx, esi
call fcn.180019800
mov qword [0x18004bc18], rax
mov byte [rbp - 0x30], dil
mov dword [rbp - 0x2c], 0x6f35835a
mov dword [rbp - 0x28], 0x7978c75c
mov dword [rbp - 0x24], 0x1d569f44
mov eax, dword [rbp - 0x2c]
movzx eax, byte [rbp - 0x30]
test al, al
jne 0x180019716
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbp + rdi*4 - 0x2c]
xor eax, 0x1d56f328
mov dword [rbp + rdi*4 - 0x2c], eax
inc rdi
cmp rdi, 3
jb 0x180019700
mov rcx, qword [0x18004bc18]
test rcx, rcx
je 0x18001973f
lea rdx, [rbp - 0x2c]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub esi, 1
jne 0x180019730
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret