4150a7:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4150aa:	89 5d c0             	mov    %ebx,-0x40(%ebp)
4150ad:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
4150b0:	89 5d c8             	mov    %ebx,-0x38(%ebp)
4150b3:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4150b6:	c7 45 a4 0f 00 00 00 	movl   $0xf,-0x5c(%ebp)
4150bd:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4150c0:	89 5d b8             	mov    %ebx,-0x48(%ebp)
4150c3:	dd 5d d0             	fstpl  -0x30(%ebp)
4150c6:	dd 45 d0             	fldl   -0x30(%ebp)
4150c9:	dc 0d 78 62 40 00    	fmull  0x406278
4150cf:	e8 3b 75 00 00       	call   0x41c60f
4150d4:	89 45 ac             	mov    %eax,-0x54(%ebp)
4150d7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4150da:	8b 45 d8             	mov    -0x28(%ebp),%eax
4150dd:	8b 40 f8             	mov    -0x8(%eax),%eax
4150e0:	40                   	inc    %eax
4150e1:	50                   	push   %eax
4150e2:	ff 15 78 33 42 00    	call   *0x423378
4150e8:	8b 8f 3c 02 00 00    	mov    0x23c(%edi),%ecx
4150ee:	85 c0                	test   %eax,%eax
4150f0:	89 45 b0             	mov    %eax,-0x50(%ebp)
4150f3:	be 61 10 00 00       	mov    $0x1061,%esi
4150f8:	8d 45 a4             	lea    -0x5c(%ebp),%eax
4150fb:	50                   	push   %eax
4150fc:	53                   	push   %ebx
4150fd:	56                   	push   %esi
4150fe:	51                   	push   %ecx
4150ff:	74 13                	je     0x415114
415101:	ff 15 40 34 42 00    	call   *0x423440
415107:	6a ff                	push   $0xffffffff
415109:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41510c:	ff 15 7c 33 42 00    	call   *0x42337c
415112:	eb 0d                	jmp    0x415121
415114:	c7 45 b0 34 1f 42 00 	movl   $0x421f34,-0x50(%ebp)
41511b:	ff 15 40 34 42 00    	call   *0x423440
415121:	8b 45 e8             	mov    -0x18(%ebp),%eax
415124:	2b 45 e0             	sub    -0x20(%ebp),%eax
415127:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41512a:	db 45 d4             	fildl  -0x2c(%ebp)
41512d:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
415134:	dd 5d d0             	fstpl  -0x30(%ebp)
415137:	dd 45 d0             	fldl   -0x30(%ebp)
41513a:	dc 0d a8 62 40 00    	fmull  0x4062a8
415140:	e8 ca 74 00 00       	call   0x41c60f
415145:	89 45 ac             	mov    %eax,-0x54(%ebp)
415148:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41514b:	8b 45 dc             	mov    -0x24(%ebp),%eax
41514e:	8b 40 f8             	mov    -0x8(%eax),%eax
415151:	40                   	inc    %eax
415152:	50                   	push   %eax
415153:	ff 15 78 33 42 00    	call   *0x423378
415159:	8b 8f 3c 02 00 00    	mov    0x23c(%edi),%ecx
41515f:	85 c0                	test   %eax,%eax
415161:	89 45 b0             	mov    %eax,-0x50(%ebp)
415164:	8d 45 a4             	lea    -0x5c(%ebp),%eax
415167:	50                   	push   %eax
415168:	6a 01                	push   $0x1
41516a:	56                   	push   %esi
41516b:	51                   	push   %ecx
41516c:	74 13                	je     0x415181
41516e:	ff 15 40 34 42 00    	call   *0x423440
415174:	6a ff                	push   $0xffffffff
415176:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415179:	ff 15 7c 33 42 00    	call   *0x42337c
41517f:	eb 0d                	jmp    0x41518e
415181:	c7 45 b0 34 1f 42 00 	movl   $0x421f34,-0x50(%ebp)
415188:	ff 15 40 34 42 00    	call   *0x423440
41518e:	88 5d fc             	mov    %bl,-0x4(%ebp)
415191:	8d 4d dc             	lea    -0x24(%ebp),%ecx
415194:	ff 15 44 32 42 00    	call   *0x423244
41519a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41519e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4151a1:	ff 15 44 32 42 00    	call   *0x423244
4151a7:	e8 6e 72 00 00       	call   0x41c41a
4151ac:	c3                   	ret
4151ad:	68 60 02 00 00       	push   $0x260
4151b2:	b8 70 dc 41 00       	mov    $0x41dc70,%eax
4151b7:	e8 af 72 00 00       	call   0x41c46b
4151bc:	8b d9                	mov    %ecx,%ebx
4151be:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
4151c4:	ff 15 40 32 42 00    	call   *0x423240
4151ca:	33 c9                	xor    %ecx,%ecx
4151cc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4151cf:	39 0d 0c 0a 42 00    	cmp    %ecx,0x420a0c
4151d5:	74 18                	je     0x4151ef
4151d7:	51                   	push   %ecx
4151d8:	51                   	push   %ecx
4151d9:	68 09 10 00 00       	push   $0x1009
4151de:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
4151e4:	ff 15 40 34 42 00    	call   *0x423440
4151ea:	e9 bf 02 00 00       	jmp    0x4154ae
4151ef:	a1 10 12 42 00       	mov    0x421210,%eax
4151f4:	8b 70 08             	mov    0x8(%eax),%esi
4151f7:	89 b5 d4 fd ff ff    	mov    %esi,-0x22c(%ebp)
4151fd:	85 f6                	test   %esi,%esi
4151ff:	74 d6                	je     0x4151d7
415201:	33 c9                	xor    %ecx,%ecx
415203:	8b c6                	mov    %esi,%eax
415205:	6a 04                	push   $0x4
415207:	5a                   	pop    %edx
415208:	f7 e2                	mul    %edx
41520a:	0f 90 c1             	seto   %cl
41520d:	f7 d9                	neg    %ecx
41520f:	0b c8                	or     %eax,%ecx
415211:	51                   	push   %ecx
415212:	e8 ba 60 00 00       	call   0x41b2d1
415217:	8b d0                	mov    %eax,%edx
415219:	89 95 e0 fd ff ff    	mov    %edx,-0x220(%ebp)
41521f:	59                   	pop    %ecx
415220:	85 d2                	test   %edx,%edx
415222:	0f 84 86 02 00 00    	je     0x4154ae
415228:	85 f6                	test   %esi,%esi
41522a:	7e 08                	jle    0x415234
41522c:	8b ce                	mov    %esi,%ecx
41522e:	33 c0                	xor    %eax,%eax
415230:	8b fa                	mov    %edx,%edi
415232:	f3 ab                	rep stos %eax,%es:(%edi)
415234:	6a 00                	push   $0x0
415236:	6a 00                	push   $0x0
415238:	68 04 10 00 00       	push   $0x1004
41523d:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
415243:	ff 15 40 34 42 00    	call   *0x423440
415249:	33 ff                	xor    %edi,%edi
41524b:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
415251:	85 c0                	test   %eax,%eax
415253:	0f 8e 4d 01 00 00    	jle    0x4153a6
415259:	6a 3c                	push   $0x3c
41525b:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
415261:	6a 00                	push   $0x0
415263:	50                   	push   %eax
415264:	e8 b8 73 00 00       	call   0x41c621
415269:	83 a5 9c fd ff ff 00 	andl   $0x0,-0x264(%ebp)
415270:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
415276:	83 c4 0c             	add    $0xc,%esp
415279:	89 85 a8 fd ff ff    	mov    %eax,-0x258(%ebp)
41527f:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
415285:	c7 85 94 fd ff ff 01 	movl   $0x1,-0x26c(%ebp)
41528c:	00 00 00
41528f:	89 bd 98 fd ff ff    	mov    %edi,-0x268(%ebp)
415295:	c7 85 ac fd ff ff 04 	movl   $0x104,-0x254(%ebp)
41529c:	01 00 00
41529f:	50                   	push   %eax
4152a0:	6a 00                	push   $0x0
4152a2:	68 4b 10 00 00       	push   $0x104b
4152a7:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
4152ad:	ff 15 40 34 42 00    	call   *0x423440
4152b3:	85 c0                	test   %eax,%eax
4152b5:	75 27                	jne    0x4152de
4152b7:	6a 00                	push   $0x0
4152b9:	57                   	push   %edi
4152ba:	68 08 10 00 00       	push   $0x1008
4152bf:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
4152c5:	ff 15 40 34 42 00    	call   *0x423440
4152cb:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
4152d1:	4f                   	dec    %edi
4152d2:	48                   	dec    %eax
4152d3:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
4152d9:	e9 bf 00 00 00       	jmp    0x41539d
4152de:	33 c0                	xor    %eax,%eax
4152e0:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
4152e6:	85 f6                	test   %esi,%esi
4152e8:	7e cd                	jle    0x4152b7
4152ea:	8b 0d 10 12 42 00    	mov    0x421210,%ecx
4152f0:	50                   	push   %eax
4152f1:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
4152f7:	50                   	push   %eax
4152f8:	e8 cf de ff ff       	call   0x4131cc
4152fd:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
415301:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
415307:	51                   	push   %ecx
415308:	ff 30                	push   (%eax)
41530a:	ff 15 64 35 42 00    	call   *0x423564
415310:	59                   	pop    %ecx
415311:	59                   	pop    %ecx
415312:	8b f0                	mov    %eax,%esi
415314:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
415318:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
41531e:	ff 15 44 32 42 00    	call   *0x423244
415324:	85 f6                	test   %esi,%esi
415326:	74 19                	je     0x415341
415328:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
41532e:	8b b5 d4 fd ff ff    	mov    -0x22c(%ebp),%esi
415334:	40                   	inc    %eax
415335:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
41533b:	3b c6                	cmp    %esi,%eax
41533d:	7c ab                	jl     0x4152ea
41533f:	eb 4e                	jmp    0x41538f
415341:	8b b5 d8 fd ff ff    	mov    -0x228(%ebp),%esi
415347:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
41534d:	50                   	push   %eax
41534e:	6a 00                	push   $0x0
415350:	68 4c 10 00 00       	push   $0x104c
415355:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
41535b:	c7 85 94 fd ff ff 04 	movl   $0x4,-0x26c(%ebp)
415362:	00 00 00
415365:	89 b5 b4 fd ff ff    	mov    %esi,-0x24c(%ebp)
41536b:	ff 15 40 34 42 00    	call   *0x423440
415371:	56                   	push   %esi
415372:	57                   	push   %edi
415373:	8b cb                	mov    %ebx,%ecx
415375:	e8 4a 01 00 00       	call   0x4154c4
41537a:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
415380:	8b c6                	mov    %esi,%eax
415382:	8b b5 d4 fd ff ff    	mov    -0x22c(%ebp),%esi
415388:	c7 04 81 01 00 00 00 	movl   $0x1,(%ecx,%eax,4)
41538f:	3b c6                	cmp    %esi,%eax
415391:	0f 8d 20 ff ff ff    	jge    0x4152b7
415397:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
41539d:	47                   	inc    %edi
41539e:	3b f8                	cmp    %eax,%edi
4153a0:	0f 8c b3 fe ff ff    	jl     0x415259
4153a6:	33 ff                	xor    %edi,%edi
4153a8:	85 f6                	test   %esi,%esi
4153aa:	0f 8e f2 00 00 00    	jle    0x4154a2
4153b0:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
4153b6:	83 3c b8 00          	cmpl   $0x0,(%eax,%edi,4)
4153ba:	0f 85 d9 00 00 00    	jne    0x415499
4153c0:	6a 3c                	push   $0x3c
4153c2:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
4153c8:	6a 00                	push   $0x0
4153ca:	50                   	push   %eax
4153cb:	e8 51 72 00 00       	call   0x41c621
4153d0:	83 c4 0c             	add    $0xc,%esp
4153d3:	c7 85 94 fd ff ff 05 	movl   $0x5,-0x26c(%ebp)
4153da:	00 00 00
4153dd:	89 bd b4 fd ff ff    	mov    %edi,-0x24c(%ebp)
4153e3:	6a 00                	push   $0x0
4153e5:	6a 00                	push   $0x0
4153e7:	68 04 10 00 00       	push   $0x1004
4153ec:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
4153f2:	ff 15 40 34 42 00    	call   *0x423440
4153f8:	8b 0d 10 12 42 00    	mov    0x421210,%ecx
4153fe:	83 a5 9c fd ff ff 00 	andl   $0x0,-0x264(%ebp)
415405:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
41540b:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
415411:	57                   	push   %edi
415412:	50                   	push   %eax
415413:	e8 b4 dd ff ff       	call   0x4131cc
415418:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41541c:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
415422:	50                   	push   %eax
415423:	ff 15 80 33 42 00    	call   *0x423380
415429:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
41542d:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
415433:	ff 15 44 32 42 00    	call   *0x423244
415439:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
41543f:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
415445:	8b 40 f8             	mov    -0x8(%eax),%eax
415448:	40                   	inc    %eax
415449:	50                   	push   %eax
41544a:	ff 15 78 33 42 00    	call   *0x423378
415450:	89 85 a8 fd ff ff    	mov    %eax,-0x258(%ebp)
415456:	85 c0                	test   %eax,%eax
415458:	74 39                	je     0x415493
41545a:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
415460:	50                   	push   %eax
415461:	6a 00                	push   $0x0
415463:	68 4d 10 00 00       	push   $0x104d
415468:	ff b3 3c 02 00 00    	push   0x23c(%ebx)
41546e:	ff 15 40 34 42 00    	call   *0x423440
415474:	6a ff                	push   $0xffffffff
415476:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
41547c:	8b f0                	mov    %eax,%esi
41547e:	ff 15 7c 33 42 00    	call   *0x42337c
415484:	57                   	push   %edi
415485:	56                   	push   %esi
415486:	8b cb                	mov    %ebx,%ecx
415488:	e8 37 00 00 00       	call   0x4154c4
41548d:	8b b5 d4 fd ff ff    	mov    -0x22c(%ebp),%esi
415493:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
415499:	47                   	inc    %edi
41549a:	3b fe                	cmp    %esi,%edi
41549c:	0f 8c 14 ff ff ff    	jl     0x4153b6
4154a2:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
4154a8:	e8 2f 5e 00 00       	call   0x41b2dc
4154ad:	59                   	pop    %ecx
4154ae:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4154b2:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
4154b8:	ff 15 44 32 42 00    	call   *0x423244
4154be:	e8 57 6f 00 00       	call   0x41c41a
4154c3:	c3                   	ret
4154c4:	6a 50                	push   $0x50
4154c6:	b8 b3 dc 41 00       	mov    $0x41dcb3,%eax
4154cb:	e8 68 6f 00 00       	call   0x41c438
4154d0:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4154d3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4154d6:	ff 15 40 32 42 00    	call   *0x423240
4154dc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4154e0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4154e3:	ff 15 40 32 42 00    	call   *0x423240
4154e9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4154ed:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4154f0:	8b 1d 08 0a 42 00    	mov    0x420a08,%ebx
4154f6:	ff 75 0c             	push   0xc(%ebp)
4154f9:	8b 0d 10 12 42 00    	mov    0x421210,%ecx
4154ff:	83 c3 78             	add    $0x78,%ebx
415502:	50                   	push   %eax
415503:	89 5d e8             	mov    %ebx,-0x18(%ebp)
415506:	e8 c1 dc ff ff       	call   0x4131cc
41550b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
41550f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
415512:	50                   	push   %eax
415513:	ff 15 80 33 42 00    	call   *0x423380
415519:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41551d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
415520:	ff 15 44 32 42 00    	call   *0x423244
415526:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
41552c:	33 f6                	xor    %esi,%esi
41552e:	8b b9 80 00 00 00    	mov    0x80(%ecx),%edi
415534:	85 ff                	test   %edi,%edi
415536:	7e 40                	jle    0x415578
415538:	56                   	push   %esi
415539:	8b cb                	mov    %ebx,%ecx
41553b:	e8 9c e4 ff ff       	call   0x4139dc
415540:	8b d8                	mov    %eax,%ebx
415542:	ff 73 08             	push   0x8(%ebx)
415545:	ff 75 ec             	push   -0x14(%ebp)
415548:	ff 15 64 35 42 00    	call   *0x423564
41554e:	59                   	pop    %ecx
41554f:	59                   	pop    %ecx
415550:	85 c0                	test   %eax,%eax
415552:	74 0a                	je     0x41555e
415554:	8b 5d e8             	mov    -0x18(%ebp),%ebx
415557:	46                   	inc    %esi
415558:	3b f7                	cmp    %edi,%esi
41555a:	7c dc                	jl     0x415538
41555c:	eb 0d                	jmp    0x41556b
41555e:	8d 43 28             	lea    0x28(%ebx),%eax
415561:	50                   	push   %eax
415562:	8d 4d f0             	lea    -0x10(%ebp),%ecx
415565:	ff 15 80 33 42 00    	call   *0x423380
41556b:	3b f7                	cmp    %edi,%esi
41556d:	7c 3a                	jl     0x4155a9
41556f:	8b 0d 08 0a 42 00    	mov    0x420a08,%ecx
415575:	8b 5d e8             	mov    -0x18(%ebp),%ebx
415578:	ff 75 ec             	push   -0x14(%ebp)
41557b:	83 c1 70             	add    $0x70,%ecx
41557e:	e8 fc ea ff ff       	call   0x41407f
415583:	85 c0                	test   %eax,%eax
415585:	78 22                	js     0x4155a9
415587:	8b 15 08 0a 42 00    	mov    0x420a08,%edx
41558d:	8b cb                	mov    %ebx,%ecx
41558f:	50                   	push   %eax
415590:	83 a2 a4 00 00 00 00 	andl   $0x0,0xa4(%edx)
415597:	e8 40 e4 ff ff       	call   0x4139dc
41559c:	83 c0 28             	add    $0x28,%eax
41559f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4155a2:	50                   	push   %eax
4155a3:	ff 15 80 33 42 00    	call   *0x423380