Function at 0x402d90
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x481388
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x4a81fc]
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 - 0x44], ebx
mov dword [ebp - 4], 2
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x2c], 0
call fcn.00405900
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push ecx
mov eax, esp
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x3c], esp
mov dword [eax], 0
push ecx
mov eax, esp
mov byte [ebp - 4], 4
mov dword [eax], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 3
call fcn.0041e3e0
add esp, 0xc
push str.obsstudio
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 5
call fcn.00405b80
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 6
call fcn.00405900
push 0
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, esp
mov esi, eax
mov dword [edx], ecx
test ecx, ecx
je 0x402e4d
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, esi
call dword [eax + 0x88]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x34]
mov edi, dword [sym.imp.libcef.dll_cef_string_utf16_clear]
mov dword [ebp - 0x38], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x402e89
cmp byte [ebp - 0x30], 0
je 0x402e89
push eax
call edi
push 0xc
push dword [ebp - 0x34]
call fcn.0044b829
add esp, 0xc
push str.2.8.6
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x28], 0
call fcn.00405b80
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0041e560
add esp, 8
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x402ee4
cmp byte [ebp - 0x48], 0
je 0x402ed9
push eax
call edi
push 0xc
push dword [ebp - 0x4c]
call fcn.0044b829
add esp, 0xc
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x48], 0
push str.pluginVersion
lea ecx, [ebp - 0x38]
call fcn.00405b80
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.00405900
push 0
push ecx
mov ecx, dword [ebp - 0x28]
mov edx, esp
mov esi, eax
mov dword [edx], ecx
test ecx, ecx
je 0x402f1c
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, esi
call dword [eax + 0x88]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x402f52
cmp byte [ebp - 0x30], 0
je 0x402f52
push eax
call edi
push 0xc
push dword [ebp - 0x34]
call fcn.0044b829
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x24], 0
cmp ebx, 8
lea esi, [ebx + 0x10]
push str.getCurrentScene
lea ecx, [ebp - 0x5c]
cmove esi, eax
call fcn.00405b80
mov byte [ebp - 4], 0xb
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x402f8d
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0041e280
add esp, 0xc
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x402fd0
cmp byte [ebp - 0x54], 0
je 0x402fc5
push eax
call edi
push 0xc
push dword [ebp - 0x58]
call fcn.0044b829
add esp, 0xc
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x54], 0
push str.getCurrentScene
lea ecx, [ebp - 0x38]
call fcn.00405b80
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xe
call fcn.00405900
push 0
push ecx
mov ecx, dword [ebp - 0x24]
mov edx, esp
mov ebx, eax
mov dword [edx], ecx
test ecx, ecx
je 0x403008
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebx]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, ebx
call dword [eax + 0x88]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x40303e
cmp byte [ebp - 0x30], 0
je 0x40303e
push eax
call edi
push 0xc
push dword [ebp - 0x34]
call fcn.0044b829
add esp, 0xc
push str.getStatus
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x20], 0
call fcn.00405b80
mov byte [ebp - 4], 0xf
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x40306e
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0041e280
add esp, 0xc
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x4030b1
cmp byte [ebp - 0x60], 0
je 0x4030a6
push eax
call edi
push 0xc
push dword [ebp - 0x64]
call fcn.0044b829
add esp, 0xc
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x60], 0
push str.getStatus
lea ecx, [ebp - 0x38]
call fcn.00405b80
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x12
call fcn.00405900
push 0
push ecx
mov ecx, dword [ebp - 0x20]
mov edx, esp
mov ebx, eax
mov dword [edx], ecx
test ecx, ecx
je 0x4030e9
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebx]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, ebx
call dword [eax + 0x88]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x40311f
cmp byte [ebp - 0x30], 0
je 0x40311f
push eax
call edi
push 0xc
push dword [ebp - 0x34]
call fcn.0044b829
add esp, 0xc
push str.saveReplayBuffer
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x1c], 0
call fcn.00405b80
mov byte [ebp - 4], 0x13
push ecx
mov eax, esp
mov dword [eax], esi
test esi, esi
je 0x40314f
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041e280
add esp, 0xc
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x403192
cmp byte [ebp - 0x30], 0
je 0x403187
push eax
call edi
push 0xc
push dword [ebp - 0x34]
call fcn.0044b829
add esp, 0xc
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x30], 0
push str.saveReplayBuffer
lea ecx, [ebp - 0x7c]
call fcn.00405b80
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x16
call fcn.00405900
push 0
push ecx
mov ecx, dword [ebp - 0x1c]
mov edx, esp
mov esi, eax
mov dword [edx], ecx
test ecx, ecx
je 0x4031ca
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [esi]
lea ecx, [ebp - 0x7c]
push ecx
mov ecx, esi
call dword [eax + 0x88]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
test eax, eax
je 0x403200
cmp byte [ebp - 0x74], 0
je 0x403200
push eax
call edi
push 0xc
push dword [ebp - 0x78]
call fcn.0044b829
add esp, 0xc
lea ecx, [ebp + 8]
call fcn.00405900
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x24]
mov ebx, eax
mov esi, dword [ebp - 0x44]
sar eax, 8
movzx edx, bl
xor edx, 0x811c9dc5
movzx eax, al
imul edx, edx, 0x1000193
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x18], ebx
xor eax, edx
mov dword [ebp - 0x70], edx
imul edx, eax, 0x1000193
mov eax, ebx
sar eax, 0x10
movzx eax, al
xor edx, eax
mov eax, ebx
imul edx, edx, 0x1000193
sar eax, 0x18
movzx eax, al
xor edx, eax
mov eax, dword [esi + 0x40]
mov esi, dword [esi + 0x34]
imul edx, edx, 0x1000193
mov dword [ebp - 0x3c], eax
and edx, eax
mov eax, dword [esi + edx*8]
add edx, edx
lea edi, [edx*4 + 4]
mov dword [ebp - 0x6c], edi
mov edi, dword [esi + edx*4]
cmp edi, ecx
jne 0x40327f
mov edx, ecx
jmp 0x403287
mov edx, dword [ebp - 0x6c]
mov edx, dword [edx + esi]
mov edx, dword [edx]
cmp eax, edx
je 0x403294
cmp dword [eax + 8], ebx
je 0x403296
mov eax, dword [eax]
jmp 0x403277
mov eax, ecx
cmp eax, ecx
je 0x403375
movzx eax, bh
xor eax, dword [ebp - 0x70]
imul edx, eax, 0x1000193
movzx eax, byte [ebp - 0x16]
xor edx, eax
movzx eax, byte [ebp - 0x15]
imul edx, edx, 0x1000193
xor edx, eax
imul edx, edx, 0x1000193
and edx, dword [ebp - 0x3c]
mov eax, dword [esi + edx*8]
add edx, edx
lea edi, [edx*4 + 4]
mov dword [ebp - 0x3c], edi
mov edi, dword [esi + edx*4]
cmp edi, ecx
jne 0x4032df
mov edx, ecx
jmp 0x4032e7
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + esi]
mov edx, dword [edx]
cmp eax, edx
je 0x4032f8
cmp dword [eax + 8], ebx
je 0x4032f4
mov eax, dword [eax]
jmp 0x4032d7
cmp eax, ecx
jne 0x40334a
mov esi, dword [ecx]
lea eax, [ebp - 0x18]
push ecx
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
mov edi, dword [esi + 4]
push ecx
push edi
push esi
call fcn.00408780
mov edx, dword [ebp - 0x44]
mov ebx, eax
mov ecx, 0xffffffe
mov eax, dword [edx + 0x30]
sub ecx, eax
cmp ecx, 1
jb 0x403489
inc eax
lea ecx, [edx + 0x28]
mov dword [edx + 0x30], eax
mov dword [esi + 4], ebx
mov dword [edi], ebx
mov eax, dword [edx + 0x2c]
mov eax, dword [eax]
push eax
add eax, 8
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00407e40
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + 0xc]
push eax
mov eax, dword [ebp + 8]
push ecx
mov ecx, esp
mov dword [ecx], eax
test eax, eax
je 0x40336a
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 8]
call fcn.00403c80
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x403390
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4033ab
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4033c6
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4033e1
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4033fc
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x403417
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp + 8]
test eax, eax
je 0x403432
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x40344d
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x40346b
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
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.0044b7e8
mov esp, ebp
pop ebp
ret 0xc
push str.list_T__too_long
call fcn.004497bd
int3