Function at 0x1005a720
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ad67c
mov eax, dword fs:[0]
push eax
sub esp, 0x6d4
mov eax, dword [0x100d0d40]
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.10099d7f
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.100102a0
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 0x1005a950
cmp eax, 0x1fffffff
ja 0x1005ac0b
lea edi, [eax*8]
cmp edi, 0x1000
jb 0x1005a8fe
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1005ac10
push eax
call fcn.10099d7f
add esp, 4
test eax, eax
je 0x1005ac15
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1005a911
test edi, edi
je 0x1005a90f
push edi
call fcn.10099d7f
add esp, 4
mov esi, eax
jmp 0x1005a911
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 0x1005aafa
nop dword [eax]
push dword [0x10c4a3f8]
lea eax, [ebp - 0x98]
push dword [0x10c49fe4]
push 0x10
push dword [edi + 4]
push dword [edi]
push eax
call fcn.1007b640
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 0x1005aa85
mov eax, dword [esi + 4]
push 0x800
push dword [esi]
mov dword [ebp - 0x7c], eax
call fcn.1007b310
add esp, 8
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x1005aa6a
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.1000fba0
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 0x1005aa59
lea eax, [ebp - 0xd8]
push eax
call fcn.1000fc10
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x1005aa6a
lea eax, [ebp - 0xe0]
push eax
call fcn.1000fc10
mov eax, dword [eax]
inc dword [eax + 0xc]
add esi, 8
cmp esi, dword [ebp - 0xc8]
jne 0x1005a9a0
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x84]
mov byte [ebp - 4], 3
test esi, esi
je 0x1005aae5
mov eax, dword [ebp - 0x90]
sub eax, esi
sar eax, 3
lea ecx, [eax*8]
mov eax, esi
cmp ecx, 0x1000
jb 0x1005aabd
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ac15
push ecx
push esi
call fcn.10099daf
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 0x1005a960
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x1005ab38
mov edx, dword [ebp - 0x9c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x1005ab2e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005ac15
push edx
push ecx
call fcn.10099daf
add esp, 8
mov ecx, dword [ebp - 0xc0]
xor edi, edi
xor esi, esi
mov eax, dword [ecx]
cmp eax, ecx
je 0x1005abde
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 0x1005ab50
test edi, edi
je 0x1005abde
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 0x100bbdd0
sub esp, 0x600
mov dword [ebp - 0x538], 0x100565e0
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10003c70
add esp, 0x604
mov byte [ebp - 0x71], al
jmp 0x1005abe2
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0xc4]
call fcn.1000fea0
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.10099dbd
mov esp, ebp
pop ebp
ret
call fcn.100053d0
call fcn.100053a0
call fcn.1009b2a0
int3