Function at 0x4b9b90
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55bcf1
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x5b706c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x14], ebx
push 1
mov dword [ebp - 0x2c], ebx
call fcn.004bc030
mov dword [ebp - 4], 0
mov dword [ebx + 0x88], vtable.styler3::ScrollListener.0
mov dword [ebx], vtable.styler3::Styler3.1.0
mov dword [ebx + 0x88], vtable.styler3::Styler3.0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0xa0], 0
lea esi, [ebx + 0xa8]
mov byte [ebp - 4], 3
mov ecx, esi
mov byte [ebx + 0xa4], 0
mov dword [ebp - 0x14], esi
call fcn.0045b670
mov dword [esi], vtable.styler3::Styler3Cntxt.0
mov dword [esi + 0x24], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xd4], 0
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0xdc], 0
mov dword [ebx + 0xe0], 0
mov dword [ebx + 0xe4], 0
mov dword [ebx + 0xe8], 0
mov byte [ebp - 4], 7
lea esi, [ebx + 0xf4]
mov dword [ebx + 0xec], 0
mov dword [ebx + 0xf0], 0
mov dword [ebp - 0x24], esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
add esi, 0x18
mov dword [ebp - 0x24], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004bcd50
mov dword [esi], eax
mov byte [ebp - 4], 8
lea edi, [ebx + 0x114]
mov dword [ebp - 0x24], edi
lea esi, [edi + 4]
push 0
mov dword [edi], 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0042d120
mov dword [esi], eax
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov byte [ebp - 4], 0xa
mov ecx, edi
push 8
mov dword [edi], 0x3f800000
call fcn.00413a60
mov dword [ebx + 0x134], 0
mov dword [ebx + 0x138], 0
mov dword [ebx + 0x13c], 0
mov dword [ebx + 0x140], 0
mov dword [ebx + 0x144], 0
mov dword [ebx + 0x148], 0
mov byte [ebp - 4], 0xd
lea edi, [ebx + 0x164]
mov dword [ebp - 0x24], edi
lea esi, [edi + 4]
mov dword [ebx + 0x14c], 0
mov dword [ebx + 0x150], 0
mov dword [ebx + 0x154], 0
mov dword [ebx + 0x158], 0
mov dword [ebx + 0x15c], 0
mov dword [ebx + 0x160], 0
push 0
mov dword [edi], 0
mov dword [ebp - 0x14], esi
push 0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004b51e0
mov dword [esi], eax
lea eax, [edi + 0x10]
mov byte [ebp - 4], 0xe
mov esi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push eax
mov dword [edi + 0xc], 0
call esi
lea eax, [edi + 0x28]
mov byte [ebp - 4], 0xf
push eax
call esi
lea eax, [edi + 0x40]
mov byte [ebp - 4], 0x10
push eax
call esi
push 8
mov byte [ebp - 4], 0x11
call fcn.0051ebe4
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.004bcd50
mov dword [esi], eax
mov dword [edi + 0x58], esi
mov byte [ebp - 4], 0x13
mov ecx, dword [0x5bf080]
mov edx, dword [ecx + 0x40]
lea esi, [ecx + 0x44]
inc edx
mov dword [ecx + 0x40], edx
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x1c], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x20], edx
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
mov edi, dword [ebp - 0x1c]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [esi + 0x18]
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*8]
lea edx, [ecx + ecx]
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x28], edx
mov edx, dword [ecx + edx*4]
mov dword [ebp - 0x18], edx
mov edx, dword [esi + 4]
cmp dword [ebp - 0x18], edx
jne 0x4b9edb
mov ecx, edx
jmp 0x4b9ee7
mov edx, dword [ebp - 0x28]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [esi + 4]
mov ecx, dword [ecx]
cmp eax, ecx
je 0x4b9efb
cmp dword [eax + 8], edi
je 0x4b9ef7
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
jmp 0x4b9ed2
mov ecx, eax
jmp 0x4b9eff
mov eax, edx
mov ecx, edx
cmp ecx, edx
jne 0x4b9f5c
lea eax, [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 4]
push ecx
lea ecx, [ebp - 0x28]
push ecx
mov edi, dword [eax]
push ecx
mov eax, dword [edi + 4]
push eax
push edi
mov dword [ebp - 0x18], eax
call fcn.004b5540
mov ecx, dword [esi + 8]
mov edx, eax
mov eax, 0xffffffe
sub eax, ecx
cmp eax, 1
jb 0x4ba006
lea eax, [ecx + 1]
mov ecx, esi
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [edi + 4], edx
mov dword [eax], edx
mov eax, dword [esi + 4]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004b5320
mov eax, dword [ebp - 0x34]
mov byte [eax + 0xc], 0
mov esi, 0x57f9d8
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x160], eax
mov eax, dword [str.align_left]
mov dword [ebp - 0x18], ebx
test eax, eax
je 0x4b9f96
nop word [eax + eax]
push dword [esi + 8]
lea ecx, [ebp - 0x18]
push eax
call fcn.004ba020
mov eax, dword [esi + 0x10]
lea esi, [esi + 0x10]
test eax, eax
jne 0x4b9f80
mov eax, dword [str.input_normal]
mov esi, 0x57fa48
mov dword [ebp - 0x1c], ebx
test eax, eax
je 0x4b9fbd
push dword [esi + 8]
lea ecx, [ebp - 0x1c]
push eax
call fcn.004ba020
mov eax, dword [esi + 0x10]
lea esi, [esi + 0x10]
test eax, eax
jne 0x4b9fa7
mov eax, dword [str.token_normal]
mov esi, 0x57f998
mov dword [ebp - 0x14], ebx
test eax, eax
je 0x4b9fe6
nop
push dword [esi + 8]
lea ecx, [ebp - 0x14]
push eax
call fcn.004ba020
mov eax, dword [esi + 0x10]
lea esi, [esi + 0x10]
test eax, eax
jne 0x4b9fd0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0051e9d8
mov esp, ebp
pop ebp
ret 4
push str.list_T__too_long
call fcn.00509daf
int3