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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov rsi, r9
mov r14, r8
mov rdi, rdx
mov qword [rbp + 0x38], rcx
call fcn.14038dc50
mov qword [rbp + 0x58], 0xf
mov qword [rbp + 0x50], 0xc
mov dword [rsp + 0x20], 0xb9fe697f
mov ecx, 1
mov edx, 1
mov r8d, 0xeff694e6
mov r9d, 0x870611ab
call fcn.1403a9750
mov rcx, qword [rax]
mov qword [rbp + 0x40], rcx
mov eax, dword [rax + 8]
mov dword [rbp + 0x48], eax
mov byte [rbp + 0x4c], 0
lea rdx, [rbp + 0x40]
mov qword [rbp + 8], rsi
mov rcx, rsi
call fcn.14038e9d0
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
jb 0x1403a81da
mov rcx, qword [rbp + 0x40]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403a81d5
mov r8, qword [rcx - 8]
movabs rdx, 0xa480d9d86ab22424
xor rdx, rcx
movabs r9, 0x2480d9d86ab22424
and r9, rcx
lea rcx, [rdx + r9*2]
mov rdx, r8
sub rdx, rcx
add rdx, qword [0x140549f30]
movabs rcx, 0xac3dbbcccd9b9cc9
sub rcx, rdx
cmp rcx, 0x20
jae 0x1403a88ae
add rax, qword [0x140549f30]
movabs rdx, 0xaf416a5ac7b23f33
add rdx, rax
mov rcx, r8
call fcn.1400a7e90
mov qword [rbp + 0x10], rdi
mov rax, qword [r14 + 8]
xorps xmm6, xmm6
mov qword [rbp], rax
mov rsi, rax
nop dword [rax]
mov rdx, rsi
mov rdx, qword [rsi]
mov rax, qword [0x140549dd8]
movsxd rcx, dword [rax]
mov r12d, dword [0x140450558]
cmp rdx, qword [rbp]
je 0x1403a888d
mov r9, qword [rdx + 0x18]
mov r10, qword [rdx + 0x20]
xor r8d, r8d
mov qword [rbp - 0x10], r10
cmp r9, r10
je 0x1403a884c
mov qword [rbp + 0x18], rdx
neg rcx
neg rax
mov rdx, rcx
xor rdx, rax
and rax, rcx
add rax, rax
mov rcx, rdx
xor rcx, rax
and rax, rdx
lea rax, [rcx + rax*2]
neg rax
mov qword [rbp - 0x40], rax
mov rsi, qword [rbp + 0x10]
mov r14d, 0xf843f0bc
movabs r13, 0xcbf29ce400000000
mov dword [rbp + 0x24], r12d
jmp 0x1403a8286
mov r9, qword [rbp + 0x30]
add r9, 0x28
cmp r9, qword [rbp - 0x10]
mov r12d, dword [rbp + 0x24]
je 0x1403a8884
mov qword [rbp + 0x30], r9
mov eax, dword [r9]
movzx ecx, ah
mov edx, eax
shr edx, 0x10
movzx r8d, dl
mov rdx, rax
shr rdx, 0x18
mov r9d, dword [0x140549f38]
add r9d, r14d
xor r9d, eax
mov ebx, eax
xor ebx, 0xff
mov r10d, r9d
xor r10d, 0xff
and r10d, r9d
mov r9d, eax
xor r9d, ebx
xor r9d, 0xffffff00
and r9d, r10d
xor r9d, ebx
and ebx, r10d
xor r9d, ebx
mov r10d, r9d
not r10d
mov r11, r9
or r11, r13
movabs rdi, 0xcbf29ce484222325
and r11, rdi
and r10d, 0x7bdddcda
movabs rdi, 0x340d631b84222325
xor r9, rdi
or r10, r9
not r10
or r9, r11
not r9
or r9, r10
mov r10, qword [0x140549f30]
movabs r11, 0xaf416b5ac7b240be
add r10, r11
imul r10, r9
xor r10, rcx
movabs r9, 0x100000001b3
imul r10, r9
xor r10, r8
imul r10, r9
mov rcx, rdx
not rcx
and rcx, r10
mov r8d, r10d
not r8d
and edx, r8d
or rcx, rdx
imul rcx, r9
and rcx, qword [rsi + 0x110]
mov rdx, qword [rsi + 0xf8]
mov ebx, dword [0x140549dd0]
lea r8d, [rbx + 1]
mov dword [0x140549dd0], r8d
xor ebx, r8d
not ebx
mov edi, 0
mov r15d, 0
mov dword [rbp + 0x20], r8d
test r8d, ebx
jne 0x1403a83e0
mov r8d, dword [0x140549f38]
mov r9d, 0xf843f0bd
add r8d, r9d
mov edi, 0
mov r15d, 0
cmp r8d, r12d
jge 0x1403a83e0
xor r8d, r8d
xor edi, edi
xor r15d, r15d
movsxd r9, r8d
mov r11, qword [rbp - 0x40]
mov r10, qword [r11 + r9]
mov r9, qword [r11 + r9 + 8]
xor rdi, r10
xor r15, r9
add r8d, 0x10
cmp r8d, r12d
jl 0x1403a83c0
nop
lea r8, [rcx + rcx]
inc r8
mov r12, qword [rdx + r8*8]
mov r8, qword [rsi + 0xe8]
cmp r12, r8
je 0x1403a8270
cmp eax, dword [r12 + 0x10]
je 0x1403a8425
add rcx, rcx
mov rcx, qword [rdx + rcx*8]
nop dword [rax]
cmp r12, rcx
je 0x1403a8270
mov r12, qword [r12 + 8]
cmp eax, dword [r12 + 0x10]
jne 0x1403a8410
cmp r12, r8
je 0x1403a8270
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax + 8]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x28], rcx
mov qword [rbp - 8], rax
cmp rcx, rax
setne cl
sete al
movzx edx, byte [0x14055bd89]
xor al, dl
not dl
and dl, cl
or dl, al
test dl, 1
je 0x1403a8270
test al, 1
jne 0x1403a8270
mov qword [rbp - 0x18], rbx
jmp 0x1403a84aa
mov rax, qword [rbp + 0x28]
add rax, 0x20
mov qword [rbp + 0x28], rax
cmp rax, qword [rbp - 8]
mov rsi, qword [rbp + 0x10]
mov r14d, 0xf843f0bc
movabs r13, 0xcbf29ce400000000
je 0x1403a8270
mov r13, qword [r12 + 0x18]
mov rax, qword [r12 + 0x20]
mov qword [rbp - 0x38], rax
cmp r13, rax
je 0x1403a8480
nop dword [rax]
lea rax, [rbp + 0x50]
movups xmmword [rax], xmm6
cmp qword [r13 + 0x18], 0x10
mov rsi, r13
jb 0x1403a84d5
mov rsi, qword [r13]
mov r14, qword [r13 + 0x10]
cmp r14, 0x10
jae 0x1403a8670
movups xmm0, xmmword [rsi]
movaps xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], r14
mov rax, qword [0x140549f30]
movabs rcx, 0xaf416a5ac7b23f1a
add rax, rcx
mov qword [rbp + 0x58], rax
lea rsi, [rbp + 0x40]
test r14, r14
jne 0x1403a8758
nop word cs:[rax + rax]
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x28]
xor r8d, r8d
call fcn.140276d10
mov rsi, rax
mov rax, qword [rbp + 0x58]
cmp rax, 0x10
jb 0x1403a881c
mov rcx, qword [rbp + 0x40]
cmp byte [0x14055c3e0], 0
jne 0x1403a857f
mov rdx, rax
xor rdx, 1
mov r8, rax
not r8
movabs r9, 0x7ffffffffffffffe
and r8, r9
or r8, rdx
not r8
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x1403a8817
mov r10, qword [rcx - 8]
neg rcx
mov edx, ecx
not edx
and edx, 8
mov r9, rcx
and r9, 0xfffffffffffffff7
or r9, rdx
mov edx, ecx
and edx, 8
add rdx, rdx
xor r9, rdx
and edx, ecx
lea rcx, [r9 + rdx*2]
movabs rdx, 0x548dbb0f4db420bc
sub rdx, rcx
mov rcx, rdx
movabs r8, 0xab7244f0b24bdf44
xor rcx, r8
movabs r8, 0x2b7244f0b24bdf44
and rdx, r8
lea rcx, [rcx + rdx*2]
mov rdx, qword [0x140549f30]
movabs r8, 0x960826ab9bc0bbd7
add rdx, r8
mov r9, rdx
movabs r8, 0x193943af2bf18334
xor r9, r8
and rdx, r8
lea rdx, [r9 + rdx*2]
sub rdx, rcx
add rdx, r10
neg rdx
cmp rdx, 0x20
jae 0x1403a88a9
mov qword [rbp - 0x20], r10
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], rsi
xor r8d, r8d
nop word cs:[rax + rax]
mov ecx, dword [0x14055f564]
cmp ecx, 0xf
jg 0x1403a8652
mov rcx, qword [0x140450548]
mov rdx, qword [0x140450540]
test r8b, r8b
je 0x1403a8790
mov rcx, qword [0x140450548]
mov rcx, qword [0x140450540]
mov ecx, dword [0x14055f564]
cmp ecx, 0x38
jge 0x1403a8630
jmp 0x1403a863b
mov rbx, r14
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmovae rbx, rax
cmp rbx, 0xfff
jb 0x1403a86e0
lea rcx, [rbx + 0x28]
call fcn.1403e4d2c
mov rcx, rax
mov rax, qword [0x140549f30]
movabs rdx, 0xaf416a5ac7b23f32
add rax, rdx
mov rdx, rcx
xor rdx, rax
mov r8, rcx
not r8
not rax
and rax, r8
or rax, rdx
not rax
lea rax, [rdx + rax*2]
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1403a86e9
lea rcx, [rbx + 1]
call fcn.1403e4d2c
mov qword [rbp + 0x40], rax
mov r8, qword [0x140549f30]
movabs rcx, 0xaf416a5ac7b23f0c
add rcx, r8
xor rcx, r14
mov rdx, r14
not rdx
mov r9, rdx
and r9, 0xfffffffffffffffe
mov r10d, r14d
and r10d, 1
or r10, r9
mov r9, r10
not r9
xor r10, r14
and r9, rdx
or r9, r10
not r9
movabs rdx, 0xaf416a5ac7b23f0d
add r8, rdx
imul r8, r9
add r8, rcx
mov rcx, rax
mov rdx, rsi
call fcn.14040cc90
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], rbx
mov rsi, qword [rbp + 0x40]
dec r14
xor ebx, ebx
nop dword [rax]
movsx ecx, byte [rsi + rbx]
mov edx, 0x44ed411a
mov r8d, 0x6e1918d
mov r9d, 0x200085d7
call fcn.140299bb0
mov byte [rsi + rbx], al
cmp r14, rbx
je 0x1403a8520
inc rbx
jmp 0x1403a8760
mov r9d, dword [0x14055f560]
mov rsi, qword [rbp - 0x18]
mov eax, dword [rbp + 0x20]
nop
xor r9d, r9d
test eax, esi
setne r9b
neg r9
mov ebx, 0
sbb rbx, rbx
mov r10, rdx
sub r10, rdi
mov r11, rcx
sbb r11, r15
mov r14d, dword [0x14055f560]
mov r8d, 1
sub r8d, r14d
imul r8d, r14d
test r8b, 1
jne 0x1403a87a0
not r10
or r10, r9
not r11
or r11, rbx
not r10
not r11
mov ecx, dword [0x14055f560]
or r11, r10
setne cl
or cl, byte [0x14055bd89]
and cl, 1
mov byte [0x14055bd89], cl
mov rdx, qword [rbp - 0x28]
add rdx, 0x28
mov rcx, qword [rbp - 0x20]
mov rsi, qword [rbp - 0x30]
call fcn.1400a7e90
cmp rsi, 0xffffffffffffffff
jne 0x1403a8840
add r13, 0x20
cmp r13, qword [rbp - 0x38]
jne 0x1403a84c0
jmp 0x1403a8480
mov rax, qword [rbp + 0x30]
mov r8d, dword [rax + 0x20]
mov rdx, qword [rbp + 0x18]
mov rsi, rdx
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0x40], rax
mov edi, r8d
mov dword [rbp + 0x48], r8d
mov rcx, qword [rbp + 0x38]
lea rdx, [rbp - 0x50]
lea r8, [rbp + 0x40]
call fcn.140396f20
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rbp + 8]
mov r8d, edi
call fcn.14038ea30
jmp 0x1403a81f0
mov rdx, qword [rbp + 0x18]
xor r8d, r8d
jmp 0x1403a884c
mov rax, qword [rbp + 0x38]
movaps xmm6, xmmword [rbp + 0x70]
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
call fcn.1403c4adc
int3