Function at 0x140050e3c
Capabilities:
Check for peb beingdebugged flag
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rax - 0x68], 0xfffffffffffffffe
mov rdi, r8
mov rsi, rdx
mov r12, rcx
mov r13, rdx
mov qword [rsp + 0x68], rdx
xor ebx, ebx
mov qword [rsp + 0x40], rbx
xor r14d, r14d
mov dword [rsp + 0x34], r14d
xor r15d, r15d
mov dword [rsp + 0x38], r15d
test rbx, rbx
je 0x140050ea5
test r14d, r14d
je 0x140050ea5
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call fcn.140058aa0
nop
and dword [rsp + 0x108], 0
mov eax, dword [0x1400718cc]
mov dword gs:[0x68], eax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9, rbx
mov r8d, 1
mov edx, r15d
mov rcx, qword [r12]
call fcn.1400558a0
nop
mov dword [rsi], eax
cmp eax, 0xc0000023
je 0x140050ef7
cmp eax, 0x80000005
jne 0x140050fa3
mov eax, dword [rsp + 0x108]
test eax, eax
je 0x1400510f4
add eax, 2
mov dword [rsp + 0x108], eax
mov r8d, eax
mov rax, qword gs:[0x60]
mov edx, 8
mov rcx, qword [rax + 0x30]
test rbx, rbx
je 0x140050f3b
mov r9d, r8d
mov r8, qword [rsp + 0x40]
call qword [sym.imp.ntdll.dll_RtlReAllocateHeap]
nop
jmp 0x140050f42
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop
mov qword [rsp + 0x40], rax
mov rbx, rax
test rax, rax
jne 0x140050f5a
mov dword [rsi], 0xc000009a
jmp 0x1400510ff
mov r14d, dword [rsp + 0x108]
mov dword [rsp + 0x34], r14d
mov eax, dword [0x1400718cc]
mov dword gs:[0x68], eax
lea rax, [rsp + 0x108]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
mov r9, rbx
mov r8d, 1
mov edx, r15d
mov rcx, qword [r12]
call fcn.1400558a0
nop
mov dword [rsi], eax
mov eax, dword [r13]
test eax, eax
js 0x1400510e3
cmp dword [rbx + 0x10], 0
jbe 0x1400510e3
mov edx, dword [rbx + 0x10]
mov qword [rsp + 0x88], rdx
lea r8, [rbx + 0x14]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rdx
mov r9d, dword [rbx + 8]
add r9, rbx
mov qword [rsp + 0x90], r9
mov eax, dword [rbx + 4]
mov dword [rsp + 0x50], eax
cmp eax, 4
jne 0x1400510b5
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
test r8, r8
je 0x140051047
test rdx, rdx
je 0x140051047
mov ecx, 0x811c9dc5
mov dword [rsp + 0x30], ecx
mov rax, rdx
dec rdx
mov qword [rsp + 0x58], rdx
test rax, rax
je 0x140051049
movzx eax, word [r8]
add r8, 2
mov qword [rsp + 0x60], r8
xor ecx, eax
mov dword [rsp + 0x30], ecx
imul ecx, ecx, 0x1000193
mov dword [rsp + 0x30], ecx
jmp 0x140051018
xor ecx, ecx
mov dword [rsp + 0x48], ecx
xor ecx, 0x4cec1bbc
cmp ecx, 0x9c53e50
je 0x1400510a3
cmp ecx, 0x244b79fd
je 0x140051093
cmp ecx, 0x37f09c1b
je 0x140051083
cmp ecx, 0x985753f6
jne 0x1400510b5
mov eax, dword [r9]
neg eax
sbb cl, cl
and cl, 4
mov al, byte [rdi]
and al, 0xfb
jmp 0x1400510b1
mov eax, dword [r9]
neg eax
sbb cl, cl
and cl, 0x10
mov al, byte [rdi]
and al, 0xef
jmp 0x1400510b1
mov eax, dword [r9]
neg eax
sbb cl, cl
and cl, 2
mov al, byte [rdi]
and al, 0xfd
jmp 0x1400510b1
mov eax, dword [r9]
neg eax
sbb cl, cl
and cl, 8
mov al, byte [rdi]
and al, 0xf7
or cl, al
mov byte [rdi], cl
jmp 0x1400510e3
inc r15d
mov dword [rsp + 0x38], r15d
cmp dword [rsi], 0
jge 0x140050e8d
cmp dword [rsi], 0x8000001a
jne 0x1400510ff
and dword [rsi], 0
test rbx, rbx
je 0x14005111f
mov rcx, qword gs:[0x60]
mov r8, qword [rsp + 0x40]
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret