Function at 0x18000b8a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
mov rbp, rsp
sub rsp, 0x80
mov r10, rdx
mov rsi, rcx
mov dword [rbp + 0x18], 0xbfbfbd87
xor eax, eax
mov byte [rbp + 0x1c], al
xor r8d, r8d
mov edx, r8d
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x18]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 4
jb 0x18000b8e0
mov byte [rbp + 0x1c], r8b
mov r11, r10
cmp byte [rbp + 0x18], r8b
je 0x18000b93e
cmp byte [r10], r8b
je 0x18000b947
lea rax, [rbp + 0x18]
mov r9, r10
sub r9, rax
lea rdx, [rbp + 0x18]
movzx eax, byte [rdx]
test al, al
je 0x18000b93e
cmp byte [r9 + rdx], al
jne 0x18000b92c
inc rdx
cmp byte [r9 + rdx], r8b
jne 0x18000b916
cmp byte [rdx], r8b
je 0x18000b93e
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000b912
jmp 0x18000b947
test r11, r11
jne 0x18000bb85
mov dword [rbp - 0x60], 0xa3a2ba9a
mov dword [rbp - 0x5c], 0xb483a7b7
mov word [rbp - 0x58], 0xbbba
xor eax, eax
mov byte [rbp - 0x56], al
mov edx, r8d
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0xa
jb 0x18000b970
mov byte [rbp - 0x56], r8b
mov r11, r10
cmp byte [rbp - 0x60], r8b
je 0x18000b9ce
cmp byte [r10], r8b
je 0x18000b9d7
lea rax, [rbp - 0x60]
mov r9, r10
sub r9, rax
lea rdx, [rbp - 0x60]
movzx eax, byte [rdx]
test al, al
je 0x18000b9ce
cmp byte [r9 + rdx], al
jne 0x18000b9bc
inc rdx
cmp byte [r9 + rdx], r8b
jne 0x18000b9a6
cmp byte [rdx], r8b
je 0x18000b9ce
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000b9a2
jmp 0x18000b9d7
test r11, r11
jne 0x18000bb85
mov dword [rbp - 0x51], 0xbfbfbd8a
mov dword [rbp - 0x4d], 0x92998cb7
xor eax, eax
mov byte [rbp - 0x49], al
mov edx, r8d
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp - 0x51]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 8
jb 0x18000b9f0
mov byte [rbp - 0x49], r8b
mov r11, r10
cmp byte [rbp - 0x51], r8b
je 0x18000ba4e
cmp byte [r10], r8b
je 0x18000ba57
lea rax, [rbp - 0x51]
mov r9, r10
sub r9, rax
lea rdx, [rbp - 0x51]
movzx eax, byte [rdx]
test al, al
je 0x18000ba4e
cmp byte [rdx + r9], al
jne 0x18000ba3c
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000ba26
cmp byte [rdx], r8b
je 0x18000ba4e
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000ba22
jmp 0x18000ba57
test r11, r11
jne 0x18000bb85
mov dword [rbp - 0x60], 0xe3b8acab
mov dword [rbp - 0x5c], 0x8ae4e3e1
mov dword [rbp - 0x58], 0xa0abb6b3
xor eax, eax
mov byte [rbp - 0x54], al
mov edx, r8d
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0xc
jb 0x18000ba80
mov byte [rbp - 0x54], r8b
mov r11, r10
cmp byte [rbp - 0x60], r8b
je 0x18000bb7c
cmp byte [r10], r8b
je 0x18000baf2
lea rax, [rbp - 0x60]
mov r9, r10
sub r9, rax
nop word [rax + rax]
lea rdx, [rbp - 0x60]
movzx eax, byte [rdx]
test al, al
je 0x18000bb7c
cmp byte [rdx + r9], al
jne 0x18000bade
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000bac4
cmp byte [rdx], r8b
je 0x18000bb7c
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bac0
mov dword [rbp + 0x18], 0xa3a2ba9a
mov word [rbp + 0x1c], 0xa7b7
xor eax, eax
mov byte [rbp + 0x1e], al
mov edx, r8d
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x18]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 6
jb 0x18000bb10
mov byte [rbp + 0x1e], r8b
mov r11, r10
cmp byte [rbp + 0x18], r8b
je 0x18000bbbe
cmp byte [r10], r8b
je 0x18000bbc7
lea rax, [rbp + 0x18]
mov r9, r10
sub r9, rax
nop word [rax + rax]
lea rdx, [rbp + 0x18]
movzx eax, byte [rdx]
test al, al
je 0x18000bbbe
cmp byte [rdx + r9], al
jne 0x18000bb6a
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000bb54
cmp byte [rdx], r8b
je 0x18000bbbe
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bb50
jmp 0x18000bbc7
test r11, r11
je 0x18000baf2
mov dword [rbp - 0x60], 0x8ea4aea3
mov dword [rbp - 0x5c], 0xa5a0baba
mov dword [rbp - 0x58], 0xadb6beb9
mov word [rbp - 0x54], 0xeb
movsxd rax, r8d
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [r8 - 0x32]
xor byte [rcx], al
inc r8d
cmp r8d, 0xd
jb 0x18000bba0
jmp 0x18000be49
test r11, r11
jne 0x18000be10
movdqa xmm0, xmmword [0x180008090]
movdqu xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x38], 0x8d8cb6aa
mov dword [rbp - 0x34], 0x9d9187
mov edx, r8d
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x48]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0x17
jb 0x18000bbf0
mov byte [rbp - 0x31], r8b
mov r11, r10
cmp byte [rbp - 0x48], r8b
je 0x18000bc4e
cmp byte [r10], r8b
je 0x18000bc57
lea rax, [rbp - 0x48]
mov r9, r10
sub r9, rax
lea rdx, [rbp - 0x48]
movzx eax, byte [rdx]
test al, al
je 0x18000bc4e
cmp byte [rdx + r9], al
jne 0x18000bc3c
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000bc26
cmp byte [rdx], r8b
je 0x18000bc4e
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bc22
jmp 0x18000bc57
test r11, r11
jne 0x18000be10
movdqa xmm0, xmmword [0x1800080e0]
movdqu xmmword [rbp - 0x48], xmm0
mov dword [rbp - 0x38], 0x99adbb
mov edx, r8d
nop
movsxd rax, edx
lea rcx, [rbp - 0x48]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0x13
jb 0x18000bc70
mov byte [rbp - 0x35], r8b
mov r11, r10
cmp byte [rbp - 0x48], r8b
je 0x18000be07
cmp byte [r10], r8b
je 0x18000bce2
lea rax, [rbp - 0x48]
mov r9, r10
sub r9, rax
nop word [rax + rax]
lea rdx, [rbp - 0x48]
movzx eax, byte [rdx]
test al, al
je 0x18000be07
cmp byte [rdx + r9], al
jne 0x18000bcce
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000bcb4
cmp byte [rdx], r8b
je 0x18000be07
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bcb0
mov dword [rbp + 0x18], 0xb8bfbd8a
mov word [rbp + 0x1c], 0xb6
mov edx, r8d
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rbp + 0x18]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 5
jb 0x18000bd00
mov byte [rbp + 0x1d], r8b
mov r11, r10
cmp byte [rbp + 0x18], r8b
je 0x18000be66
cmp byte [r10], r8b
je 0x18000bd72
lea rax, [rbp + 0x18]
mov r9, r10
sub r9, rax
nop word [rax + rax]
lea rdx, [rbp + 0x18]
movzx eax, byte [rdx]
test al, al
je 0x18000be66
cmp byte [rdx + r9], al
jne 0x18000bd5e
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000bd44
cmp byte [rdx], r8b
je 0x18000be66
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bd40
mov dword [rbp - 0x60], 0x82948a9d
mov dword [rbp - 0x5c], 0xbcb0bfbd
mov word [rbp - 0x58], 0xa5b3
xor eax, eax
mov byte [rbp - 0x56], al
mov edx, r8d
nop
movsxd rax, edx
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0xa
jb 0x18000bd90
mov byte [rbp - 0x56], r8b
mov r11, r10
cmp byte [rbp - 0x60], r8b
je 0x18000bec6
cmp byte [r10], r8b
je 0x18000becf
lea rax, [rbp - 0x60]
mov r9, r10
sub r9, rax
nop word [rax + rax]
lea rdx, [rbp - 0x60]
movzx eax, byte [rdx]
test al, al
je 0x18000bec6
cmp byte [rdx + r9], al
jne 0x18000bdee
inc rdx
cmp byte [rdx + r9], r8b
jne 0x18000bdd4
cmp byte [rdx], r8b
je 0x18000bec6
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bdd0
jmp 0x18000becf
test r11, r11
je 0x18000bce2
mov dword [rbp - 0x60], 0x8ea4aea3
mov dword [rbp - 0x5c], 0xa5a0baba
mov dword [rbp - 0x58], 0xadb6beb9
mov word [rbp - 0x54], 0xe9
nop dword [rax + rax]
movsxd rax, r8d
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [r8 - 0x32]
xor byte [rcx], al
inc r8d
cmp r8d, 0xd
jb 0x18000be30
mov byte [rbp - 0x53], 0
mov rax, qword [rsi]
mov r8, qword [rax + 0x3a8]
lea rdx, [rbp - 0x60]
mov rcx, rsi
call r8
jmp 0x18000c125
test r11, r11
je 0x18000bd72
mov dword [rbp - 0x60], 0x8ea4aea3
mov dword [rbp - 0x5c], 0xb1b5b6ba
mov dword [rbp - 0x58], 0xb6aab389
mov word [rbp - 0x54], 0xbfb3
xor eax, eax
mov byte [rbp - 0x52], al
nop
movsxd rax, r8d
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [r8 - 0x32]
xor byte [rcx], al
inc r8d
cmp r8d, 0xe
jb 0x18000be90
mov byte [rbp - 0x52], 0
mov rax, qword [rsi]
mov r8, qword [rax + 0x3a8]
lea rdx, [rbp - 0x60]
mov rcx, rsi
call r8
jmp 0x18000c125
test r11, r11
jne 0x18000c147
mov dword [rbp - 0x60], 0x90948a9d
mov dword [rbp - 0x5c], 0xa0b5a0a1
mov word [rbp - 0x58], 0xa3ba
xor eax, eax
mov byte [rbp - 0x56], al
mov edx, r8d
nop dword [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0xa
jb 0x18000bef0
mov byte [rbp - 0x56], r8b
mov r11, r10
cmp byte [rbp - 0x60], r8b
je 0x18000bf4e
cmp byte [r10], r8b
je 0x18000bf57
lea rax, [rbp - 0x60]
mov r9, r10
sub r9, rax
lea rdx, [rbp - 0x60]
movzx eax, byte [rdx]
test al, al
je 0x18000bf4e
cmp byte [r9 + rdx], al
jne 0x18000bf3c
inc rdx
cmp byte [r9 + rdx], r8b
jne 0x18000bf26
cmp byte [rdx], r8b
je 0x18000bf4e
inc r11
inc r9
cmp byte [r11], r8b
jne 0x18000bf22
jmp 0x18000bf57
test r11, r11
jne 0x18000c147
mov dword [rbp - 0x60], 0xbcb1a388
mov dword [rbp - 0x5c], 0xa7bca7b7
mov dword [rbp - 0x58], 0xabbda0b9
xor eax, eax
mov byte [rbp - 0x54], al
mov edx, r8d
nop dword [rax]
nop dword [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 0xc
jb 0x18000bf80
mov byte [rbp - 0x54], r8b
cmp byte [rbp - 0x60], r8b
je 0x18000c13e
cmp byte [r10], r8b
je 0x18000bff2
lea rax, [rbp - 0x60]
mov r9, r10
sub r9, rax
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbp - 0x60]
movzx eax, byte [rdx]
test al, al
je 0x18000c13e
cmp byte [r9 + rdx], al
jne 0x18000bfde
inc rdx
cmp byte [r9 + rdx], r8b
jne 0x18000bfc4
cmp byte [rdx], r8b
je 0x18000c13e
inc r10
inc r9
cmp byte [r10], r8b
jne 0x18000bfc0
mov dword [rbp - 0x51], 0x8ea4aea3
mov dword [rbp - 0x4d], 0xb1b5b6ba
xor eax, eax
mov byte [rbp - 0x49], al
mov edx, r8d
nop dword [rax + rax]
movsxd rax, edx
lea rcx, [rbp - 0x51]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 8
jb 0x18000c010
mov byte [rbp - 0x49], r8b
lea rax, [rbp - 0x51]
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x60], 0x8ea4aea3
mov dword [rbp - 0x5c], 0xa6a6bca6
mov word [rbp - 0x58], 0xb9
mov edx, r8d
nop dword [rax]
movsxd rax, edx
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [rdx - 0x32]
xor byte [rcx], al
inc edx
cmp edx, 9
jb 0x18000c050
mov byte [rbp - 0x57], r8b
lea rax, [rbp - 0x60]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x48], 0x8ea4aea3
mov dword [rbp - 0x44], 0xbab9a1b3
mov dword [rbp - 0x40], 0xbcb088a4
mov word [rbp - 0x3c], 0xbfbb
xor eax, eax
mov byte [rbp - 0x3a], al
nop dword [rax]
nop word [rax + rax]
movsxd rax, r8d
lea rcx, [rbp - 0x48]
add rcx, rax
lea eax, [r8 - 0x32]
xor byte [rcx], al
inc r8d
cmp r8d, 0xe
jb 0x18000c0a0
mov byte [rbp - 0x3a], 0
lea rax, [rbp - 0x48]
mov qword [rbp - 0x20], rax
mov ecx, 0x18
call fcn.18005e330
mov rdi, rax
mov qword [rbp - 0x18], rax
lea rbx, [rax + 0x18]
mov qword [rbp - 8], rbx
mov r8d, 0x18
lea rdx, [rbp - 0x30]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x10], rbx
movsxd rax, dword [0x1800eb5dc]
mov rdx, qword [rdi + rax*8]
mov rax, qword [rsi]
mov r8, qword [rax + 0x3a8]
mov rcx, rsi
call r8
mov ebx, eax
test rdi, rdi
je 0x18000c123
mov edx, 0x18
mov rcx, rdi
call fcn.18005e6ec
mov eax, ebx
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
test r10, r10
je 0x18000bff2
mov dword [rbp - 0x60], 0x8ea4aea3
mov dword [rbp - 0x5c], 0xa5a0baba
mov dword [rbp - 0x58], 0xadb6beb9
mov word [rbp - 0x54], 0xe8
nop dword [rax]
nop word [rax + rax]
movsxd rax, r8d
lea rcx, [rbp - 0x60]
add rcx, rax
lea eax, [r8 - 0x32]
xor byte [rcx], al
inc r8d
cmp r8d, 0xd
jb 0x18000c170
jmp 0x18000be49