Function at 0x10033086
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006a8cd
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x10468f40]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ecx + 0x310]
cmp eax, 0xc
ja case.default.0x10033055
jmp dword [eax*4 + 0x1003320c]
mov esi, str.Window
jmp 0x100330bc
mov esi, str.Checkbox
jmp 0x100330bc
mov esi, str.Button
jmp 0x100330bc
mov esi, str.Groupbox
jmp 0x100330bc
mov esi, str.Slider
jmp 0x100330bc
mov esi, str.Separator
jmp 0x100330bc
mov esi, str.Key_Bind
jmp 0x100330bc
mov esi, str.Text_Input
jmp 0x100330bc
mov esi, str.Combobox
jmp 0x100330bc
mov esi, str.Multiselect_Combobox
jmp 0x100330bc
mov esi, str.Color_Picker
jmp 0x100330bc
mov esi, 0x1006ee78
jmp 0x100330bc
mov esi, str.Tool_Tip
jmp 0x100330bc
mov esi, 0x1006c6c0
lea edx, [ecx + 4]
mov dword [ebp - 0x18], 0
mov ecx, edx
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100330e0
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.1000d290
mov ecx, esi
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x2c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10033114
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x40]
call fcn.1000d290
cmp dword [ebp - 0x2c], 0x10
lea esi, [ebp - 0x40]
mov edi, dword [ebp - 0x30]
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0x40]
xor ecx, ecx
test edi, edi
je 0x10033151
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x10033140
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x28]
mov esi, 0x811c9dc5
cmovae eax, edi
xor ecx, ecx
cmp dword [ebp - 0x18], ecx
jbe 0x10033185
mov edi, eax
nop dword [eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [ebp - 0x18]
jb 0x10033170
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
add esi, edx
cmp eax, 0x10
jb 0x100331b9
mov edx, dword [ebp - 0x40]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100331af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10033205
push ecx
push edx
call fcn.10041fcb
add esp, 8
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x100331e8
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100331de
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10033205
push ecx
push edi
call fcn.10041fcb
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100421e2
mov esp, ebp
pop ebp
ret
call fcn.1004748f
nop
pop esp
xor byte [ebx], al
adc byte [ebx + 0x30], ah
add edx, dword [eax]
push 0x30
add edx, dword [eax]
jno 0x1003324a
add edx, dword [eax]
js 0x1003324e
add edx, dword [eax]
jg 0x10033252
add edx, dword [eax]
xchg byte [eax], dh
add edx, dword [eax]
lea esi, [eax]
add edx, dword [eax]
xchg esp, eax
xor byte [ebx], al
adc byte [ebx - 0x5deffcd0], bl
xor byte [ebx], al
adc byte [ecx - 0x4feffcd0], ch
xor byte [ebx], al
adc byte [ebp - 0x75], dl
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
cmp eax, 0x83
add dword [eax], 0
add byte [edi], cl
xchg dword [ebp + 2], eax
ja 0x10033499
add byte [eax], al
movzx eax, byte [eax + 0x100335e8]
jmp dword [eax*4 + 0x100334a0]
mov eax, 0x1006c6c0
pop ebp
ret