Function at 0x10063bf0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x2c
mov eax, dword [esp + 0x30]
push ebx
push ebp
push esi
mov ebp, dword [eax]
mov esi, ebp
and esi, 0x1ff
mov dword [esp + 0x1c], ecx
mov eax, esi
shl eax, 5
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
push edi
mov edi, ebp
shr ebp, 0x10
shr edi, 0x18
and ebp, 0x3f
mov eax, dword [eax]
and edi, 0x3f
mov edx, eax
mov dword [esp + 0x44], edi
shr eax, 0x18
and edx, 0x1ff
and eax, 0x3f
mov dword [esp + 0x14], ebp
mov ebx, eax
mov dword [esp + 0x40], eax
shl eax, 2
and ebx, 0xfffffff3
xor ebx, eax
mov ecx, edx
shl ecx, 5
lea eax, [edi*4]
mov dword [esp + 0x18], ecx
and ebx, 0xfffffffc
shl ebx, 4
mov ecx, edi
and ecx, 0xfffffff3
mov edi, dword [esp + 0x20]
xor ecx, eax
and ecx, 0x3c
or ebx, ecx
shl ebx, 4
or ebx, ebp
shl ebx, 9
or ebx, edx
shl ebx, 9
or ebx, esi
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [esp + 0x10], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 0x20a4]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.1006f3c0
mov eax, dword [eax + 4]
test eax, eax
jne 0x10063cdf
mov eax, dword [edi + 0x20a8]
cmp eax, dword [edi + 0x20a8]
je 0x10063cf4
mov eax, dword [eax + 0xc]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 8
push 0x20
push 0x8018
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll__aligned_malloc]
mov ecx, dword [esp + 0x18]
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 8
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], edi
mov dword [edi + 0x8000], ecx
mov ecx, dword [esp + 0x44]
mov dword [edi + 0x8008], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 0x800c], ecx
shl ecx, 7
mov dword [edi + 0x8010], eax
shl eax, 7
mov dword [edi + 0x8014], ebp
mov ebx, dword [ecx + 0x10762100]
mov dword [esp + 0x24], ebx
mov ebx, dword [eax + 0x10762100]
movzx ebp, word [eax + 0x1076213c]
mov dword [esp + 0x28], ebx
movzx ebx, word [ecx + 0x1076213c]
shr ebx, 5
shr ebp, 5
xor esi, esi
mov dword [edi + 0x8004], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], eax
nop word [eax + eax]
push dword [esp + 0x14]
push edx
push esi
push 0
call dword [esp + 0x34]
push dword [esp + 0x24]
mov ecx, ebx
push dword [esp + 0x2c]
shl eax, cl
push esi
push 0
mov dword [edi + esi*8], eax
call dword [esp + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, ebp
shl eax, cl
add esp, 0x20
mov dword [edi + esi*8 + 4], eax
inc esi
cmp esi, 0x800
jl 0x10063d80
mov edx, dword [esp + 0x40]
lea esi, [edi + 0x4004]
mov eax, dword [esp + 0x44]
mov edi, 0x800
mov edx, dword [edx + 0x10762154]
mov eax, dword [eax + 0x10762154]
sub eax, edx
mov dword [esp + 0x40], eax
nop
mov eax, dword [eax + edx]
lea edx, [edx + 4]
mov ecx, ebx
lea esi, [esi + 8]
shl eax, cl
mov ecx, ebp
mov dword [esi - 0xc], eax
mov eax, dword [edx - 4]
shl eax, cl
mov dword [esi - 8], eax
mov eax, dword [esp + 0x40]
sub edi, 1
jne 0x10063de0
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [ecx + 0x20a4]
call fcn.1006bb60
mov edi, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [eax + 0xc], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 8