Function at 0x140121380
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xd0
mov rax, qword [0x1401be040]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov rdi, rdx
mov qword [rbp + 7], rdx
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1401213bf
mov rdx, qword [rdx]
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
test r8, r8
je 0x1401213f3
movabs r10, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1401213e0
mov r8, rdi
lea rdx, [rbp + 0x27]
call fcn.14013a390
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140121429
cmp rcx, qword [0x14023d468]
je 0x140121429
mov r8, rdi
lea rdx, [rbp + 0x27]
call fcn.140138680
mov rdx, qword [rax]
mov rbx, qword [rdx + 0x30]
jmp 0x1401215b7
movabs rax, 0x53c018bd3be3bd4b
mov qword [rbp - 0x39], rax
mov rax, qword [rbp - 0x39]
mov qword [rbp + 0x17], rax
movabs rcx, 0x9962885404885ffa
mov qword [rbp - 0x39], rcx
mov rax, qword [rbp - 0x39]
mov qword [rbp + 0x1f], rax
movabs rax, 0x53c018bd5c8dcd65
mov qword [rbp - 0x39], rax
mov rax, qword [rbp - 0x39]
mov qword [rbp + 0x27], rax
mov qword [rbp - 0x39], rcx
mov rax, qword [rbp - 0x39]
mov qword [rbp + 0x2f], rax
movdqa xmm0, xmmword [rbp + 0x17]
xorps xmm0, xmmword [rbp + 0x27]
movdqa xmmword [rbp + 0x17], xmm0
mov rdx, qword [rdi + 0x10]
lea rax, [rbp + 0x17]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140121494
movabs rbx, 0x7fffffffffffffff
mov rax, rbx
sub rax, rdx
cmp rax, rcx
jb 0x1401215ed
mov r9, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1401214c3
mov r9, qword [rdi]
mov qword [rsp + 0x30], rcx
lea rax, [rbp + 0x17]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x29]
call fcn.140139c60
lea rax, [rbp - 0x29]
mov qword [rbp - 0x39], rax
mov rsi, qword [0x1402419e8]
mov rcx, qword [0x140241b38]
sub rbx, rcx
mov rdx, qword [rbp - 0x19]
cmp rbx, rdx
jb 0x1401215e7
lea r9, [0x140241b28]
cmp qword [0x140241b40], 0xf
cmova r9, qword [0x140241b28]
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 0xf
cmova rax, qword [rbp - 0x29]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x27]
call fcn.140139c60
mov qword [rbp - 0x31], 0
lea rdx, [rbp + 0x27]
cmp qword [rbp + 0x3f], 0xf
cmova rdx, qword [rbp + 0x27]
lea r8, [rbp - 0x31]
mov rcx, rsi
call qword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileA]
lea rcx, [rbp + 0x27]
test eax, eax
je 0x14012157e
call fcn.1400de030
nop
lea rcx, [rbp - 0x29]
call fcn.1400de030
jmp 0x14012159a
mov rbx, qword [rbp - 0x31]
call fcn.1400de030
nop
lea rcx, [rbp - 0x29]
call fcn.1400de030
mov qword [rbp - 0x39], rbx
test rbx, rbx
jne 0x1401215a6
mov rcx, rdi
call fcn.1400de030
xor eax, eax
jmp 0x1401215c2
lea r9, [rbp - 0x39]
mov r8, rdi
lea rdx, [rbp - 9]
call fcn.140137f50
nop
mov rcx, rdi
call fcn.1400de030
mov rax, rbx
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.14014b630
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.1400d9c60
nop
call fcn.1400d9c60
int3