Function at 0x1000a240
Capabilities:
Hash data using fnv

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