Function at 0x43e1f0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
mov eax, dword [0x4c6180]
xor eax, esp
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, dword [eax]
mov edi, ecx
mov dword [esp + 0xc], edi
mov esi, dword [esi]
lea edx, [edi + 0xb8]
mov dword [esp + 0x10], edx
cmp byte [esi + 0xd], 0
jne 0x43e377
nop
mov ebx, dword [esi + 0x10]
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [esp + 0x14], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0041d7b0
mov eax, dword [eax + 4]
test eax, eax
jne 0x43e291
mov eax, dword [edi + 0xbc]
cmp eax, dword [edi + 0xbc]
je 0x43e323
push ebx
lea ecx, [esp + 0x24]
push ecx
lea ecx, [edi + 0x7c]
call fcn.0043ba60
mov edx, dword [esp + 0x30]
add edx, 0xfffffff0
mov edi, dword [eax]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e2c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x2c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e2e5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x28]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e301
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test edi, 0x100
jne 0x43e31f
or edi, 0x100
push edi
mov edi, dword [esp + 0x10]
push ebx
lea ecx, [edi + 0x7c]
call fcn.0044a280
jmp 0x43e323
mov edi, dword [esp + 0xc]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x43e349
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x43e345
cmp esi, dword [eax + 8]
jne 0x43e345
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x43e335
mov esi, eax
jmp 0x43e35f
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x43e35f
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x43e353
cmp byte [esi + 0xd], 0
lea edx, [edi + 0xb8]
je 0x43e230
lea edx, [edi + 0xb8]
jmp 0x43e37b
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0xc]
mov esi, dword [eax]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x43e4ce
nop dword [eax]
mov ebx, dword [esi + 0x10]
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [esp + 0x14], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, edx
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0041d7b0
mov eax, dword [eax + 4]
test eax, eax
jne 0x43e3f2
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 0xbc]
je 0x43e484
push ebx
lea ecx, [esp + 0x24]
push ecx
lea ecx, [edi + 0x7c]
call fcn.0043ba60
mov edx, dword [esp + 0x30]
add edx, 0xfffffff0
mov edi, dword [eax]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e42a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x2c]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e446
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [esp + 0x28]
or eax, 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43e462
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test edi, 0x100
je 0x43e480
xor edi, 0x100
push edi
mov edi, dword [esp + 0x10]
push ebx
lea ecx, [edi + 0x7c]
call fcn.0044a280
jmp 0x43e484
mov edi, dword [esp + 0xc]
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x43e4aa
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x43e4a6
cmp esi, dword [eax + 8]
jne 0x43e4a6
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x43e496
mov esi, eax
jmp 0x43e4c0
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x43e4c0
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x43e4b4
cmp byte [esi + 0xd], 0
mov edx, dword [esp + 0x10]
je 0x43e390
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00474a5a
mov esp, ebp
pop ebp
ret 8