Function at 0x1001b620
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
mov eax, dword [0x100e4280]
xor eax, esp
mov dword [esp + 0x134], eax
mov edx, dword [0x100ea3a0]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [esp + 4], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
push esi
push edi
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x100ea6ac
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.10009550
mov esi, dword [eax + 4]
mov eax, dword [0x100ea6b0]
test esi, esi
jne 0x1001b6a5
mov esi, eax
cmp esi, eax
jne 0x1001b6c1
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.100935c2
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov esi, dword [esi + 0xc]
mov edi, dword [0x100ea0dc]
mov dword [esp + 0x1c], esi
mov ecx, dword [eax + 0x90]
add ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esi + 0x2064]
mov dword [esp + 0x10], ecx
mov eax, dword [ecx]
cmp eax, ecx
je 0x1001b803
mov esi, dword [eax + 0x20]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx + 0x244]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0xf0], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0xf4], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0xf8], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0xfc], ecx
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x100], ecx
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x104], ecx
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x108], ecx
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x10c], ecx
mov ecx, dword [edx + 0x30]
mov dword [esp + 0x110], ecx
mov ecx, dword [edx + 0x34]
mov dword [esp + 0x114], ecx
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x118], ecx
mov ecx, dword [edx + 0x3c]
mov dword [esp + 0x11c], ecx
mov ecx, dword [edx + 0x40]
mov dword [esp + 0x120], ecx
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x124], ecx
mov ecx, dword [edx + 0x48]
mov dword [esp + 0x128], ecx
mov ecx, dword [edx + 0x4c]
lea edx, [esp + 0xb0]
mov dword [esp + 0x12c], ecx
lea ecx, [esp + 0xf0]
call fcn.1000f680
mov ecx, dword [esi + 0x2c]
mov esi, edx
mov edx, dword [esp + 0xc]
lea edi, [ecx + ecx*2]
mov ecx, 0xc
shl edi, 4
add edi, dword [0x100ea0dc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 0x2c]
lea esi, [esp + 0xb0]
lea edi, [ecx + ecx*2]
mov ecx, 0xc
shl edi, 4
add edi, dword [0x100ea158]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax]
cmp eax, dword [esp + 0x10]
jne 0x1001b6f1
mov esi, dword [esp + 0x1c]
mov edi, dword [0x100ea0dc]
mov eax, dword [esi + 0x58]
xor ecx, ecx
mov edx, dword [esi + 0x54]
sub eax, edx
sar eax, 2
mov dword [esp + 0xc], ecx
test eax, eax
je 0x1001bc28
lea esp, [esp]
mov edx, dword [edx + ecx*4]
cmp edx, 0xffffffff
je 0x1001bc10
mov ecx, dword [esp + 0x4c]
imul eax, edx, 0x70
mov eax, dword [eax + ecx + 0x20]
mov ecx, 0xc
lea esi, [eax + eax*2]
mov eax, edx
shl esi, 4
add esi, edi
shl eax, 6
lea edi, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
fld dword [eax + esi + 0x94]
fld dword [esp + 0xb4]
fstp qword [esp + 0x38]
fld dword [eax + esi + 0x90]
fld dword [esp + 0xb0]
fstp qword [esp + 0x40]
fld dword [eax + esi + 0x98]
fld dword [esp + 0xb8]
fstp qword [esp + 0x20]
fld dword [esp + 0xc4]
fld dword [esp + 0xc0]
fst qword [esp + 0x28]
fld dword [esp + 0xc8]
fstp qword [esp + 0x30]
fld dword [esp + 0xd4]
fstp qword [esp + 0x60]
fld dword [esp + 0xd0]
fstp qword [esp + 0x58]
fld dword [esp + 0xd8]
fstp qword [esp + 0x98]
fld st(3)
fmul qword [esp + 0x40]
fld st(5)
fmul qword [esp + 0x38]
faddp st(1)
fld st(3)
fmul qword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [esp + 0xbc]
fstp dword [esp + 0x80]
fmul st(3)
fld st(4)
fmul st(2)
faddp st(1)
fld st(2)
fmul qword [esp + 0x30]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [esp + 0xcc]
fstp dword [esp + 0x84]
fld qword [esp + 0x58]
fmulp st(3)
fld qword [esp + 0x60]
fmulp st(4)
fxch st(2)
faddp st(3)
fmul qword [esp + 0x98]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [esp + 0xdc]
fstp dword [esp + 0x88]
fldz
fstp dword [esp + 0x8c]
fld dword [eax + esi + 0x78]
fst qword [esp + 0xa0]
fld dword [eax + esi + 0x68]
fstp qword [esp + 0x70]
fld dword [eax + esi + 0x88]
fstp qword [esp + 0x78]
fld dword [eax + esi + 0x74]
fstp qword [esp + 0x68]
fld dword [eax + esi + 0x64]
fld dword [eax + esi + 0x84]
fstp qword [esp + 0x10]
fld dword [eax + esi + 0x70]
fld dword [eax + esi + 0x60]
fld dword [eax + esi + 0x80]
fxch st(4)
fmul st(5)
fld qword [esp + 0x28]
fmul qword [esp + 0x70]
faddp st(1)
fld qword [esp + 0x78]
fld qword [esp + 0x30]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fstp dword [esp + 0x30]
fld qword [esp + 0x68]
fmul st(6)
fld qword [esp + 0x28]
fmul st(5)
faddp st(1)
fld qword [esp + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x54]
fld st(2)
fmulp st(6)
fld qword [esp + 0x28]
fmul st(2)
faddp st(6)
fmul st(4)
faddp st(5)
fxch st(4)
fstp dword [esp + 0x28]
fld qword [esp + 0xa0]
fmul qword [esp + 0x38]
fld qword [esp + 0x40]
fmul qword [esp + 0x70]
faddp st(1)
fld qword [esp + 0x78]
fmul qword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x50]
fld qword [esp + 0x68]
fmul qword [esp + 0x38]
fld qword [esp + 0x40]
fmul st(3)
faddp st(1)
fld qword [esp + 0x10]
fld st(0)
fld qword [esp + 0x20]
fmul st(1), st(0)
fxch st(3)
faddp st(1)
fstp dword [esp + 0x20]
fld st(2)
fmul qword [esp + 0x38]
fld qword [esp + 0x40]
fmul st(7)
faddp st(1)
fld st(5)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xb0]
fld dword [esp + 0x20]
fstp dword [esp + 0xb4]
fld dword [esp + 0x50]
fstp dword [esp + 0xb8]
fldz
fst dword [esp + 0xbc]
fld dword [esp + 0x28]
fstp dword [esp + 0xc0]
fld dword [esp + 0x54]
fstp dword [esp + 0xc4]
fld dword [esp + 0x30]
fstp dword [esp + 0xc8]
fstp dword [esp + 0xcc]
fld qword [esp + 0x58]
fmulp st(5)
fld qword [esp + 0x60]
fmulp st(2)
lea edx, [edx + edx*2]
fxch st(4)
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xf0], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xf4], eax
faddp st(1)
mov eax, dword [esp + 0xb8]
fld qword [esp + 0x98]
fld st(0)
mov dword [esp + 0xf8], eax
fmulp st(4)
fxch st(1)
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xc0]
mov edi, dword [0x100ea0dc]
faddp st(3)
mov dword [esp + 0x100], eax
fxch st(2)
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x108], eax
fstp dword [esp + 0xd0]
fld qword [esp + 0x58]
fld st(0)
mov eax, dword [esp + 0xcc]
fmulp st(2)
fld qword [esp + 0x60]
fld st(0)
mov dword [esp + 0x10c], eax
fmul qword [esp + 0x68]
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x110], eax
shl edx, 4
add edx, edi
faddp st(3)
fld st(3)
fmulp st(5)
fxch st(2)
faddp st(4)
fxch st(3)
fstp dword [esp + 0xd4]
fld qword [esp + 0x70]
fmulp st(3)
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x114], eax
fmul qword [esp + 0xa0]
faddp st(2)
fmul qword [esp + 0x78]
faddp st(1)
fstp dword [esp + 0xd8]
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x118], eax
fldz
fstp dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x12c], eax
call fcn.1000f680
mov ecx, dword [esp + 0xc]
mov eax, dword [esi + 0x58]
inc ecx
mov edx, dword [esi + 0x54]
sub eax, edx
sar eax, 2
mov dword [esp + 0xc], ecx
cmp ecx, eax
jb 0x1001b820
mov ecx, dword [esp + 0x13c]
mov al, 1
pop edi
pop esi
xor ecx, esp
call fcn.100935c2
mov esp, ebp
pop ebp
ret 8