Function at 0x10059f50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100adc2c
mov eax, dword fs:[0]
push eax
sub esp, 0x6d4
mov eax, dword [0x100d0cc0]
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.1009a3ff
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.10010040
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 0x1005a180
cmp eax, 0x1fffffff
ja 0x1005a43b
lea edi, [eax*8]
cmp edi, 0x1000
jb 0x1005a12e
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1005a440
push eax
call fcn.1009a3ff
add esp, 4
test eax, eax
je 0x1005a445
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1005a141
test edi, edi
je 0x1005a13f
push edi
call fcn.1009a3ff
add esp, 4
mov esi, eax
jmp 0x1005a141
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 0x1005a32a
nop dword [eax]
push dword [0x10c4a368]
lea eax, [ebp - 0x98]
push dword [0x10c49f54]
push 0x10
push dword [edi + 4]
push dword [edi]
push eax
call fcn.1007c720
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 0x1005a2b5
mov eax, dword [esi + 4]
push 0x800
push dword [esi]
mov dword [ebp - 0x7c], eax
call fcn.1007d100
add esp, 8
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x1005a29a
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.1000f940
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 0x1005a289
lea eax, [ebp - 0xd8]
push eax
call fcn.1000f9b0
mov eax, dword [eax]
mov dword [eax + 0xc], 1
jmp 0x1005a29a
lea eax, [ebp - 0xe0]
push eax
call fcn.1000f9b0
mov eax, dword [eax]
inc dword [eax + 0xc]
add esi, 8
cmp esi, dword [ebp - 0xc8]
jne 0x1005a1d0
mov esi, dword [ebp - 0x98]
mov edi, dword [ebp - 0x84]
mov byte [ebp - 4], 3
test esi, esi
je 0x1005a315
mov eax, dword [ebp - 0x90]
sub eax, esi
sar eax, 3
lea ecx, [eax*8]
mov eax, esi
cmp ecx, 0x1000
jb 0x1005a2ed
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a445
push ecx
push esi
call fcn.1009a42f
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 0x1005a190
mov ecx, dword [ebp - 0x78]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x1005a368
mov edx, dword [ebp - 0x9c]
mov eax, ecx
sub edx, ecx
and edx, 0xfffffff8
cmp edx, 0x1000
jb 0x1005a35e
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005a445
push edx
push ecx
call fcn.1009a42f
add esp, 8
mov ecx, dword [ebp - 0xc0]
xor edi, edi
xor esi, esi
mov eax, dword [ecx]
cmp eax, ecx
je 0x1005a40e
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 0x1005a380
test edi, edi
je 0x1005a40e
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 0x100bbfe0
sub esp, 0x600
mov dword [ebp - 0x538], 0x10055d50
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10003c20
add esp, 0x604
mov byte [ebp - 0x71], al
jmp 0x1005a412
mov byte [ebp - 0x71], 0
lea ecx, [ebp - 0xc4]
call fcn.1000fc40
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.1009a43d
mov esp, ebp
pop ebp
ret
call fcn.10007f40
call fcn.100050a0
call fcn.1009b920
int3