Function at 0x1000bd60
Capabilities:
Hash data using fnv

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