Function at 0x4b8b20
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5265a3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x134
push ebx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x24]
push esi
push edi
mov edi, dword [ebp + 0xc]
push edi
push ebx
push eax
call fcn.004b7190
add esp, 0xc
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, ecx
sar eax, 4
mov dword [ebp - 4], 0
cmp eax, 4
jbe 0x4b9073
movzx ecx, word [ecx + 0x40]
mov eax, dword [edi]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
push eax
mov dword [ebp + 0xc], eax
call fcn.004eebd0
cmp word [eax + 0x1e], 0x36
je 0x4b8bbe
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
cmp dword [ebp - 0x10], 0xf
lea ecx, [ebp - 0x24]
push dword [ebp - 0x14]
cmova ecx, dword [ebp - 0x24]
push ecx
push esi
mov byte [ebp - 4], 1
call fcn.00438fa0
push str._does_not_reference_a_function
jmp 0x4b8c11
mov eax, dword [ebx + 0x11c]
mov ecx, dword [ebx + 0x120]
cmp eax, ecx
je 0x4b8be0
mov edx, dword [ebp + 0xc]
cmp dword [eax], edx
je 0x4b8c62
add eax, 4
cmp eax, ecx
jne 0x4b8bd1
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x10], 0xf
lea ecx, [ebp - 0x24]
push dword [ebp - 0x14]
cmova ecx, dword [ebp - 0x24]
push ecx
push esi
call fcn.00438fa0
push str._does_not_reference_an_entry_point
push esi
call fcn.00438a80
add esp, 0x14
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x140]
call fcn.0046b990
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xf
jbe 0x4b9060
mov edx, dword [ebp - 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b9056
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b9078
jmp 0x4b9056
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebx + 0x274]
push eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00465c40
mov eax, dword [eax + 4]
test eax, eax
jne 0x4b8cc4
mov eax, dword [ebx + 0x278]
xor edx, edx
lea ecx, [eax + 0xc]
cmp eax, dword [ebx + 0x278]
cmovne edx, ecx
test edx, edx
je 0x4b903a
cmp dword [edx + 4], 0
je 0x4b903a
mov eax, dword [edx]
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
jne 0x4b8d42
mov edi, edi
cmp dword [eax + 0x10], 5
jne 0x4b8e79
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x4b8d24
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x4b8d20
lea esp, [esp]
cmp eax, dword [ecx + 8]
jne 0x4b8d20
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4b8d10
mov eax, ecx
jmp 0x4b8d3c
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x4b8d3c
mov edi, edi
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x4b8d30
cmp byte [eax + 0xd], 0
je 0x4b8cf0
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, ecx
sar eax, 4
cmp eax, 5
jbe 0x4b9073
movzx ecx, word [ecx + 0x50]
mov eax, dword [edi]
push dword [eax + ecx*4]
mov ecx, ebx
call fcn.004eebd0
test eax, eax
je 0x4b9010
cmp word [eax + 0x1e], 7
jne 0x4b9010
push 1
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.004763a0
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x128]
push dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
push eax
call fcn.00465c40
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4b907d
mov esi, dword [eax + 0xc]
cmp esi, dword [eax + 0x10]
je 0x4b8df8
lea esp, [esp]
cmp dword [esi + 0x14], 0xf
mov ecx, esi
jbe 0x4b8dca
mov ecx, dword [esi]
push dword [esi + 0x10]
cmp dword [ebp - 0x34], 0xf
lea eax, [ebp - 0x48]
push ecx
cmova eax, dword [ebp - 0x48]
push dword [ebp - 0x38]
push eax
call fcn.00404a30
add esp, 0x10
test al, al
jne 0x4b8eaf
mov eax, dword [ebp - 0x28]
add esi, 0x24
cmp esi, dword [eax + 0x10]
jne 0x4b8dc0
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
mov byte [ebp - 4], 7
push str.Name_must_match_an_entry_point_for_Kernel
push esi
call fcn.00438a80
add esp, 8
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x140]
call fcn.0046b990
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xf
jbe 0x4b8e62
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4b8e58
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4b9078
push ecx
push edx
call fcn.004fa253
add esp, 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
jmp 0x4b8c2b
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
cmp dword [ebp - 0x10], 0xf
lea ecx, [ebp - 0x24]
push dword [ebp - 0x14]
cmova ecx, dword [ebp - 0x24]
push ecx
push esi
mov byte [ebp - 4], 4
call fcn.00438fa0
push str._must_refer_only_to_GLCompute_entry_points
jmp 0x4b8c11
mov esi, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
sub esi, eax
sar esi, 4
cmp dword [ebp + 0x10], 5
jae 0x4b8f2b
cmp esi, 6
jbe 0x4b8f67
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
push 0x58f700
push esi
mov byte [ebp - 4], 8
call fcn.00438a80
add esp, 8
mov ecx, esi
push dword [ebp + 0x10]
call fcn.00467600
push str._of_the
push esi
call fcn.00438a80
cmp dword [ebp - 0x10], 0xf
lea eax, [ebp - 0x24]
push dword [ebp - 0x14]
cmova eax, dword [ebp - 0x24]
push eax
push esi
call fcn.00438fa0
push str._instruction_can_only_have_2_additional_operands
push esi
call fcn.00438a80
add esp, 0x1c
jmp 0x4b8e1d
cmp esi, 6
jbe 0x4b8f67
movzx ecx, word [eax + 0x60]
mov eax, dword [edi]
push dword [eax + ecx*4]
push ebx
call fcn.004b7120
add esp, 8
test al, al
jne 0x4b8f67
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
mov byte [ebp - 4], 9
push str.NumArguments_must_be_a_32_bit_unsigned_integer_OpConstant
jmp 0x4b8e14
cmp esi, 7
jbe 0x4b8fb7
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, ecx
sar eax, 4
cmp eax, 7
jbe 0x4b9073
movzx ecx, word [ecx + 0x70]
mov eax, dword [edi]
push dword [eax + ecx*4]
push ebx
call fcn.004b7120
add esp, 8
test al, al
jne 0x4b8fb7
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
mov byte [ebp - 4], 0xa
push str.Flags_must_be_a_32_bit_unsigned_integer_OpConstant
jmp 0x4b8e14
cmp esi, 8
jbe 0x4b9009
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, ecx
sar eax, 4
cmp eax, 8
jbe 0x4b9073
movzx ecx, word [ecx + 0x80]
mov eax, dword [edi]
push dword [eax + ecx*4]
mov ecx, ebx
call fcn.004eee50
cmp eax, 7
je 0x4b9009
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
mov byte [ebp - 4], 0xb
push str.Attributes_must_be_an_OpString
jmp 0x4b8e14
xor esi, esi
jmp 0x4b8e2e
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
push str.Name_must_be_an_OpString
push esi
mov byte [ebp - 4], 5
call fcn.00438a80
add esp, 8
jmp 0x4b8c1a
push edi
push 0xfffffffffffffff6
lea eax, [ebp - 0x140]
mov ecx, ebx
push eax
call fcn.004f5350
mov esi, eax
mov byte [ebp - 4], 3
jmp 0x4b8bf7
push ecx
push edx
call fcn.004fa253
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.0046b360
call fcn.004ff45f
push str.invalid_unordered_map_K__T__key
call fcn.004f7e31
int3