Function at 0x180066db0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x180144040]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov r14, r8
mov r13, rdx
mov qword [r11 - 0x80], rdx
mov qword [r11 - 0x50], rdx
mov qword [r11 - 0x48], r8
xor ebx, ebx
mov r15, qword [0x180160ef0]
mov qword [rsp + 0x50], r15
mov r10, rdx
mov rsi, qword [rdx + 0x18]
cmp rsi, 0xf
jbe 0x180066e0b
mov r10, qword [rdx]
mov rdi, qword [rdx + 0x10]
mov r9d, ebx
lea r11, [rdi + r10]
cmp r10, r11
je 0x180066e54
nop dword [rax + rax]
movzx r8d, byte [r10]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
inc r10
cmp r10, r11
jne 0x180066e20
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebp, ecx, 0x8001
movabs rax, 0x7fffffffffffffff
sub rax, rdi
cmp rax, 0x13
jb 0x180067127
mov rax, r13
cmp rsi, 0xf
jbe 0x180066e89
mov rax, qword [r13]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x13
lea r9, str.platform:_textures_
lea rcx, [rsp + 0x58]
call fcn.180031d80
lea r9, [rsp + 0x58]
cmp qword [rsp + 0x70], 0xf
cmova r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
add r10, r9
cmp r9, r10
je 0x180066f00
nop dword [rax + rax]
movzx r8d, byte [r9]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx eax, cl
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
inc r9
cmp r9, r10
jne 0x180066ed0
lea ecx, [rbx + rbx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov dword [rsp + 0x44], ebx
lea rcx, [rsp + 0x58]
call fcn.1800091b0
mov r12d, dword [r15 + 0x48]
mov edx, r12d
test r12d, r12d
je 0x180066fff
mov r9, qword [r15 + 0x40]
test r9, r9
je 0x180066f69
cmp edx, r12d
jae 0x180066f69
mov ecx, edx
movzx eax, byte [rcx + r9]
shr al, 7
not al
test al, 1
je 0x180066f69
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x38]
lea r8, [rax + rcx*8]
cmp qword [r8], 0
je 0x180066f69
test r8, r8
je 0x180066f69
cmp dword [r8 + 0xc], ebp
je 0x180066f73
add edx, 0xffffffff
jne 0x180066f32
jmp 0x180066fff
mov rax, qword [r8]
movzx r13d, word [rax + 0x28]
movzx edi, r13w
test r13w, r13w
je 0x180066ffa
mov r15, qword [rax + 0x30]
nop dword [rax]
test r15, r15
je 0x180066feb
cmp di, r13w
jge 0x180066feb
movsx rax, di
mov rbp, qword [r15 + rax*8]
test rbp, rbp
je 0x180066feb
mov rdx, qword [rbp + 0x28]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180066fb3
mov rsi, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x180066fcd
mov rcx, qword [r14]
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180066feb
cmp rsi, rbx
jb 0x180066feb
jbe 0x18006708a
sub di, 1
jne 0x180066f90
mov r15, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x44]
mov r13, qword [rsp + 0x48]
mov edx, r12d
test r12d, r12d
je 0x18006704c
mov r9, qword [r15 + 0x40]
nop dword [rax + rax]
test r9, r9
je 0x180067047
cmp edx, r12d
jae 0x180067047
mov ecx, edx
movzx eax, byte [rcx + r9]
shr al, 7
not al
test al, 1
je 0x180067047
lea rcx, [rcx + rcx*2]
mov rax, qword [r15 + 0x38]
lea r8, [rax + rcx*8]
cmp qword [r8], 0
je 0x180067047
test r8, r8
je 0x180067047
cmp dword [r8 + 0xc], ebx
je 0x1800670a2
add edx, 0xffffffff
jne 0x180067010
mov rcx, r13
call fcn.1800091b0
nop
mov rcx, r14
call fcn.1800091b0
xor eax, eax
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1800d0f80
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rsp + 0x48]
call fcn.1800091b0
nop
mov rcx, r14
call fcn.1800091b0
mov rax, rbp
jmp 0x18006705f
mov r15, qword [r8]
movzx r12d, word [r15 + 0x28]
movzx edi, r12w
test r12w, r12w
je 0x18006704c
mov r15, qword [r15 + 0x30]
test r15, r15
je 0x180067114
cmp di, r12w
jge 0x180067114
movsx rax, di
mov rbp, qword [r15 + rax*8]
test rbp, rbp
je 0x180067114
mov rdx, qword [rbp + 0x28]
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800670e0
mov rsi, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1800670fa
mov rcx, qword [r14]
mov r8, rsi
cmp rbx, rsi
cmovb r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180067114
cmp rsi, rbx
jb 0x180067114
jbe 0x18006711f
sub di, 1
jne 0x1800670b8
jmp 0x18006704c
mov rcx, r13
jmp 0x18006708f
call fcn.1800037b0
int3