Function at 0x1005bd50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b065c
mov eax, dword fs:[0]
push eax
sub esp, 0x6cc
mov eax, dword [0x100d3cc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x10
mov dword [ebp - 0x18], 0xf0fe81
mov word [ebp - 0x14], 0
mov dword [ebp - 0x20], 0xf8fe81
mov word [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0xfcfe81
mov word [ebp - 0x24], 0
mov dword [ebp - 0x30], 0xfefe81
mov word [ebp - 0x2c], 0
mov dword [ebp - 0x38], 0x80fe81
mov word [ebp - 0x34], 0
mov dword [ebp - 0x40], 0xe0fe81
mov word [ebp - 0x3c], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
call fcn.1009ce1f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
push eax
push 0x10
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 1
mov dword [ebp - 0xac], 7
mov dword [ebp - 0xa8], 8
mov dword [ebp - 0xc4], 0x3f800000
call fcn.10010500
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 2
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x6c], 6
mov dword [ebp - 0x68], eax
lea esi, [ebp - 0x40]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x64], 6
mov dword [ebp - 0x60], eax
sub esi, ecx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x5c], 6
mov dword [ebp - 0x58], eax
xor edi, edi
lea eax, [ebp - 0x38]
mov dword [ebp - 0x54], 6
mov dword [ebp - 0x50], eax
xor ecx, ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov eax, esi
sar eax, 3
mov dword [ebp - 0x44], 6
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x8c], ecx
test eax, eax
je 0x1005bf80
cmp eax, 0x1fffffff
ja 0x1005c245
lea edi, [eax*8]
cmp edi, 0x1000
jb 0x1005bf2e
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1005c24a
push eax
call fcn.1009ce1f
add esp, 4
test eax, eax
je 0x1005c24f
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1005bf41
test edi, edi
je 0x1005bf3f
push edi
call fcn.1009ce1f
add esp, 4
mov esi, eax
jmp 0x1005bf41
xor esi, esi
push dword [ebp - 0x88]
lea eax, [esi + edi]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x70]
push eax
push esi
mov dword [ebp - 0xa4], esi
call sub.msvcrt.dll_memmove
mov eax, dword [ebp - 0x7c]
add esp, 0xc
mov edi, esi
mov dword [ebp - 0x84], esi
lea ecx, [esi + eax*8]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xa0], ecx
mov byte [ebp - 4], 3
cmp edi, ecx
je 0x1005c12a
nop dword [eax]
push dword [0x10c4d430]
lea eax, [ebp - 0x98]
push dword [0x10c4d01c]
push 0x10
push dword [edi + 4]
push dword [edi]
push eax
call fcn.1007ee60
add esp, 0x18
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x98]
mov byte [ebp - 4], 4
mov dword [ebp - 0xc8], eax
cmp esi, eax
je 0x1005c0b5
mov eax, dword [esi + 4]
push 0x800
push dword [esi]
mov dword [ebp - 0x7c], eax
call fcn.1007f840
add esp, 8
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x1005c09a
mov edi, dword [ebp - 0x7c]
mov ecx, eax
shr ecx, 8
movzx edx, cl
movzx ecx, al
mov dword [ebp - 0x88], eax
xor ecx, 0x811c9dc5
imul eax, ecx, 0x1000193
xor edx, eax
mov eax, edi
shr eax, 0x10
movzx eax, al
imul ecx, edx, 0x1000193
xor ecx, eax
mov eax, edi
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.1000fdf0
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x7c], edi
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x7c]
cmp ecx, dword [ebp - 0xc0]
lea ecx, [ebp - 0xc4]
push eax
jne 0x1005c089
lea eax, [ebp - 0xd8]
push eax
call fcn.1000fe60
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x1005c09a
lea eax, [ebp - 0xe0]
push eax
call fcn.1000fe60
mov eax, dword [eax]
inc dword [eax + 0xc]
add esi, 8
cmp esi, dword [ebp - 0xc8]
jne 0x1005bfd0
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x84]
mov byte [ebp - 4], 3
test esi, esi
je 0x1005c115
mov eax, dword [ebp - 0x90]
sub eax, esi
sar eax, 3
lea ecx, [eax*8]
mov eax, esi
cmp ecx, 0x1000
jb 0x1005c0ed
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005c24f
push ecx
push esi
call fcn.1009ce4f
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
add edi, 8
mov dword [ebp - 0x84], edi
cmp edi, dword [ebp - 0x8c]
jne 0x1005bf90
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x1005c168
mov edx, dword [ebp - 0x9c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x1005c15e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005c24f
push edx
push ecx
call fcn.1009ce4f
add esp, 8
mov ecx, dword [ebp - 0xc0]
xor edi, edi
xor esi, esi
mov eax, dword [ecx]
cmp eax, ecx
je 0x1005c218
nop dword [eax]
mov edx, dword [eax + 0xc]
cmp edx, esi
mov ecx, dword [eax + 8]
mov eax, dword [eax]
cmovle ecx, edi
cmovle edx, esi
mov edi, ecx
mov esi, edx
cmp eax, dword [ebp - 0xc0]
jne 0x1005c180
test edi, edi
je 0x1005c218
push 0x5f8
lea eax, [ebp - 0x6d8]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x6d8], edi
mov ecx, 0x17e
mov dword [ebp - 0x6d4], 0
lea esi, [ebp - 0x6d8]
mov dword [ebp - 0x6d0], 4
mov dword [ebp - 0x558], 0x101
push 0x100bf044
sub esp, 0x5f8
mov dword [ebp - 0x554], 0
mov edi, esp
mov dword [ebp - 0x530], 0x10057810
rep movsd dword es:[edi], dword [esi]
call fcn.10003c20
add esp, 0x5fc
mov byte [ebp - 0x71], al
jmp 0x1005c21c
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0xc4]
call fcn.100100f0
mov al, byte [ebp - 0x71]
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.1009ce5d
mov esp, ebp
pop ebp
ret
call fcn.10007f60
call fcn.10005040
call fcn.1009e340
int3