Function at 0x1000a150
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002b7ab
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x1003a040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x44c], esi
mov dword [ebp - 0x30], 0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1003c6b0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1003d268]
cmp eax, dword [ecx + 4]
jle 0x1000aae4
push 0x1003d268
call fcn.1000da07
add esp, 4
cmp dword [0x1003d268], 0xffffffff
jne 0x1000aae4
mov dword [ebp - 4], 1
xorps xmm0, xmm0
movups xmmword [0x1003d26c], xmm0
mov dword [ebp - 0x448], 0x82d0
movups xmmword [0x1003d27c], xmm0
mov byte [ebp - 0x444], 0x80
mov dword [ebp - 0x440], 0x83d0
mov byte [ebp - 0x43c], 0x81
mov dword [ebp - 0x438], 0x9a80e2
mov byte [ebp - 0x434], 0x82
mov dword [ebp - 0x430], 0x93d1
mov byte [ebp - 0x42c], 0x83
mov dword [ebp - 0x428], 0x9e80e2
mov byte [ebp - 0x424], 0x84
mov dword [ebp - 0x420], 0xa680e2
mov byte [ebp - 0x41c], 0x85
mov dword [ebp - 0x418], 0xa080e2
mov byte [ebp - 0x414], 0x86
mov dword [ebp - 0x410], 0xa180e2
mov byte [ebp - 0x40c], 0x87
mov dword [ebp - 0x408], 0xac82e2
mov byte [ebp - 0x404], 0x88
mov dword [ebp - 0x400], 0xb080e2
mov byte [ebp - 0x3fc], 0x89
mov dword [ebp - 0x3f8], 0x89d0
mov byte [ebp - 0x3f4], 0x8a
mov dword [ebp - 0x3f0], 0xb980e2
mov byte [ebp - 0x3ec], 0x8b
mov dword [ebp - 0x3e8], 0x8ad0
mov byte [ebp - 0x3e4], 0x8c
mov dword [ebp - 0x3e0], 0x8cd0
mov byte [ebp - 0x3dc], 0x8d
mov dword [ebp - 0x3d8], 0x8bd0
mov byte [ebp - 0x3d4], 0x8e
mov dword [ebp - 0x3d0], 0x8fd0
mov byte [ebp - 0x3cc], 0x8f
mov dword [ebp - 0x3c8], 0x92d1
mov byte [ebp - 0x3c4], 0x90
mov dword [ebp - 0x3c0], 0x9880e2
mov byte [ebp - 0x3bc], 0x91
mov dword [ebp - 0x3b8], 0x9980e2
mov byte [ebp - 0x3b4], 0x92
mov dword [ebp - 0x3b0], 0x9c80e2
mov byte [ebp - 0x3ac], 0x93
mov dword [ebp - 0x3a8], 0x9d80e2
mov byte [ebp - 0x3a4], 0x94
mov dword [ebp - 0x3a0], 0xa280e2
mov byte [ebp - 0x39c], 0x95
mov dword [ebp - 0x398], 0x9380e2
mov byte [ebp - 0x394], 0x96
mov dword [ebp - 0x390], 0x9480e2
mov byte [ebp - 0x38c], 0x97
mov dword [ebp - 0x388], 0
mov byte [ebp - 0x384], 0x98
mov dword [ebp - 0x380], 0xa284e2
mov byte [ebp - 0x37c], 0x99
mov dword [ebp - 0x378], 0x99d1
mov byte [ebp - 0x374], 0x9a
mov dword [ebp - 0x370], 0xba80e2
mov byte [ebp - 0x36c], 0x9b
mov dword [ebp - 0x368], 0x9ad1
mov byte [ebp - 0x364], 0x9c
mov dword [ebp - 0x360], 0x9cd1
mov byte [ebp - 0x35c], 0x9d
mov dword [ebp - 0x358], 0x9bd1
mov byte [ebp - 0x354], 0x9e
mov dword [ebp - 0x350], 0x9fd1
mov byte [ebp - 0x34c], 0x9f
mov dword [ebp - 0x348], 0xa0c2
mov byte [ebp - 0x344], 0xa0
mov dword [ebp - 0x340], 0x8ed0
mov byte [ebp - 0x33c], 0xa1
mov dword [ebp - 0x338], 0x9ed1
mov byte [ebp - 0x334], 0xa2
mov dword [ebp - 0x330], 0x88d0
mov byte [ebp - 0x32c], 0xa3
mov dword [ebp - 0x328], 0xa4c2
mov byte [ebp - 0x324], 0xa4
mov dword [ebp - 0x320], 0x90d2
mov byte [ebp - 0x31c], 0xa5
mov dword [ebp - 0x318], 0xa6c2
mov byte [ebp - 0x314], 0xa6
mov dword [ebp - 0x310], 0xa7c2
mov byte [ebp - 0x30c], 0xa7
mov dword [ebp - 0x308], 0x81d0
mov byte [ebp - 0x304], 0xa8
mov dword [ebp - 0x300], 0xa9c2
mov byte [ebp - 0x2fc], 0xa9
mov dword [ebp - 0x2f8], 0x84d0
mov byte [ebp - 0x2f4], 0xaa
mov dword [ebp - 0x2f0], 0xabc2
mov byte [ebp - 0x2ec], 0xab
mov dword [ebp - 0x2e8], 0xacc2
mov byte [ebp - 0x2e4], 0xac
mov dword [ebp - 0x2e0], 0xadc2
mov byte [ebp - 0x2dc], 0xad
mov dword [ebp - 0x2d8], 0xaec2
mov byte [ebp - 0x2d4], 0xae
mov dword [ebp - 0x2d0], 0x87d0
mov byte [ebp - 0x2cc], 0xaf
mov dword [ebp - 0x2c8], 0xb0c2
mov byte [ebp - 0x2c4], 0xb0
mov dword [ebp - 0x2c0], 0xb1c2
mov byte [ebp - 0x2bc], 0xb1
mov dword [ebp - 0x2b8], 0x86d0
mov byte [ebp - 0x2b4], 0xb2
mov dword [ebp - 0x2b0], 0x96d1
mov byte [ebp - 0x2ac], 0xb3
mov dword [ebp - 0x2a8], 0x91d2
mov byte [ebp - 0x2a4], 0xb4
mov dword [ebp - 0x2a0], 0xb5c2
mov byte [ebp - 0x29c], 0xb5
mov dword [ebp - 0x298], 0xb6c2
mov byte [ebp - 0x294], 0xb6
mov dword [ebp - 0x290], 0xb7c2
mov byte [ebp - 0x28c], 0xb7
mov dword [ebp - 0x288], 0x91d1
mov byte [ebp - 0x284], 0xb8
mov dword [ebp - 0x280], 0x9684e2
mov byte [ebp - 0x27c], 0xb9
mov dword [ebp - 0x278], 0x94d1
mov byte [ebp - 0x274], 0xba
mov dword [ebp - 0x270], 0xbbc2
mov byte [ebp - 0x26c], 0xbb
mov dword [ebp - 0x268], 0x98d1
mov byte [ebp - 0x264], 0xbc
mov dword [ebp - 0x260], 0x85d0
mov byte [ebp - 0x25c], 0xbd
mov dword [ebp - 0x258], 0x95d1
mov byte [ebp - 0x254], 0xbe
mov dword [ebp - 0x250], 0x97d1
mov byte [ebp - 0x24c], 0xbf
mov dword [ebp - 0x248], 0x90d0
mov byte [ebp - 0x244], 0xc0
mov dword [ebp - 0x240], 0x91d0
mov byte [ebp - 0x23c], 0xc1
mov dword [ebp - 0x238], 0x92d0
mov byte [ebp - 0x234], 0xc2
mov dword [ebp - 0x230], 0x93d0
mov byte [ebp - 0x22c], 0xc3
mov dword [ebp - 0x228], 0x94d0
mov byte [ebp - 0x224], 0xc4
mov dword [ebp - 0x220], 0x95d0
mov byte [ebp - 0x21c], 0xc5
mov dword [ebp - 0x218], 0x96d0
mov byte [ebp - 0x214], 0xc6
mov dword [ebp - 0x210], 0x97d0
mov byte [ebp - 0x20c], 0xc7
mov dword [ebp - 0x208], 0x98d0
mov byte [ebp - 0x204], 0xc8
mov dword [ebp - 0x200], 0x99d0
mov byte [ebp - 0x1fc], 0xc9
mov dword [ebp - 0x1f8], 0x9ad0
mov byte [ebp - 0x1f4], 0xca
mov dword [ebp - 0x1f0], 0x9bd0
mov byte [ebp - 0x1ec], 0xcb
mov dword [ebp - 0x1e8], 0x9cd0
mov byte [ebp - 0x1e4], 0xcc
mov dword [ebp - 0x1e0], 0x9dd0
mov byte [ebp - 0x1dc], 0xcd
mov dword [ebp - 0x1d8], 0x9ed0
mov byte [ebp - 0x1d4], 0xce
mov dword [ebp - 0x1d0], 0x9fd0
mov byte [ebp - 0x1cc], 0xcf
mov dword [ebp - 0x1c8], 0xa0d0
mov byte [ebp - 0x1c4], 0xd0
mov dword [ebp - 0x1c0], 0xa1d0
mov byte [ebp - 0x1bc], 0xd1
mov dword [ebp - 0x1b8], 0xa2d0
mov byte [ebp - 0x1b4], 0xd2
mov dword [ebp - 0x1b0], 0xa3d0
mov byte [ebp - 0x1ac], 0xd3
mov dword [ebp - 0x1a8], 0xa4d0
mov byte [ebp - 0x1a4], 0xd4
mov dword [ebp - 0x1a0], 0xa5d0
mov byte [ebp - 0x19c], 0xd5
mov dword [ebp - 0x198], 0xa6d0
mov byte [ebp - 0x194], 0xd6
mov dword [ebp - 0x190], 0xa7d0
mov byte [ebp - 0x18c], 0xd7
mov dword [ebp - 0x188], 0xa8d0
mov byte [ebp - 0x184], 0xd8
mov dword [ebp - 0x180], 0xa9d0
mov byte [ebp - 0x17c], 0xd9
mov dword [ebp - 0x178], 0xaad0
mov byte [ebp - 0x174], 0xda
mov dword [ebp - 0x170], 0xabd0
mov byte [ebp - 0x16c], 0xdb
mov dword [ebp - 0x168], 0xacd0
mov byte [ebp - 0x164], 0xdc
mov dword [ebp - 0x160], 0xadd0
mov byte [ebp - 0x15c], 0xdd
mov dword [ebp - 0x158], 0xaed0
mov byte [ebp - 0x154], 0xde
mov dword [ebp - 0x150], 0xafd0
mov byte [ebp - 0x14c], 0xdf
mov dword [ebp - 0x148], 0xb0d0
mov byte [ebp - 0x144], 0xe0
mov dword [ebp - 0x140], 0xb1d0
mov byte [ebp - 0x13c], 0xe1
mov dword [ebp - 0x138], 0xb2d0
mov byte [ebp - 0x134], 0xe2
mov dword [ebp - 0x130], 0xb3d0
mov byte [ebp - 0x12c], 0xe3
mov dword [ebp - 0x128], 0xb4d0
mov byte [ebp - 0x124], 0xe4
mov dword [ebp - 0x120], 0xb5d0
mov byte [ebp - 0x11c], 0xe5
mov dword [ebp - 0x118], 0xb6d0
mov byte [ebp - 0x114], 0xe6
mov dword [ebp - 0x110], 0xb7d0
mov byte [ebp - 0x10c], 0xe7
mov dword [ebp - 0x108], 0xb8d0
mov byte [ebp - 0x104], 0xe8
mov dword [ebp - 0x100], 0xb9d0
mov byte [ebp - 0xfc], 0xe9
mov dword [ebp - 0xf8], 0xbad0
mov byte [ebp - 0xf4], 0xea
mov dword [ebp - 0xf0], 0xbbd0
mov byte [ebp - 0xec], 0xeb
mov dword [ebp - 0xe8], 0xbcd0
mov byte [ebp - 0xe4], 0xec
mov dword [ebp - 0xe0], 0xbdd0
mov byte [ebp - 0xdc], 0xed
mov dword [ebp - 0xd8], 0xbed0
mov byte [ebp - 0xd4], 0xee
mov dword [ebp - 0xd0], 0xbfd0
mov byte [ebp - 0xcc], 0xef
mov dword [ebp - 0xc8], 0x80d1
mov byte [ebp - 0xc4], 0xf0
mov dword [ebp - 0xc0], 0x81d1
mov byte [ebp - 0xbc], 0xf1
mov dword [ebp - 0xb8], 0x82d1
mov byte [ebp - 0xb4], 0xf2
mov dword [ebp - 0xb0], 0x83d1
mov byte [ebp - 0xac], 0xf3
mov dword [ebp - 0xa8], 0x84d1
mov byte [ebp - 0xa4], 0xf4
mov dword [ebp - 0xa0], 0x85d1
mov byte [ebp - 0x9c], 0xf5
mov dword [ebp - 0x98], 0x86d1
mov byte [ebp - 0x94], 0xf6
push 0x10
mov dword [ebp - 0x90], 0x87d1
lea edi, [ebp - 0x48]
mov byte [ebp - 0x8c], 0xf7
mov dword [ebp - 0x88], 0x88d1
mov byte [ebp - 0x84], 0xf8
mov dword [ebp - 0x80], 0x89d1
mov byte [ebp - 0x7c], 0xf9
mov dword [ebp - 0x78], 0x8ad1
mov byte [ebp - 0x74], 0xfa
mov dword [ebp - 0x70], 0x8bd1
mov byte [ebp - 0x6c], 0xfb
mov dword [ebp - 0x68], 0x8cd1
mov byte [ebp - 0x64], 0xfc
mov dword [ebp - 0x60], 0x8dd1
mov byte [ebp - 0x5c], 0xfd
mov dword [ebp - 0x58], 0x8ed1
mov byte [ebp - 0x54], 0xfe
mov dword [ebp - 0x50], 0x8fd1
mov byte [ebp - 0x4c], 0xff
mov dword [0x1003d26c], 0
mov dword [0x1003d270], 0
mov dword [0x1003d274], 0
call fcn.1000da6b
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x1003d270], eax
mov dword [0x1003d278], 0
mov dword [0x1003d27c], 0
mov dword [0x1003d280], 0
mov byte [ebp - 4], 3
mov ecx, 0x1003d278
push eax
push 0x10
mov dword [0x1003d284], 7
mov dword [0x1003d288], 8
mov dword [0x1003d26c], 0x3f800000
call fcn.1000b290
push edi
lea eax, [ebp - 0x448]
mov byte [ebp - 4], 4
push eax
call fcn.1000b960
push 0x1002c250
call fcn.1000dda0
push 0x1003d268
call fcn.1000d9b6
add esp, 8
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
shr eax, 1
mov dword [ebp - 0x30], 1
cmp eax, 0xf
jbe 0x1000ab37
mov byte [ebp - 0x18], 0
mov ecx, esi
push dword [ebp - 0x18]
push eax
call fcn.1000b6d0
mov dword [esi + 0x10], 0
xor edi, edi
mov dword [ebp - 0x14], edi
cmp dword [ebp + 0xc], edi
jbe 0x1000ae70
mov edx, dword [ebp + 8]
mov cl, byte [edi + edx]
mov byte [ebp - 0x28], cl
cmp cl, 0x7f
ja 0x1000ab87
mov edx, dword [esi + 0x10]
cmp edx, dword [esi + 0x14]
jae 0x1000ab78
cmp dword [esi + 0x14], 0xf
lea eax, [edx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
jbe 0x1000ab6b
mov eax, dword [esi]
mov byte [eax + edx], cl
mov byte [eax + edx + 1], 0
jmp 0x1000ae24
push dword [ebp - 0x28]
mov byte [ebp - 0x34], 0
push dword [ebp - 0x34]
jmp 0x1000ae1b
mov al, cl
and al, 0xe0
cmp al, 0xc0
jne 0x1000ac87
mov eax, dword [ebp + 0xc]
dec eax
cmp edi, eax
jae 0x1000ae33
movzx ecx, byte [edi + edx + 1]
movzx eax, byte [ebp - 0x28]
mov edx, ecx
shl edx, 8
or edx, eax
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], edx
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 0x10
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x454]
push eax
call fcn.1000c1a0
mov edx, dword [0x1003d270]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + 4]
test eax, eax
cmovne edx, eax
cmp edx, dword [0x1003d270]
jne 0x1000ac41
mov edx, dword [esi + 0x14]
cmp ecx, edx
jae 0x1000ac29
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000ac1d
mov eax, dword [esi]
mov word [eax + ecx], 0x3f
inc edi
jmp 0x1000ae24
push 0x3f
mov byte [ebp - 0x38], 0
mov ecx, esi
push dword [ebp - 0x38]
push 1
call fcn.1000b7f0
inc edi
jmp 0x1000ae24
mov al, byte [edx + 0xc]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x1c], al
cmp ecx, edx
jae 0x1000ac6e
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000ac5d
mov eax, dword [esi]
mov dl, byte [ebp - 0x1c]
inc edi
mov byte [eax + ecx], dl
mov byte [eax + ecx + 1], 0
jmp 0x1000ae24
push dword [ebp - 0x1c]
mov byte [ebp - 0x3c], 0
mov ecx, esi
push dword [ebp - 0x3c]
push 1
call fcn.1000b7f0
inc edi
jmp 0x1000ae24
mov al, cl
and al, 0xf0
cmp al, 0xe0
jne 0x1000ada9
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffe
cmp edi, eax
jae 0x1000ae54
mov eax, dword [ebp - 0x14]
movzx edi, byte [edi + edx + 2]
movzx edx, byte [eax + edx + 1]
mov eax, edi
shl eax, 8
or edx, eax
movzx eax, cl
mov esi, edx
shl esi, 8
or esi, eax
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, dl
mov dword [ebp - 0x20], esi
shr esi, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
xor eax, edi
imul eax, eax, 0x1000193
xor eax, esi
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x45c]
push eax
call fcn.1000c1a0
mov edx, dword [0x1003d270]
mov esi, dword [ebp - 0x2c]
mov eax, dword [eax + 4]
test eax, eax
mov ecx, dword [esi + 0x10]
cmovne edx, eax
cmp edx, dword [0x1003d270]
jne 0x1000ad5c
mov edx, dword [esi + 0x14]
cmp ecx, edx
jae 0x1000ad3f
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000ad2e
mov eax, dword [esi]
mov edi, dword [ebp - 0x14]
mov word [eax + ecx], 0x3f
add edi, 2
jmp 0x1000ae24
push 0x3f
mov byte [ebp - 0x40], 0
mov ecx, esi
push dword [ebp - 0x40]
push 1
call fcn.1000b7f0
mov edi, dword [ebp - 0x14]
add edi, 2
jmp 0x1000ae24
mov al, byte [edx + 0xc]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x18], al
cmp ecx, edx
jae 0x1000ad8e
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000ad78
mov eax, dword [esi]
mov dl, byte [ebp - 0x18]
mov edi, dword [ebp - 0x14]
mov byte [eax + ecx], dl
add edi, 2
mov byte [eax + ecx + 1], 0
jmp 0x1000ae24
push dword [ebp - 0x18]
mov byte [ebp - 0x44], 0
mov ecx, esi
push dword [ebp - 0x44]
push 1
call fcn.1000b7f0
mov edi, dword [ebp - 0x14]
add edi, 2
jmp 0x1000ae24
mov edx, dword [esi + 0x10]
and cl, 0xf8
mov eax, dword [esi + 0x14]
cmp cl, 0xf0
jne 0x1000adf6
mov ecx, esi
cmp edx, eax
jae 0x1000add3
cmp dword [esi + 0x14], 0xf
lea eax, [edx + 1]
mov dword [esi + 0x10], eax
jbe 0x1000adcb
mov ecx, dword [esi]
mov word [ecx + edx], 0x3f
jmp 0x1000ade3
push 0x3f
mov byte [ebp - 0x48], 0
push dword [ebp - 0x48]
push 1
call fcn.1000b7f0
mov eax, dword [ebp + 0xc]
add eax, 0xfffffffd
cmp edi, eax
jae 0x1000ae70
add edi, 3
jmp 0x1000ae24
cmp edx, eax
jae 0x1000ae12
cmp dword [esi + 0x14], 0xf
lea eax, [edx + 1]
mov dword [esi + 0x10], eax
mov ecx, esi
jbe 0x1000ae0a
mov ecx, dword [esi]
mov word [ecx + edx], 0x3f
jmp 0x1000ae24
mov byte [ebp - 0x24], 0
push 0x3f
push dword [ebp - 0x24]
push 1
mov ecx, esi
call fcn.1000b7f0
inc edi
mov dword [ebp - 0x14], edi
cmp edi, dword [ebp + 0xc]
jb 0x1000ab45
jmp 0x1000ae70
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jae 0x1000ae5e
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000ae4c
mov eax, dword [esi]
mov word [eax + ecx], 0x3f
jmp 0x1000ae70
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp ecx, edx
jb 0x1000ae3d
push 0x3f
mov byte [ebp - 0x24], 0
mov ecx, esi
push dword [ebp - 0x24]
push 1
call fcn.1000b7f0
mov eax, esi
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.1000d97d
mov esp, ebp
pop ebp
ret