Function at 0x1005baf0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100afe8c
mov eax, dword fs:[0]
push eax
sub esp, 0x6d4
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.1009c60f
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.10010230
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 0x1005bd20
cmp eax, 0x1fffffff
ja 0x1005bfe5
lea edi, [eax*8]
cmp edi, 0x1000
jb 0x1005bcce
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1005bfea
push eax
call fcn.1009c60f
add esp, 4
test eax, eax
je 0x1005bfef
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1005bce1
test edi, edi
je 0x1005bcdf
push edi
call fcn.1009c60f
add esp, 4
mov esi, eax
jmp 0x1005bce1
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 0x1005beca
nop dword [eax]
push dword [0x10c4d428]
lea eax, [ebp - 0x98]
push dword [0x10c4d014]
push 0x10
push dword [edi + 4]
push dword [edi]
push eax
call fcn.1007e930
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 0x1005be55
mov eax, dword [esi + 4]
push 0x800
push dword [esi]
mov dword [ebp - 0x7c], eax
call fcn.1007f310
add esp, 8
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x1005be3a
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.1000fb20
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 0x1005be29
lea eax, [ebp - 0xd8]
push eax
call fcn.1000fb90
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x1005be3a
lea eax, [ebp - 0xe0]
push eax
call fcn.1000fb90
mov eax, dword [eax]
inc dword [eax + 0xc]
add esi, 8
cmp esi, dword [ebp - 0xc8]
jne 0x1005bd70
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x84]
mov byte [ebp - 4], 3
test esi, esi
je 0x1005beb5
mov eax, dword [ebp - 0x90]
sub eax, esi
sar eax, 3
lea ecx, [eax*8]
mov eax, esi
cmp ecx, 0x1000
jb 0x1005be8d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005bfef
push ecx
push esi
call fcn.1009c63f
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 0x1005bd30
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x1005bf08
mov edx, dword [ebp - 0x9c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x1005befe
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005bfef
push edx
push ecx
call fcn.1009c63f
add esp, 8
mov ecx, dword [ebp - 0xc0]
xor edi, edi
xor esi, esi
mov eax, dword [ecx]
cmp eax, ecx
je 0x1005bfb8
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 0x1005bf20
test edi, edi
je 0x1005bfb8
push 0x600
lea eax, [ebp - 0x6e0]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x6e0], edi
mov ecx, 0x180
mov dword [ebp - 0x6dc], 0
lea esi, [ebp - 0x6e0]
mov dword [ebp - 0x6d8], 4
mov dword [ebp - 0x560], 0x101
push 0x100bf000
sub esp, 0x600
mov dword [ebp - 0x55c], 0
mov edi, esp
mov dword [ebp - 0x538], 0x10057880
rep movsd dword es:[edi], dword [esi]
call fcn.10003c20
add esp, 0x604
mov byte [ebp - 0x71], al
jmp 0x1005bfbc
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0xc4]
call fcn.1000fe20
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.1009c64d
mov esp, ebp
pop ebp
ret
call fcn.10007fc0
call fcn.10005060
call fcn.1009db30
int3