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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov r13, rcx
lea rax, [0x14026cb50]
mov r14, rax
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x50]
lea r9, [rsp + 0xa8]
call fcn.140053960
movzx r12d, byte [rsp + 0x50]
cmp r12, 2
je 0x140048aa2
mov r10, qword [r13 + 0x20]
test r10, r10
je 0x140048aa2
mov al, byte [rsp + 0x51]
movzx ebp, al
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov bl, byte [rsp + 0x68]
cmp dword [r13 + 0x40], 2
mov byte [rsp + 0x38], al
mov byte [rsp + 0x37], bl
jne 0x1400484af
mov rdi, r8
mov r15, r9
mov qword [rsp + 0x48], r10
mov rax, qword [r13 + 0x48]
mov rcx, qword [r13 + 0x50]
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movq xmm1, rcx
pshufd xmm1, xmm1, 0x44
pxor xmm1, xmmword [0x1402209e0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], 0
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
cmp r12b, 1
jne 0x1400484fd
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x40]
mov r8d, 8
call fcn.1400069e0
test bl, bl
je 0x140048664
lea rcx, [rsp + 0x50]
mov rdx, r15
mov r8, rdi
jmp 0x140048531
cmp r12b, 1
mov r11, r14
jne 0x14004863a
test bl, bl
je 0x1400486b3
test r8, r8
je 0x1400486de
lea rdx, [r8 - 1]
mov eax, r8d
and eax, 7
movabs rcx, 0x100000001b3
cmp rdx, 7
jae 0x1400486ed
movabs rbp, 0x89cd31291d2aefa4
mov rdx, r9
jmp 0x140048771
movzx eax, r12b
mov qword [rsp + 0x40], rax
lea rbx, [rsp + 0x50]
lea rdx, [rsp + 0x40]
mov r8d, 8
mov rcx, rbx
call fcn.1400069e0
mov qword [rsp + 0x40], rbp
lea rdx, [rsp + 0x40]
mov r8d, 8
mov rcx, rbx
call fcn.1400069e0
mov r8, rdi
mov r11, r14
mov rbp, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
shl rbp, 0x38
or rbp, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x68]
add rdx, r14
rol r14, 0xd
xor rax, rbp
xor r14, rdx
rol rdx, 0x20
mov rcx, qword [rsp + 0x70]
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rdx, rax
rol rax, 0x15
add rcx, r14
rol r14, 0x11
xor rax, rdx
xor r14, rcx
rol rcx, 0x20
xor rdx, rbp
add rdx, r14
rol r14, 0xd
xor r14, rdx
rol rdx, 0x20
xor rcx, 0xff
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rdx, rax
rol rax, 0x15
add rcx, r14
rol r14, 0x11
xor r14, rcx
rol rcx, 0x20
xor rax, rdx
add rdx, r14
rol r14, 0xd
xor r14, rdx
rol rdx, 0x20
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rdx, rax
rol rax, 0x15
add rcx, r14
rol r14, 0x11
xor r14, rcx
rol rcx, 0x20
xor rax, rdx
add rdx, r14
rol r14, 0xd
xor r14, rdx
add rcx, rax
shl rax, 0x10
xor rax, rcx
shr rax, 0x2b
add rcx, r14
shr r14, 0x2f
xor r14, rcx
shr rcx, 0x20
xor r14, rax
xor r14, rcx
mov r10, qword [rsp + 0x48]
mov r9, r15
jmp 0x14004883c
movabs rax, 0xcbf29ce484222325
mov r14, r12
xor r14, rax
movabs rax, 0x1efac7090aef4a21
imul r14, rax
xor r14, rbp
imul r14, rax
jmp 0x14004883c
mov r8, rdi
test rdi, rdi
mov r11, r14
je 0x14004853c
xor ebp, ebp
lea rsi, [rsp + 0x50]
lea rbx, [rsp + 0x40]
nop
movzx eax, byte [r15 + rbp]
movzx eax, byte [rax + r11]
mov byte [rsp + 0x40], al
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.1400069e0
mov r11, r14
mov r8, rdi
add rbp, 1
cmp rdi, rbp
jne 0x140048680
jmp 0x14004853c
test r8, r8
je 0x1400486de
lea rcx, [r8 - 1]
mov eax, r8d
and eax, 3
cmp rcx, 3
jae 0x14004879d
movabs rdx, 0x89cd31291d2aefa4
mov rcx, r9
jmp 0x140048809
movabs r14, 0x89cd31291d2aefa4
jmp 0x14004883c
mov rbx, r8
and rbx, 0xfffffffffffffff8
neg rbx
movabs rbp, 0x89cd31291d2aefa4
mov rdx, r9
nop word cs:[rax + rax]
nop
movzx edi, byte [rdx]
xor rdi, rbp
imul rdi, rcx
movzx ebp, byte [rdx + 1]
xor rbp, rdi
imul rbp, rcx
movzx edi, byte [rdx + 2]
xor rdi, rbp
imul rdi, rcx
movzx ebp, byte [rdx + 3]
xor rbp, rdi
imul rbp, rcx
movzx edi, byte [rdx + 4]
xor rdi, rbp
imul rdi, rcx
movzx ebp, byte [rdx + 5]
xor rbp, rdi
imul rbp, rcx
movzx edi, byte [rdx + 6]
xor rdi, rbp
imul rdi, rcx
movzx ebp, byte [rdx + 7]
add rdx, 8
xor rbp, rdi
imul rbp, rcx
add rbx, 8
jne 0x140048710
mov r14, rbp
test rax, rax
je 0x14004883c
xor ebx, ebx
nop
movzx r14d, byte [rdx + rbx]
xor r14, rbp
imul r14, rcx
add rbx, 1
mov rbp, r14
cmp rax, rbx
jne 0x140048780
jmp 0x14004883c
mov rbp, r8
and rbp, 0xfffffffffffffffc
neg rbp
movabs rdx, 0x89cd31291d2aefa4
movabs rbx, 0x100000001b3
mov rcx, r9
nop
movzx edi, byte [rcx]
movzx edi, byte [rdi + r11]
xor rdi, rdx
imul rdi, rbx
movzx edx, byte [rcx + 1]
movzx edx, byte [rdx + r11]
xor rdx, rdi
imul rdx, rbx
movzx edi, byte [rcx + 2]
movzx edi, byte [rdi + r11]
xor rdi, rdx
imul rdi, rbx
movzx edx, byte [rcx + 3]
movzx edx, byte [rdx + r11]
xor rdx, rdi
imul rdx, rbx
add rcx, 4
add rbp, 4
jne 0x1400487c0
mov r14, rdx
test rax, rax
je 0x14004883c
xor ebp, ebp
movabs rbx, 0x100000001b3
nop dword [rax]
movzx edi, byte [rcx + rbp]
movzx r14d, byte [rdi + r11]
xor r14, rdx
imul r14, rbx
add rbp, 1
mov rdx, r14
cmp rax, rbp
jne 0x140048820
and r14d, 0x7fff
movzx r15d, word [r13 + 0x58]
mov edi, r14d
and edi, r15d
test r12b, r12b
je 0x140048952
mov rsi, qword [r13]
mov r12, qword [r13 + 8]
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x38], rax
cmp byte [rsp + 0x37], 0
je 0x1400489e2
xor ebx, ebx
xor r13d, r13d
mov r11, qword [rsp + 0x38]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x98], r9
jmp 0x1400488a8
add r13, 1
add rdi, 1
cmp rdi, r12
cmovae rdi, rbx
test r12, r12
je 0x140048950
movzx ecx, word [rsi + rdi*4]
cmp rcx, 0xffff
je 0x140048aa2
movzx eax, word [rsi + rdi*4 + 2]
mov edx, eax
and edx, r15d
mov ebp, edi
sub ebp, edx
mov edx, r15d
and edx, ebp
cmp r13, rdx
ja 0x140048aa2
cmp ax, r14w
jne 0x1400488a0
cmp r10, rcx
jbe 0x140048aba
imul rax, rcx, 0x70
cmp byte [r11 + rax], 1
jne 0x1400488a0
cmp qword [r11 + rax + 0x10], r8
jne 0x1400488a0
mov rcx, qword [r11 + rax + 8]
mov ebp, 1
cmp rcx, r9
je 0x140048aa4
mov rdx, r9
call sub.VCRUNTIME140.dll_memcmp
xor ebx, ebx
mov r11, qword [rsp + 0x38]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0x48]
test eax, eax
jne 0x1400488a0
jmp 0x140048aa4
jmp 0x140048950
mov r9, qword [r13]
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
xor r12d, r12d
xor esi, esi
mov r11b, byte [rsp + 0x38]
jmp 0x140048978
add rsi, 1
add rdi, 1
cmp rdi, rdx
cmovae rdi, r12
test rdx, rdx
je 0x1400489e0
movzx ecx, word [r9 + rdi*4]
cmp rcx, 0xffff
je 0x140048aa2
movzx ebx, word [r9 + rdi*4 + 2]
mov ebp, ebx
and ebp, r15d
mov eax, edi
sub eax, ebp
mov ebp, r15d
and ebp, eax
cmp rsi, rbp
ja 0x140048aa2
cmp bx, r14w
jne 0x140048970
cmp r10, rcx
jbe 0x140048aba
imul rcx, rcx, 0x70
cmp byte [r8 + rcx], 1
je 0x140048970
cmp byte [r8 + rcx + 1], r11b
jne 0x140048970
mov ebp, 1
jmp 0x140048aa4
jmp 0x1400489e0
xor r13d, r13d
xor ebx, ebx
jmp 0x1400489f8
add rbx, 1
add rdi, 1
cmp rdi, r12
cmovae rdi, r13
test r12, r12
je 0x140048aa0
movzx ecx, word [rsi + rdi*4]
cmp rcx, 0xffff
je 0x140048aa2
movzx ebp, word [rsi + rdi*4 + 2]
mov edx, ebp
and edx, r15d
mov eax, edi
sub eax, edx
mov edx, r15d
and edx, eax
cmp rbx, rdx
ja 0x140048aa2
cmp bp, r14w
jne 0x1400489f0
cmp r10, rcx
jbe 0x140048aba
imul rcx, rcx, 0x70
mov rax, qword [rsp + 0x38]
cmp byte [rax + rcx], 1
jne 0x1400489f0
mov rax, qword [rsp + 0x38]
cmp qword [rax + rcx + 0x10], r8
jne 0x1400489f0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + rcx + 8]
xor edx, edx
nop
cmp r8, rdx
je 0x1400489d4
movzx eax, byte [r9 + rdx]
lea rbp, [rdx + 1]
movzx eax, byte [rax + r11]
cmp al, byte [rcx + rdx]
mov rdx, rbp
je 0x140048a70
jmp 0x1400489f0
jmp 0x140048aa0
xor ebp, ebp
mov eax, ebp
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r10
lea r8, [0x14026a6a8]
call fcn.14001fa20
ud2