Function at 0x18008df80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1800f6ae8]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r14, qword [rsp + 0xf0]
mov rsi, rdx
mov rbp, qword [rsp + 0xf8]
lea edx, [rcx + 0x9c]
mov qword [rsp + 0x60], r8
mov rdi, r9
mov dword [rsp + 0x40], edx
mov r13d, ecx
cmp ecx, edx
jae case.0x18008e015.5
mov r12, qword [rsp + 0x60]
lea edx, [rcx - 1]
mov r15d, dword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], edx
lea r9, [0x180000000]
cmp edx, 0xe2
ja case.default.0x18008e015
movzx eax, byte [r9 + rdx + 0x8e3a4]
mov ecx, dword [r9 + rax*4 + 0x8e370]
add rcx, r9
jmp rcx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
jmp case.0x18008e015.12
mov eax, dword [r14]
test eax, eax
je 0x18008e074
nop dword [rax]
nop word [rax + rax]
dec dword [r14]
movzx eax, byte [r12]
inc r12
mov edx, dword [rdi]
mov ecx, edx
xor rcx, rax
shr edx, 8
movzx eax, cl
movzx ecx, word [r9 + rax*2 + 0xd7dc0]
movzx eax, dl
xor ecx, eax
mov dword [rdi], ecx
cmp dword [r14], 0
jne 0x18008e040
mov edx, dword [rsp + 0x44]
xor eax, eax
dec eax
mov dword [r14], eax
jmp case.0x18008e015.12
mov r12, rsi
jmp case.0x18008e015.12
mov ebx, 0x28
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x28
je 0x18008e0cb
cmp eax, 1
jne 0x18008e106
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1800d1090
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [r14]
lea r8, [rsp + 0x58]
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x48]
mov eax, dword [rsi]
mov r9, rbp
mov qword [rsp + 0x58], rax
mov ecx, 0xf6
mov rax, qword [rdi]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1800a8210
mov dword [rsp + 0x48], eax
inc ebx
cmp ebx, 0x2a
jb 0x18008e090
mov edx, dword [rsp + 0x44]
xor ebx, ebx
cmp qword [rdi + 0x10], rbx
jbe case.0x18008e015.12
nop dword [rax]
mov r9, rdi
mov qword [rsp + 0x58], rbx
mov r8d, 0x78
lea rcx, [rsp + 0x58]
mov rdx, rsi
call fcn.180066750
test al, al
je 0x18008e162
mov ecx, 0x70
mov eax, ecx
sub eax, 0x70
je 0x18008e156
cmp eax, 1
je case.0x18008e015.5
jmp 0x18008e15b
mov byte [rsp + 0x48], 1
inc ecx
cmp ecx, 0x72
jb 0x18008e144
inc rbx
cmp rbx, qword [rdi + 0x10]
jb 0x18008e120
jmp 0x18008e340
mov dword [rbp + 0x14], 0x26011999
lea rcx, [rsp + 0x50]
mov eax, dword [r14]
mov r9, rdi
mov r8, rbp
mov dword [rsp + 0x50], eax
mov edx, 0x9e
call fcn.180018160
cmp eax, 0xffffffff
jne 0x18008e340
mov eax, 0x26
cmp eax, 0x26
je 0x18008e1b3
cmp eax, 0xc3
je case.0x18008e015.5
jmp 0x18008e1bb
mov dword [rsp + 0x48], 0
add eax, 0x9d
cmp eax, 0x160
jb 0x18008e1a1
jmp 0x18008e340
mov ecx, dword [rsi]
mov eax, dword [rbp + 4]
add rcx, 0x34
cmp rax, rcx
jbe 0x18008e231
mov edx, 0xb3
nop
cmp edx, 0xb3
je 0x18008e217
cmp edx, 0x63fd
je 0x18008e1ff
cmp edx, 0xc747
jne 0x18008e221
mov eax, dword [rsi]
mov dword [rbp + 4], eax
jmp 0x18008e221
mov eax, dword [rbp + 4]
sub eax, dword [rsi]
mov r15d, dword [r14]
sub eax, 0x18
add r15d, 0x18
mov dword [rsp + 0x6c], eax
add r15d, dword [rsi]
jmp 0x18008e221
mov eax, dword [rsi]
add eax, 3
and eax, 0xfffffffc
mov dword [rsi], eax
add edx, 0x634a
cmp edx, 0x129de
jbe 0x18008e1e0
jmp 0x18008e234
xor r15d, r15d
mov eax, dword [r8]
mov r9, rdi
xor r8d, r8d
mov dword [rsp + 0x50], eax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], rbp
lea edx, [r8 + 0x45]
call fcn.1800beeb0
cmp eax, 0xffffffff
jne 0x18008e340
nop dword [rax]
xor eax, eax
jmp 0x18008e0a0
mov eax, dword [rdi]
mov dword [rsp + 0x48], eax
jmp case.0x18008e015.12
mov eax, 0x1c
cmp eax, 0x1c
je 0x18008e297
cmp eax, 0x45
je case.0x18008e015.5
jmp 0x18008e29c
mov byte [rsp + 0x48], 0
add eax, 0x29
cmp eax, 0x6e
jb 0x18008e287
test r15d, r15d
je case.0x18008e015.12
mov ebx, 0x6d
cmp ebx, 0x6d
je 0x18008e308
cmp ebx, 0x12bc
jne 0x18008e32e
lea r9, [rsp + 0x68]
mov dword [rsp + 0x50], r15d
mov r8, rdi
lea rcx, [rsp + 0x50]
mov edx, 0x57
call fcn.180048610
cmp eax, 0xffffffff
jne 0x18008e32e
mov ecx, 0x3d
mov eax, ecx
sub eax, 0x3d
je 0x18008e2f7
cmp eax, 1
je case.0x18008e015.5
jmp 0x18008e2ff
mov dword [rsp + 0x48], 0
inc ecx
cmp ecx, 0x3f
jb 0x18008e2e5
jmp 0x18008e32e
mov eax, dword [r14]
lea rdx, [rsp + 0x50]
mov r9d, 0x11a
mov dword [rsp + 0x50], eax
mov r8, rbp
mov rcx, rdi
call fcn.1800153d0
cmp eax, 0xffffffff
je 0x18008e270
add ebx, 0x124f
cmp ebx, 0x249e
jbe 0x18008e2b2
mov edx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x40]
add edx, 0xd
add r13d, 0xd
mov dword [rsp + 0x44], edx
cmp r13d, eax
jae case.0x18008e015.5
mov r8, qword [rsp + 0x60]
jmp 0x18008dfee
mov eax, dword [r14]
jmp 0x18008e0a0