456f85:	ff 00                	incl   (%eax)
456f87:	e8 6e 4e fb ff       	call   0x40bdfa
456f8c:	ff 75 f0             	push   -0x10(%ebp)
456f8f:	ff 75 ec             	push   -0x14(%ebp)
456f92:	ff 15 60 d6 48 00    	call   *0x48d660
456f98:	8d 45 ec             	lea    -0x14(%ebp),%eax
456f9b:	50                   	push   %eax
456f9c:	e8 91 11 ff ff       	call   0x448132
456fa1:	6a 00                	push   $0x0
456fa3:	85 c0                	test   %eax,%eax
456fa5:	74 1e                	je     0x456fc5
456fa7:	8d 45 fc             	lea    -0x4(%ebp),%eax
456faa:	50                   	push   %eax
456fab:	8d 45 08             	lea    0x8(%ebp),%eax
456fae:	50                   	push   %eax
456faf:	8d 45 ec             	lea    -0x14(%ebp),%eax
456fb2:	50                   	push   %eax
456fb3:	e8 8d 66 fb ff       	call   0x40d645
456fb8:	ff 75 08             	push   0x8(%ebp)
456fbb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
456fbe:	e8 eb 6c fb ff       	call   0x40dcae
456fc3:	eb 1b                	jmp    0x456fe0
456fc5:	8b 07                	mov    (%edi),%eax
456fc7:	6a 01                	push   $0x1
456fc9:	8b 48 04             	mov    0x4(%eax),%ecx
456fcc:	03 cf                	add    %edi,%ecx
456fce:	e8 79 5f ff ff       	call   0x44cf4c
456fd3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
456fd6:	68 00 dc 49 00       	push   $0x49dc00
456fdb:	e8 d9 5d fb ff       	call   0x40cdb9
456fe0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
456fe3:	e8 4f 5b fb ff       	call   0x40cb37
456fe8:	5f                   	pop    %edi
456fe9:	33 c0                	xor    %eax,%eax
456feb:	5e                   	pop    %esi
456fec:	c9                   	leave
456fed:	c2 08 00             	ret    $0x8
456ff0:	55                   	push   %ebp
456ff1:	8b ec                	mov    %esp,%ebp
456ff3:	83 e4 f8             	and    $0xfffffff8,%esp
456ff6:	83 ec 14             	sub    $0x14,%esp
456ff9:	8b 45 08             	mov    0x8(%ebp),%eax
456ffc:	53                   	push   %ebx
456ffd:	8b 40 04             	mov    0x4(%eax),%eax
457000:	33 db                	xor    %ebx,%ebx
457002:	56                   	push   %esi
457003:	c7 44 24 0c b4 dd 49 	movl   $0x49ddb4,0xc(%esp)
45700a:	00
45700b:	89 5c 24 10          	mov    %ebx,0x10(%esp)
45700f:	89 5c 24 14          	mov    %ebx,0x14(%esp)
457013:	89 5c 24 18          	mov    %ebx,0x18(%esp)
457017:	8b 30                	mov    (%eax),%esi
457019:	57                   	push   %edi
45701a:	8b f9                	mov    %ecx,%edi
45701c:	8b ce                	mov    %esi,%ecx
45701e:	c6 05 b6 10 4c 00 01 	movb   $0x1,0x4c10b6
457025:	e8 42 23 fb ff       	call   0x40936c
45702a:	8b 46 08             	mov    0x8(%esi),%eax
45702d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
457031:	51                   	push   %ecx
457032:	ff 30                	push   (%eax)
457034:	53                   	push   %ebx
457035:	e8 36 44 fb ff       	call   0x40b470
45703a:	85 c0                	test   %eax,%eax
45703c:	78 2d                	js     0x45706b
45703e:	83 7c 24 18 01       	cmpl   $0x1,0x18(%esp)
457043:	76 26                	jbe    0x45706b
457045:	6a ff                	push   $0xffffffff
457047:	ff 75 0c             	push   0xc(%ebp)
45704a:	8d 44 24 14          	lea    0x14(%esp),%eax
45704e:	50                   	push   %eax
45704f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
457053:	50                   	push   %eax
457054:	8b cf                	mov    %edi,%ecx
457056:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
45705a:	e8 d1 8d fb ff       	call   0x40fe30
45705f:	85 c0                	test   %eax,%eax
457061:	78 08                	js     0x45706b
457063:	88 1d b6 10 4c 00    	mov    %bl,0x4c10b6
457069:	eb 22                	jmp    0x45708d
45706b:	8b 07                	mov    (%edi),%eax
45706d:	53                   	push   %ebx
45706e:	8b 48 04             	mov    0x4(%eax),%ecx
457071:	6a 01                	push   $0x1
457073:	03 cf                	add    %edi,%ecx
457075:	88 1d b6 10 4c 00    	mov    %bl,0x4c10b6
45707b:	e8 cc 5e ff ff       	call   0x44cf4c
457080:	8b 4d 0c             	mov    0xc(%ebp),%ecx
457083:	68 00 dc 49 00       	push   $0x49dc00
457088:	e8 2c 5d fb ff       	call   0x40cdb9
45708d:	8d 4c 24 10          	lea    0x10(%esp),%ecx
457091:	e8 7b de fa ff       	call   0x404f11
457096:	5f                   	pop    %edi
457097:	5e                   	pop    %esi
457098:	33 c0                	xor    %eax,%eax
45709a:	5b                   	pop    %ebx
45709b:	8b e5                	mov    %ebp,%esp
45709d:	5d                   	pop    %ebp
45709e:	c2 08 00             	ret    $0x8
4570a1:	55                   	push   %ebp
4570a2:	8b ec                	mov    %esp,%ebp
4570a4:	8b 45 08             	mov    0x8(%ebp),%eax
4570a7:	83 ec 10             	sub    $0x10,%esp
4570aa:	8b 40 04             	mov    0x4(%eax),%eax
4570ad:	56                   	push   %esi
4570ae:	8b 30                	mov    (%eax),%esi
4570b0:	57                   	push   %edi
4570b1:	8b f9                	mov    %ecx,%edi
4570b3:	6a 0e                	push   $0xe
4570b5:	8b ce                	mov    %esi,%ecx
4570b7:	e8 28 65 fb ff       	call   0x40d5e4
4570bc:	8b ce                	mov    %esi,%ecx
4570be:	84 c0                	test   %al,%al
4570c0:	74 0b                	je     0x4570cd
4570c2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4570c5:	50                   	push   %eax
4570c6:	e8 d2 35 ff ff       	call   0x44a69d
4570cb:	eb 29                	jmp    0x4570f6
4570cd:	6a 0d                	push   $0xd
4570cf:	e8 10 65 fb ff       	call   0x40d5e4
4570d4:	84 c0                	test   %al,%al
4570d6:	74 31                	je     0x457109
4570d8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4570db:	e8 17 67 fb ff       	call   0x40d7f7
4570e0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4570e3:	50                   	push   %eax
4570e4:	8b ce                	mov    %esi,%ecx
4570e6:	e8 a3 35 ff ff       	call   0x44a68e
4570eb:	50                   	push   %eax
4570ec:	8b cf                	mov    %edi,%ecx
4570ee:	e8 e3 5d ff ff       	call   0x44ced6
4570f3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4570f6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4570f9:	50                   	push   %eax
4570fa:	e8 69 fa fa ff       	call   0x406b68
4570ff:	8d 4d f0             	lea    -0x10(%ebp),%ecx
457102:	e8 30 5a fb ff       	call   0x40cb37
457107:	eb 1d                	jmp    0x457126
457109:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45710c:	68 00 dc 49 00       	push   $0x49dc00
457111:	e8 a3 5c fb ff       	call   0x40cdb9
457116:	8b 07                	mov    (%edi),%eax
457118:	6a 00                	push   $0x0
45711a:	8b 48 04             	mov    0x4(%eax),%ecx
45711d:	6a 01                	push   $0x1
45711f:	03 cf                	add    %edi,%ecx
457121:	e8 26 5e ff ff       	call   0x44cf4c
457126:	5f                   	pop    %edi
457127:	33 c0                	xor    %eax,%eax
457129:	5e                   	pop    %esi
45712a:	c9                   	leave
45712b:	c2 08 00             	ret    $0x8
45712e:	55                   	push   %ebp
45712f:	8b ec                	mov    %esp,%ebp
457131:	83 e4 f8             	and    $0xfffffff8,%esp
457134:	83 ec 74             	sub    $0x74,%esp
457137:	53                   	push   %ebx
457138:	56                   	push   %esi
457139:	57                   	push   %edi
45713a:	8b 7d 08             	mov    0x8(%ebp),%edi
45713d:	8b d9                	mov    %ecx,%ebx
45713f:	8b 77 08             	mov    0x8(%edi),%esi
457142:	8d 4c 24 20          	lea    0x20(%esp),%ecx
457146:	89 5c 24 18          	mov    %ebx,0x18(%esp)
45714a:	89 74 24 1c          	mov    %esi,0x1c(%esp)
45714e:	e8 5c 78 fe ff       	call   0x43e9af
457153:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
457158:	8d 46 fe             	lea    -0x2(%esi),%eax
45715b:	83 f8 08             	cmp    $0x8,%eax
45715e:	0f 87 46 03 00 00    	ja     0x4574aa
457164:	ff 24 85 e2 74 45 00 	jmp    *0x4574e2(,%eax,4)
45716b:	8b 47 04             	mov    0x4(%edi),%eax
45716e:	8b 48 24             	mov    0x24(%eax),%ecx
457171:	e8 01 44 ff ff       	call   0x44b577
457176:	89 44 24 14          	mov    %eax,0x14(%esp)
45717a:	8b 4f 04             	mov    0x4(%edi),%ecx
45717d:	6a 29                	push   $0x29
45717f:	8b 71 20             	mov    0x20(%ecx),%esi
457182:	8b ce                	mov    %esi,%ecx
457184:	e8 63 aa fa ff       	call   0x401bec
457189:	84 c0                	test   %al,%al
45718b:	75 1c                	jne    0x4571a9
45718d:	8b ce                	mov    %esi,%ecx
45718f:	e8 f2 60 fb ff       	call   0x40d286
457194:	89 44 24 10          	mov    %eax,0x10(%esp)
457198:	db 44 24 10          	fildl  0x10(%esp)
45719c:	d9 ee                	fldz
45719e:	d8 d9                	fcomp  %st(1)
4571a0:	df e0                	fnstsw %ax
4571a2:	f6 c4 01             	test   $0x1,%ah
4571a5:	75 08                	jne    0x4571af
4571a7:	dd d8                	fstp   %st(0)
4571a9:	dd 05 10 6a 4b 00    	fldl   0x4b6a10
4571af:	dd 5c 24 38          	fstpl  0x38(%esp)
4571b3:	8b 47 04             	mov    0x4(%edi),%eax
4571b6:	6a 29                	push   $0x29
4571b8:	8b 70 1c             	mov    0x1c(%eax),%esi
4571bb:	8b ce                	mov    %esi,%ecx
4571bd:	e8 2a aa fa ff       	call   0x401bec
4571c2:	84 c0                	test   %al,%al
4571c4:	74 0a                	je     0x4571d0
4571c6:	81 4c 24 30 80 00 00 	orl    $0x80,0x30(%esp)
4571cd:	00
4571ce:	eb 0b                	jmp    0x4571db
4571d0:	8b ce                	mov    %esi,%ecx
4571d2:	e8 af 60 fb ff       	call   0x40d286
4571d7:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4571db:	8b 47 04             	mov    0x4(%edi),%eax
4571de:	6a 29                	push   $0x29
4571e0:	8b 70 18             	mov    0x18(%eax),%esi
4571e3:	8b ce                	mov    %esi,%ecx
4571e5:	e8 02 aa fa ff       	call   0x401bec
4571ea:	84 c0                	test   %al,%al
4571ec:	74 07                	je     0x4571f5
4571ee:	83 4c 24 30 40       	orl    $0x40,0x30(%esp)
4571f3:	eb 0b                	jmp    0x457200
4571f5:	8b ce                	mov    %esi,%ecx
4571f7:	e8 8a 60 fb ff       	call   0x40d286
4571fc:	89 44 24 28          	mov    %eax,0x28(%esp)
457200:	8b 47 04             	mov    0x4(%edi),%eax
457203:	8b 48 14             	mov    0x14(%eax),%ecx
457206:	e8 7b 60 fb ff       	call   0x40d286
45720b:	85 c0                	test   %eax,%eax
45720d:	78 20                	js     0x45722f
45720f:	8b 47 04             	mov    0x4(%edi),%eax
457212:	6a 29                	push   $0x29
457214:	8b 70 14             	mov    0x14(%eax),%esi
457217:	8b ce                	mov    %esi,%ecx
457219:	e8 ce a9 fa ff       	call   0x401bec
45721e:	84 c0                	test   %al,%al
457220:	75 0d                	jne    0x45722f
457222:	8b ce                	mov    %esi,%ecx
457224:	e8 5d 60 fb ff       	call   0x40d286
457229:	89 44 24 24          	mov    %eax,0x24(%esp)
45722d:	eb 05                	jmp    0x457234
45722f:	83 4c 24 30 20       	orl    $0x20,0x30(%esp)
457234:	8b 47 04             	mov    0x4(%edi),%eax
457237:	8b 48 10             	mov    0x10(%eax),%ecx
45723a:	e8 47 60 fb ff       	call   0x40d286
45723f:	85 c0                	test   %eax,%eax
457241:	78 20                	js     0x457263
457243:	8b 47 04             	mov    0x4(%edi),%eax
457246:	6a 29                	push   $0x29
457248:	8b 70 10             	mov    0x10(%eax),%esi
45724b:	8b ce                	mov    %esi,%ecx
45724d:	e8 9a a9 fa ff       	call   0x401bec
457252:	84 c0                	test   %al,%al
457254:	75 0d                	jne    0x457263
457256:	8b ce                	mov    %esi,%ecx
457258:	e8 29 60 fb ff       	call   0x40d286
45725d:	89 44 24 20          	mov    %eax,0x20(%esp)
457261:	eb 05                	jmp    0x457268
457263:	83 4c 24 30 10       	orl    $0x10,0x30(%esp)
457268:	8b 47 04             	mov    0x4(%edi),%eax
45726b:	6a 29                	push   $0x29
45726d:	8b 70 0c             	mov    0xc(%eax),%esi
457270:	8b ce                	mov    %esi,%ecx
457272:	e8 75 a9 fa ff       	call   0x401bec
457277:	84 c0                	test   %al,%al
457279:	74 2c                	je     0x4572a7
45727b:	33 c0                	xor    %eax,%eax
45727d:	66 89 44 24 40       	mov    %ax,0x40(%esp)
457282:	8b 47 04             	mov    0x4(%edi),%eax
457285:	6a 29                	push   $0x29
457287:	8b 70 08             	mov    0x8(%eax),%esi
45728a:	8b ce                	mov    %esi,%ecx
45728c:	e8 5b a9 fa ff       	call   0x401bec
457291:	84 c0                	test   %al,%al
457293:	0f 84 23 01 00 00    	je     0x4573bc
457299:	8d 4c 24 54          	lea    0x54(%esp),%ecx
45729d:	e8 2c 4a fb ff       	call   0x40bcce
4572a2:	e9 28 01 00 00       	jmp    0x4573cf
4572a7:	8b ce                	mov    %esi,%ecx
4572a9:	e8 be 20 fb ff       	call   0x40936c
4572ae:	8b 46 08             	mov    0x8(%esi),%eax
4572b1:	8b 00                	mov    (%eax),%eax
4572b3:	0f b7 30             	movzwl (%eax),%esi
4572b6:	66 85 f6             	test   %si,%si
4572b9:	74 c7                	je     0x457282
4572bb:	8b ce                	mov    %esi,%ecx
4572bd:	e8 5e 61 fc ff       	call   0x41d420
4572c2:	85 c0                	test   %eax,%eax
4572c4:	75 05                	jne    0x4572cb
4572c6:	66 89 74 24 40       	mov    %si,0x40(%esp)
4572cb:	c7 44 24 0c 01 00 00 	movl   $0x1,0xc(%esp)
4572d2:	00
4572d3:	8b 47 04             	mov    0x4(%edi),%eax
4572d6:	8b 70 0c             	mov    0xc(%eax),%esi
4572d9:	8b ce                	mov    %esi,%ecx
4572db:	e8 8c 20 fb ff       	call   0x40936c
4572e0:	8b 46 08             	mov    0x8(%esi),%eax
4572e3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4572e7:	8b 00                	mov    (%eax),%eax
4572e9:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
4572ed:	66 85 c0             	test   %ax,%ax
4572f0:	74 90                	je     0x457282
4572f2:	83 f8 30             	cmp    $0x30,%eax
4572f5:	0f 8c 9f 00 00 00    	jl     0x45739a
4572fb:	83 f8 39             	cmp    $0x39,%eax
4572fe:	7e 15                	jle    0x457315
457300:	83 f8 4d             	cmp    $0x4d,%eax
457303:	74 09                	je     0x45730e
457305:	83 f8 6d             	cmp    $0x6d,%eax
457308:	0f 85 8c 00 00 00    	jne    0x45739a
45730e:	83 4c 24 30 01       	orl    $0x1,0x30(%esp)
457313:	eb 7c                	jmp    0x457391
457315:	8b 47 04             	mov    0x4(%edi),%eax
457318:	8b 70 0c             	mov    0xc(%eax),%esi
45731b:	8b ce                	mov    %esi,%ecx
45731d:	e8 4a 20 fb ff       	call   0x40936c
457322:	8b 46 08             	mov    0x8(%esi),%eax
457325:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
457329:	8b 00                	mov    (%eax),%eax
45732b:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
45732f:	83 e8 30             	sub    $0x30,%eax
457332:	89 44 24 10          	mov    %eax,0x10(%esp)
457336:	8b 47 04             	mov    0x4(%edi),%eax
457339:	8b 70 0c             	mov    0xc(%eax),%esi
45733c:	8b ce                	mov    %esi,%ecx
45733e:	e8 29 20 fb ff       	call   0x40936c
457343:	8b 46 08             	mov    0x8(%esi),%eax
457346:	8b 00                	mov    (%eax),%eax
457348:	0f b7 44 58 02       	movzwl 0x2(%eax,%ebx,2),%eax
45734d:	50                   	push   %eax
45734e:	e8 d2 a9 fc ff       	call   0x421d25
457353:	59                   	pop    %ecx
457354:	85 c0                	test   %eax,%eax
457356:	74 29                	je     0x457381
457358:	8b 47 04             	mov    0x4(%edi),%eax
45735b:	43                   	inc    %ebx
45735c:	8b 70 0c             	mov    0xc(%eax),%esi
45735f:	8b ce                	mov    %esi,%ecx
457361:	e8 06 20 fb ff       	call   0x40936c
457366:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45736a:	8b 46 08             	mov    0x8(%esi),%eax
45736d:	6b c9 0a             	imul   $0xa,%ecx,%ecx
457370:	8b 00                	mov    (%eax),%eax
457372:	83 c1 d0             	add    $0xffffffd0,%ecx
457375:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
457379:	03 c8                	add    %eax,%ecx
45737b:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45737f:	eb b5                	jmp    0x457336
457381:	8b 44 24 10          	mov    0x10(%esp),%eax
457385:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
457389:	8b 5c 24 18          	mov    0x18(%esp),%ebx
45738d:	89 44 24 34          	mov    %eax,0x34(%esp)
457391:	ff 44 24 0c          	incl   0xc(%esp)
457395:	e9 39 ff ff ff       	jmp    0x4572d3
45739a:	6a 00                	push   $0x0
45739c:	6a 03                	push   $0x3