Function at 0x10052940
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x10149040]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x24c8], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [edx + 0x24cc], ecx
mov edx, dword [ebp + 8]
add edx, 0xc
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0xc]
add eax, 0x24d8
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x24d0], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x24d0]
and edx, 0x80
jne 0x10052a2c
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x24d0]
and ecx, 8
jne 0x10052a2c
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x24d0]
and eax, 0x10
jne 0x10052a2c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x24d0]
and edx, 0x100
jne 0x10052a2c
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x24d0]
and ecx, 0x200
jne 0x10052a2c
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x24d0]
and eax, 0x400
jne 0x10052a2c
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x24d0]
and edx, 2
jne 0x10052a2c
mov dword [ebp - 0x7c], 0
jmp 0x10052a33
mov dword [ebp - 0x7c], 1
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp - 0x7c]
mov byte [eax + 0x2468], cl
mov edx, dword [0x101b2b74]
mov dword [ebp - 0x3c], edx
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx]
mov dword [ebp - 0xac], eax
mov ecx, 0xc
shl ecx, 2
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + ecx]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x3c]
call dword [ebp - 0xbc]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xdc], ecx
mov edx, dword [0x101b2b78]
mov dword [ebp - 0x44], edx
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov dword [ecx], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x1f0], ecx
mov edx, dword [ebp - 0xc8]
mov eax, dword [edx]
mov dword [ebp - 0xcc], eax
mov ecx, 3
shl ecx, 2
mov edx, dword [ebp - 0xcc]
mov eax, dword [edx + ecx]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xdc]
push ecx
mov ecx, dword [ebp - 0x44]
call dword [ebp - 0xe0]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x910], edx
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x910], 0
jne 0x10052b80
jmp 0x1005331c
mov edx, dword [0x101b2bec]
cmp dword [edx + 0x174], 0
jge 0x10052b9c
push 0
mov ecx, 0x101c0be8
call fcn.100f5350
nop
mov eax, dword [0x101c3a64]
and eax, 1
jne 0x10052cdb
mov ecx, dword [0x101c3a64]
or ecx, 1
mov dword [0x101c3a64], ecx
xor edx, edx
mov byte [ebp - 0x1d], dl
mov dword [ebp - 0x1f4], 0x2437fe
mov dword [ebp - 0xe8], 0x2437fe
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xfc], eax
mov ecx, dword [0x101b2b70]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x10052c08
mov dword [ebp - 0x30], 0
jmp 0x10052cd3
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x18], ecx
jmp 0x10052c19
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x10052ccc
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x2c], 0x811c9dc5
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x14]
movsx edx, byte [ecx]
test edx, edx
je 0x10052c52
jmp 0x10052c3a
xor eax, eax
je 0x10052c5f
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x1c], 0
jmp 0x10052c86
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
cmp edx, dword [ebp - 0xf4]
jae 0x10052ca8
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x1c]
movsx ecx, byte [eax]
xor ecx, dword [ebp - 0x2c]
imul edx, ecx, 0x1000193
mov dword [ebp - 0x2c], edx
jmp 0x10052c7d
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [ebp - 0xfc]
jne 0x10052cc7
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x30], edx
jmp 0x10052cd3
jmp 0x10052c10
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
mov dword [0x101c3a60], eax
cmp dword [0x101c3a60], 0
je 0x10052dbd
mov ecx, dword [0x101c3a60]
mov dword [ebp - 0x54], ecx
lea edx, [ebp - 0x104]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx]
mov dword [ebp - 0x108], edx
mov eax, 0xd
shl eax, 2
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], edx
mov ecx, dword [ebp - 0x54]
call dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
sub eax, 2
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0x58]
jge 0x10052d92
lea edx, [ebp - 0x58]
mov dword [ebp - 0x60], edx
jmp 0x10052d98
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x124], edx
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax]
mov dword [0x101ad818], ecx
jmp 0x10052dc7
mov dword [0x101ad818], 0xe
mov edx, dword [ebp - 0xc]
mov eax, dword [0x101b2bec]
mov ecx, dword [eax + 0x4cb0]
mov dword [edx + 0x2494], ecx
call fcn.10051fd0
mov edx, dword [0x101b2be4]
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
mov dword [ecx], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x12c]
mov eax, dword [edx]
mov dword [ebp - 0x130], eax
mov ecx, 9
shl ecx, 2
mov edx, dword [ebp - 0x130]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x134], eax
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x140], eax
push 0
mov ecx, dword [ebp - 0x68]
call dword [ebp - 0x140]
fstp dword [ebp - 0x144]
movss xmm0, dword [ebp - 0x144]
mov ecx, dword [ebp - 0xc]
movss dword [ecx + 0x24ac], xmm0
mov edx, dword [0x101b2be4]
mov dword [ebp - 0x70], edx
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
mov dword [ecx], edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x14c]
mov eax, dword [edx]
mov dword [ebp - 0x150], eax
mov ecx, 9
shl ecx, 2
mov edx, dword [ebp - 0x150]
mov eax, dword [edx + ecx]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x160], eax
push 2
mov ecx, dword [ebp - 0x70]
call dword [ebp - 0x160]
fstp dword [ebp - 0x164]
movss xmm0, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xc]
movss dword [ecx + 0x24b0], xmm0
movss xmm0, dword [0x1013df68]
movss dword [ebp - 0x74], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x80], xmm0
mov edx, dword [ebp - 0xc]
add edx, 0x24ac
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax]
comiss xmm0, dword [ebp - 0x74]
jbe 0x10052f4e
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x78], ecx
jmp 0x10052f54
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x90]
movss xmm0, dword [eax]
comiss xmm0, dword [ebp - 0x80]
jbe 0x10052f93
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x84], ecx
jmp 0x10052f9c
lea edx, [ebp - 0x80]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x174], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [0x101b2bd8]
movss xmm0, dword [edx + 0x24ac]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x1013df40]
cvttss2si ecx, xmm0
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x24b4], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x101b2bec]
mov eax, dword [edx + 0x16c]
mov dword [ecx + 0x24b8], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x24b8]
mov eax, dword [ebp - 0xc]
add edx, dword [eax + 0x24b4]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 0x24bc], edx
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x3f6c], 0
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0x910], 0
je 0x100530c1
mov ecx, dword [0x101bd7c4]
sub ecx, 0x36
xor ecx, 0x1e7744e
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x180]
add ecx, dword [eax + 0x910]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x188]
cmp dword [eax], 0
jne 0x1005309a
mov dword [ebp - 0x88], 1
jmp 0x100530a4
mov dword [ebp - 0x88], 0
mov cl, byte [ebp - 0x88]
mov byte [ebp - 0x10], cl
movzx edx, byte [ebp - 0x10]
test edx, edx
je 0x100530c1
mov dword [ebp - 0x8c], 1
jmp 0x100530cb
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0xc]
mov cl, byte [ebp - 0x8c]
mov byte [eax + 0x914], cl
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx + 0x914]
test eax, eax
jne 0x100530ed
jmp 0x1005331c
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.10055c60
nop
mov dword [ebp - 8], 0
mov dword [ebp - 0x18c], 0x101bc770
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 4]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x198], ecx
lea edx, [ebp - 0x198]
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax]
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1a0], 0x101bc770
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], ecx
lea edx, [ebp - 0x1ac]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [eax]
mov dword [ebp - 0x1bc], ecx
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0x1bc]
push ecx
lea edx, [ebp - 0x20c]
push edx
call fcn.10031b80
add esp, 0x10
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1c0], 0x101bc770
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], edx
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x1005326c
mov dword [ebp - 0x9c], 1
jmp 0x10053276
mov dword [ebp - 0x9c], 0
mov dl, byte [ebp - 0x9c]
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xd]
test eax, eax
jne 0x10053293
mov dword [ebp - 0xa0], 1
jmp 0x1005329d
mov dword [ebp - 0xa0], 0
mov cl, byte [ebp - 0xa0]
mov byte [ebp - 0xe], cl
mov dl, byte [ebp - 0xe]
mov byte [ebp - 0xf], dl
movzx eax, byte [ebp - 0xf]
test eax, eax
je 0x100532bf
mov ecx, 0x101c0be8
call fcn.100f51a0
nop
mov ecx, dword [0x101bd7c8]
sub ecx, 0x37
xor ecx, 0x1e7744f
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1e0]
add ecx, dword [eax + 0x910]
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ecx]
mov dword [eax + 0x918], edx
mov eax, dword [ebp - 0xc]
mov byte [eax + 0x929], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10129ea9
mov esp, ebp
pop ebp
ret 4