Function at 0x14001cef0
Capabilities:
Encode data using xor
Hash data using murmur2

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rsi, qword [rbp + 0xe0]
mov rax, rdx
mov r14, r8
mov rdi, rcx
xor r15d, r15d
mov r8, rsi
mov dword [rcx], r15d
mov rdx, r9
mov rcx, rax
mov rbx, r9
call fcn.14001ca20
mov dword [rsp + 0x44], eax
test eax, eax
je 0x14001da5a
mov r8, rsi
mov qword [rsp + 0x1c8], r12
mov rdx, rbx
mov rcx, r14
call fcn.14001ca20
mov dword [rsp + 0x5c], eax
mov r12d, eax
test eax, eax
je 0x14001da46
mov qword [rsp + 0x1d0], r13
call qword [0x140251e18]
mov ebx, dword [rsp + 0x44]
mov ecx, eax
mov edx, ebx
mov dword [rsp + 0x58], eax
mov r13d, eax
call qword [0x140251d38]
mov edx, r12d
mov ecx, r13d
call qword [0x140251d38]
mov ecx, r13d
call qword [0x140251d68]
lea r8, [rsp + 0x4c]
mov edx, 0x8b82
mov ecx, r13d
call qword [0x140251dd0]
mov esi, dword [rsp + 0x4c]
lea r8, [rsp + 0x40]
mov edx, 0x8b84
mov dword [rsp + 0x40], r15d
mov ecx, r13d
call qword [0x140251dd0]
mov edx, dword [rsp + 0x40]
test edx, edx
jle 0x14001d038
inc edx
lea r8d, [r15 + 1]
lea rcx, [0x140251ea0]
call qword [0x140251ea0]
mov edx, dword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov r9, rax
mov ecx, r13d
mov rbx, rax
call qword [0x140251db8]
movsxd rax, dword [rsp + 0x40]
mov byte [rax + rbx], r15b
cmp byte [rbx], r15b
je 0x14001d024
cmp esi, 1
je 0x14001d024
mov rdx, rbx
lea rcx, str.log:_n_s
call fcn.140015000
mov rdx, rbx
lea rcx, [0x140251ea0]
call qword [0x140251eb0]
mov ebx, dword [rsp + 0x44]
cmp dword [rsp + 0x4c], 1
je 0x14001d068
mov edx, ebx
mov ecx, r13d
call qword [0x140251d60]
mov edx, r12d
mov ecx, r13d
call qword [0x140251d60]
mov ecx, r13d
call qword [0x140251d18]
mov ebx, dword [rsp + 0x44]
jmp 0x14001da33
mov dword [rdi + 0x74], r15d
lea rsi, str.a_pos2
mov ebx, r15d
lea r14, [rdi + 4]
nop word [rax + rax]
mov rdx, qword [rsi]
mov ecx, r13d
call qword [0x140251e48]
mov dword [r14], eax
test eax, eax
js 0x14001d09e
movsxd rax, dword [rdi + 0x74]
mov dword [rdi + rax*4 + 0x3c], ebx
inc dword [rdi + 0x74]
inc ebx
add rsi, 0x18
add r14, 4
cmp ebx, 0xe
jl 0x14001d080
lea r8, [rsp + 0x48]
mov edx, 0x8b89
mov ecx, r13d
call qword [0x140251dd0]
cmp dword [rsp + 0x48], r15d
je 0x14001d1c7
lea r8, [rsp + 0x50]
mov edx, 0x8b8a
mov ecx, r13d
xor sil, sil
call qword [0x140251dd0]
mov ebx, r15d
cmp dword [rsp + 0x48], r15d
jle 0x14001d1c7
lea r14, str.a_pos2
nop word [rax + rax]
lea rax, [rbp - 0x70]
mov r8d, pe_nt_image_headers64
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x40]
lea rax, [rsp + 0x60]
mov edx, ebx
mov qword [rsp + 0x28], rax
mov ecx, r13d
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call qword [0x140251d88]
cmp dword [rsp + 0x40], r15d
je 0x14001d18d
mov r9d, r15d
mov r10, r14
mov r8, qword [r10]
lea rax, [rbp - 0x70]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14001d163
inc rax
test ecx, ecx
jne 0x14001d150
test edx, edx
je 0x14001d174
inc r9d
add r10, 0x18
cmp r9d, 0xe
jb 0x14001d140
cmp r9d, 0xe
jb 0x14001d18d
lea rdx, [rbp - 0x70]
lea rcx, str.shader_attribute_name__s_is_not_recognized.
call fcn.140015000
mov sil, 1
inc ebx
cmp ebx, dword [rsp + 0x48]
jl 0x14001d100
test sil, sil
je 0x14001d1c7
mov ebx, dword [rsp + 0x44]
mov ecx, r13d
mov edx, ebx
call qword [0x140251d60]
mov edx, r12d
mov ecx, r13d
call qword [0x140251d60]
mov ecx, r13d
call qword [0x140251d18]
jmp 0x14001da33
lea r8, [rbp + 0xe8]
mov edx, 0x8b86
mov ecx, r13d
call qword [0x140251dd0]
cmp dword [rbp + 0xe8], r15d
jle 0x14001d75b
lea r8, [rsp + 0x48]
mov edx, 0x8b87
mov ecx, r13d
call qword [0x140251dd0]
mov edx, dword [rsp + 0x48]
lea rcx, [0x140251ea0]
imul edx, dword [rbp + 0xe8]
mov r8d, 1
call qword [0x140251ea0]
mov edx, dword [rbp + 0xe8]
lea rcx, [0x140251ea0]
mov r8d, 8
mov qword [rbp - 0x80], rax
mov rsi, rax
lea edx, [rdx*8]
call qword [0x140251ea0]
mov edx, dword [rbp + 0xe8]
lea rcx, [0x140251ea0]
mov r8d, 4
mov qword [rsp + 0x70], rax
mov rbx, rax
lea edx, [rdx*4]
call qword [0x140251ea0]
mov r12d, r15d
mov qword [rsp + 0x50], rax
mov r14d, r15d
cmp dword [rbp + 0xe8], r15d
jle 0x14001d335
mov rdi, rbx
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rsp + 0x48]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rsi
lea r9, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov edx, r14d
lea rax, [rsp + 0x60]
mov ecx, r13d
mov qword [rsp + 0x20], rax
call qword [0x140251dc8]
cmp dword [rsp + 0x40], 0
je 0x14001d316
cmp byte [rsi], 0x75
jne 0x14001d316
cmp byte [rsi + 1], 0x5f
jne 0x14001d316
mov rbx, r15
mov rdx, rsi
mov ecx, r13d
inc r15
inc r12d
call qword [0x140251d58]
mov rcx, qword [rsp + 0x50]
mov edx, 0x5b
mov dword [rcx + rbx*4], eax
mov rcx, rsi
mov qword [rdi + rbx*8], rsi
movsxd rbx, dword [rsp + 0x40]
add rbx, rsi
call fcn.140025048
test rax, rax
je 0x14001d312
mov rbx, rax
mov byte [rax], 0
lea rsi, [rbx + 1]
inc r14d
cmp r14d, dword [rbp + 0xe8]
jl 0x14001d290
mov rdi, qword [rbp + 0xc0]
xor r15d, r15d
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
mov r8d, 0xffffffff
movsxd r14, r12d
lea eax, [r8 + 1]
mov r11, r15
mov dword [rdi + 0x78], eax
mov qword [rdi + 0x27c], 0xffffffffffffffff
mov qword [rdi + 0x284], 0xffffffffffffffff
mov qword [rdi + 0x28c], 0xffffffffffffffff
mov qword [rdi + 0x294], 0xffffffffffffffff
mov qword [rdi + 0x29c], 0xffffffffffffffff
mov qword [rdi + 0x2a4], 0xffffffffffffffff
mov qword [rdi + 0x2ac], 0xffffffffffffffff
mov qword [rdi + 0x2b4], 0xffffffffffffffff
mov qword [rdi + 0x2bc], 0xffffffffffffffff
mov qword [rdi + 0x2c4], 0xffffffffffffffff
mov qword [rdi + 0x2cc], 0xffffffffffffffff
mov qword [rdi + 0x2d4], 0xffffffffffffffff
mov qword [rdi + 0x2dc], 0xffffffffffffffff
mov qword [rdi + 0x2e4], 0xffffffffffffffff
mov qword [rdi + 0x2ec], 0xffffffffffffffff
mov qword [rdi + 0x2f4], 0xffffffffffffffff
mov qword [rdi + 0x2fc], 0xffffffffffffffff
mov qword [rdi + 0x304], 0xffffffffffffffff
mov qword [rdi + 0x30c], 0xffffffffffffffff
mov qword [rdi + 0x314], 0xffffffffffffffff
mov qword [rdi + 0x31c], 0xffffffffffffffff
mov qword [rdi + 0x324], 0xffffffffffffffff
mov qword [rdi + 0x32c], 0xffffffffffffffff
mov qword [rdi + 0x334], 0xffffffffffffffff
mov qword [rdi + 0x33c], 0xffffffffffffffff
mov qword [rdi + 0x344], 0xffffffffffffffff
mov qword [rdi + 0x34c], 0xffffffffffffffff
mov qword [rdi + 0x354], 0xffffffffffffffff
mov qword [rdi + 0x35c], 0xffffffffffffffff
mov qword [rdi + 0x364], 0xffffffffffffffff
mov qword [rdi + 0x36c], 0xffffffffffffffff
mov qword [rdi + 0x374], 0xffffffffffffffff
mov qword [rdi + 0x37c], 0xffffffffffffffff
mov qword [rdi + 0x384], 0xffffffffffffffff
mov qword [rdi + 0x38c], 0xffffffffffffffff
mov qword [rdi + 0x394], 0xffffffffffffffff
mov qword [rdi + 0x39c], 0xffffffffffffffff
mov qword [rdi + 0x3a4], 0xffffffffffffffff
mov qword [rdi + 0x3ac], 0xffffffffffffffff
mov qword [rdi + 0x3b4], 0xffffffffffffffff
mov qword [rdi + 0x3bc], 0xffffffffffffffff
mov qword [rdi + 0x3c4], 0xffffffffffffffff
mov qword [rdi + 0x3cc], 0xffffffffffffffff
mov qword [rdi + 0x3d4], 0xffffffffffffffff
mov qword [rdi + 0x3dc], 0xffffffffffffffff
mov qword [rdi + 0x3e4], 0xffffffffffffffff
mov qword [rdi + 0x3ec], 0xffffffffffffffff
mov qword [rdi + 0x3f4], 0xffffffffffffffff
mov qword [rdi + 0x3fc], 0xffffffffffffffff
mov qword [rdi + 0x404], 0xffffffffffffffff
mov qword [rdi + 0x40c], 0xffffffffffffffff
mov qword [rdi + 0x414], 0xffffffffffffffff
mov qword [rdi + 0x41c], 0xffffffffffffffff
mov qword [rdi + 0x424], 0xffffffffffffffff
mov qword [rdi + 0x42c], 0xffffffffffffffff
mov qword [rdi + 0x434], 0xffffffffffffffff
mov qword [rdi + 0x43c], 0xffffffffffffffff
mov qword [rdi + 0x444], 0xffffffffffffffff
mov qword [rdi + 0x44c], 0xffffffffffffffff
mov qword [rdi + 0x454], 0xffffffffffffffff
mov qword [rdi + 0x45c], 0xffffffffffffffff
mov qword [rdi + 0x464], 0xffffffffffffffff
mov qword [rdi + 0x46c], 0xffffffffffffffff
mov qword [rdi + 0x474], 0xffffffffffffffff
test r12d, r12d
jle 0x14001d705
mov rsi, r13
nop dword [rax]
mov r9, qword [rbx + r11*8]
mov rdx, 0xffffffffffffffff
nop dword [rax + rax]
inc rdx
cmp byte [r9 + rdx], 0
jne 0x14001d630
mov r8d, dword [rdi + 0x78]
mov r10d, edx
xor r10d, r8d
cmp edx, 4
jl 0x14001d68c
mov r8d, edx
shr r8, 2
mov eax, r8d
neg eax
lea edx, [rdx + rax*4]
nop dword [rax + rax]
imul eax, dword [r9], 0x5bd1e995
add r9, 4
imul r10d, r10d, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul ecx, ecx, 0x5bd1e995
xor r10d, ecx
sub r8, 1
jne 0x14001d660
mov r8d, dword [rdi + 0x78]
sub edx, 1
je 0x14001d6b1
sub edx, 1
je 0x14001d6a6
cmp edx, 1
jne 0x14001d6bf
movzx eax, byte [r9 + 2]
shl eax, 0x10
xor r10d, eax
movzx eax, byte [r9 + 1]
shl eax, 8
xor r10d, eax
movzx eax, byte [r9]
xor eax, r10d
imul r10d, eax, 0x5bd1e995
mov eax, r10d
shr eax, 0xd
xor eax, r10d
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov ecx, eax
and ecx, 0x7f
cmp dword [rdi + rcx*4 + 0x27c], 0
jge 0x14001d343
mov dword [rdi + rcx*4 + 0x7c], eax
inc r11
mov eax, dword [rsi]
add rsi, 4
mov dword [rdi + rcx*4 + 0x27c], eax
cmp r11, r14
jl 0x14001d620
mov edx, dword [rdi + 0x78]
mov r13d, dword [rsp + 0x58]
cmp edx, 0x64
jle 0x14001d71e
lea rcx, str.took__i_attempts_to_find_a_shader_ufm_hash_seed
call fcn.140014d60
mov rdx, qword [rsp + 0x50]
lea rcx, [0x140251ea0]
call qword [0x140251eb0]
mov rdx, rbx
lea rcx, [0x140251ea0]
call qword [0x140251eb0]
mov rdx, qword [rbp - 0x80]
lea rcx, [0x140251ea0]
call qword [0x140251eb0]
mov r12d, dword [rsp + 0x5c]
jmp 0x14001da15
mov dword [rdi + 0x78], r15d
lea rax, [rdi + 0x280]
nop word [rax + rax]
mov qword [rax - 4], 0xffffffffffffffff
sub r15d, 0xffffff80
mov qword [rax + 4], 0xffffffffffffffff
mov qword [rax + 0xc], 0xffffffffffffffff
mov qword [rax + 0x14], 0xffffffffffffffff
mov qword [rax + 0x1c], 0xffffffffffffffff
mov qword [rax + 0x24], 0xffffffffffffffff
mov qword [rax + 0x2c], 0xffffffffffffffff
mov qword [rax + 0x34], 0xffffffffffffffff
mov qword [rax + 0x3c], 0xffffffffffffffff
mov qword [rax + 0x44], 0xffffffffffffffff
mov qword [rax + 0x4c], 0xffffffffffffffff
mov qword [rax + 0x54], 0xffffffffffffffff
mov qword [rax + 0x5c], 0xffffffffffffffff
mov qword [rax + 0x64], 0xffffffffffffffff
mov qword [rax + 0x6c], 0xffffffffffffffff
mov qword [rax + 0x74], 0xffffffffffffffff
mov qword [rax + 0x7c], 0xffffffffffffffff
mov qword [rax + 0x84], 0xffffffffffffffff
mov qword [rax + 0x8c], 0xffffffffffffffff
mov qword [rax + 0x94], 0xffffffffffffffff
mov qword [rax + 0x9c], 0xffffffffffffffff
mov qword [rax + 0xa4], 0xffffffffffffffff
mov qword [rax + 0xac], 0xffffffffffffffff
mov qword [rax + 0xb4], 0xffffffffffffffff
mov qword [rax + 0xbc], 0xffffffffffffffff
mov qword [rax + 0xc4], 0xffffffffffffffff
mov qword [rax + 0xcc], 0xffffffffffffffff
mov qword [rax + 0xd4], 0xffffffffffffffff
mov qword [rax + 0xdc], 0xffffffffffffffff
mov qword [rax + 0xe4], 0xffffffffffffffff
mov qword [rax + 0xec], 0xffffffffffffffff
mov qword [rax + 0xf4], 0xffffffffffffffff
mov qword [rax + 0xfc], 0xffffffffffffffff
mov qword [rax + 0x104], 0xffffffffffffffff
mov qword [rax + 0x10c], 0xffffffffffffffff
mov qword [rax + 0x114], 0xffffffffffffffff
mov qword [rax + 0x11c], 0xffffffffffffffff
mov qword [rax + 0x124], 0xffffffffffffffff
mov qword [rax + 0x12c], 0xffffffffffffffff
mov qword [rax + 0x134], 0xffffffffffffffff
mov qword [rax + 0x13c], 0xffffffffffffffff
mov qword [rax + 0x144], 0xffffffffffffffff
mov qword [rax + 0x14c], 0xffffffffffffffff
mov qword [rax + 0x154], 0xffffffffffffffff
mov qword [rax + 0x15c], 0xffffffffffffffff
mov qword [rax + 0x164], 0xffffffffffffffff
mov qword [rax + 0x16c], 0xffffffffffffffff
mov qword [rax + 0x174], 0xffffffffffffffff
mov qword [rax + 0x17c], 0xffffffffffffffff
mov qword [rax + 0x184], 0xffffffffffffffff
mov qword [rax + 0x18c], 0xffffffffffffffff
mov qword [rax + 0x194], 0xffffffffffffffff
mov qword [rax + 0x19c], 0xffffffffffffffff
mov qword [rax + 0x1a4], 0xffffffffffffffff
mov qword [rax + 0x1ac], 0xffffffffffffffff
mov qword [rax + 0x1b4], 0xffffffffffffffff
mov qword [rax + 0x1bc], 0xffffffffffffffff
mov qword [rax + 0x1c4], 0xffffffffffffffff
mov qword [rax + 0x1cc], 0xffffffffffffffff
mov qword [rax + 0x1d4], 0xffffffffffffffff
mov qword [rax + 0x1dc], 0xffffffffffffffff
mov qword [rax + 0x1e4], 0xffffffffffffffff
mov qword [rax + 0x1ec], 0xffffffffffffffff
mov qword [rax + 0x1f4], 0xffffffffffffffff
lea rax, [rax + 0x200]
cmp r15d, 0x80
jb 0x14001d770
mov ebx, dword [rsp + 0x44]
mov ecx, r13d
mov edx, ebx
mov dword [rdi], r13d
call qword [0x140251d60]
mov edx, r12d
mov ecx, r13d
call qword [0x140251d60]
mov ecx, r12d
call qword [0x140251da8]
mov r13, qword [rsp + 0x1d0]
jmp 0x14001da4a
mov ebx, dword [rsp + 0x44]
mov ecx, ebx
call qword [0x140251da8]
mov r12, qword [rsp + 0x1c8]
mov rbx, qword [rsp + 0x1d8]
add rsp, 0x190
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret