Function at 0x10058ca0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100abaec
mov eax, dword fs:[0]
push eax
sub esp, 0x6dc
mov eax, dword [0x100cef80]
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.100982ff
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.100104b0
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 0x10058ed0
cmp eax, 0x1fffffff
ja 0x1005918b
lea edi, [eax*8]
cmp edi, 0x1000
jb 0x10058e7e
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x10059190
push eax
call fcn.100982ff
add esp, 4
test eax, eax
je 0x10059195
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x10058e91
test edi, edi
je 0x10058e8f
push edi
call fcn.100982ff
add esp, 4
mov esi, eax
jmp 0x10058e91
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 0x1005907a
nop dword [eax]
push dword [0x10c483b0]
lea eax, [ebp - 0x98]
push dword [0x10c47f9c]
push 0x10
push dword [edi + 4]
push dword [edi]
push eax
call fcn.100798a0
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 0x10059005
mov eax, dword [esi + 4]
push 0x800
push dword [esi]
mov dword [ebp - 0x7c], eax
call fcn.10079570
add esp, 8
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x10058fea
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.1000fdb0
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 0x10058fd9
lea eax, [ebp - 0xd8]
push eax
call fcn.1000fe20
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x10058fea
lea eax, [ebp - 0xe0]
push eax
call fcn.1000fe20
mov eax, dword [eax]
inc dword [eax + 0xc]
add esi, 8
cmp esi, dword [ebp - 0xc8]
jne 0x10058f20
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x84]
mov byte [ebp - 4], 3
test esi, esi
je 0x10059065
mov eax, dword [ebp - 0x90]
sub eax, esi
sar eax, 3
lea ecx, [eax*8]
mov eax, esi
cmp ecx, 0x1000
jb 0x1005903d
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059195
push ecx
push esi
call fcn.1009832f
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 0x10058ee0
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x100590b8
mov edx, dword [ebp - 0x9c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x100590ae
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10059195
push edx
push ecx
call fcn.1009832f
add esp, 8
mov ecx, dword [ebp - 0xc0]
xor edi, edi
xor esi, esi
mov eax, dword [ecx]
cmp eax, ecx
je 0x1005915e
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 0x100590d0
test edi, edi
je 0x1005915e
push 0x608
lea eax, [ebp - 0x6e8]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x6e8], edi
mov ecx, 0x182
mov dword [ebp - 0x6e4], 0
lea esi, [ebp - 0x6e8]
mov dword [ebp - 0x6e0], 4
mov dword [ebp - 0x564], 0x101
push 0x100b9e40
sub esp, 0x608
mov dword [ebp - 0x540], 0x10054b60
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.100041c0
add esp, 0x60c
mov byte [ebp - 0x71], al
jmp 0x10059162
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0xc4]
call fcn.100100b0
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.1009833d
mov esp, ebp
pop ebp
ret
call fcn.10005920
call fcn.100058f0
call fcn.10099820
int3