41640f:	3b 48 38             	cmp    0x38(%eax),%ecx
416412:	73 08                	jae    0x41641c
416414:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416417:	e9 6a ff ff ff       	jmp    0x416386
41641c:	8b c6                	mov    %esi,%eax
41641e:	5f                   	pop    %edi
41641f:	5e                   	pop    %esi
416420:	5b                   	pop    %ebx
416421:	8b e5                	mov    %ebp,%esp
416423:	5d                   	pop    %ebp
416424:	c3                   	ret
416425:	cc                   	int3
416426:	cc                   	int3
416427:	cc                   	int3
416428:	cc                   	int3
416429:	cc                   	int3
41642a:	cc                   	int3
41642b:	cc                   	int3
41642c:	cc                   	int3
41642d:	cc                   	int3
41642e:	cc                   	int3
41642f:	cc                   	int3
416430:	8b 51 30             	mov    0x30(%ecx),%edx
416433:	56                   	push   %esi
416434:	83 ce ff             	or     $0xffffffff,%esi
416437:	85 d2                	test   %edx,%edx
416439:	74 1a                	je     0x416455
41643b:	8b 41 34             	mov    0x34(%ecx),%eax
41643e:	83 c0 04             	add    $0x4,%eax
416441:	8b 08                	mov    (%eax),%ecx
416443:	2b 48 04             	sub    0x4(%eax),%ecx
416446:	41                   	inc    %ecx
416447:	3b f1                	cmp    %ecx,%esi
416449:	72 02                	jb     0x41644d
41644b:	8b f1                	mov    %ecx,%esi
41644d:	83 c0 10             	add    $0x10,%eax
416450:	83 ea 01             	sub    $0x1,%edx
416453:	75 ec                	jne    0x416441
416455:	8d 46 01             	lea    0x1(%esi),%eax
416458:	f7 d8                	neg    %eax
41645a:	1b c0                	sbb    %eax,%eax
41645c:	23 c6                	and    %esi,%eax
41645e:	5e                   	pop    %esi
41645f:	c3                   	ret
416460:	8b ff                	mov    %edi,%edi
416462:	56                   	push   %esi
416463:	8b 71 30             	mov    0x30(%ecx),%esi
416466:	33 d2                	xor    %edx,%edx
416468:	85 f6                	test   %esi,%esi
41646a:	74 16                	je     0x416482
41646c:	8b 49 34             	mov    0x34(%ecx),%ecx
41646f:	83 c1 04             	add    $0x4,%ecx
416472:	8b 01                	mov    (%ecx),%eax
416474:	3b d0                	cmp    %eax,%edx
416476:	77 02                	ja     0x41647a
416478:	8b d0                	mov    %eax,%edx
41647a:	83 c1 10             	add    $0x10,%ecx
41647d:	83 ee 01             	sub    $0x1,%esi
416480:	75 f0                	jne    0x416472
416482:	8b c2                	mov    %edx,%eax
416484:	5e                   	pop    %esi
416485:	c3                   	ret
416486:	cc                   	int3
416487:	cc                   	int3
416488:	cc                   	int3
416489:	cc                   	int3
41648a:	cc                   	int3
41648b:	cc                   	int3
41648c:	cc                   	int3
41648d:	cc                   	int3
41648e:	cc                   	int3
41648f:	cc                   	int3
416490:	8b ff                	mov    %edi,%edi
416492:	55                   	push   %ebp
416493:	8b ec                	mov    %esp,%ebp
416495:	83 ec 3c             	sub    $0x3c,%esp
416498:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41649d:	33 c5                	xor    %ebp,%eax
41649f:	89 45 fc             	mov    %eax,-0x4(%ebp)
4164a2:	8b 45 08             	mov    0x8(%ebp),%eax
4164a5:	53                   	push   %ebx
4164a6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4164a9:	56                   	push   %esi
4164aa:	57                   	push   %edi
4164ab:	8b fa                	mov    %edx,%edi
4164ad:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4164b0:	8d 53 ff             	lea    -0x1(%ebx),%edx
4164b3:	89 7d cc             	mov    %edi,-0x34(%ebp)
4164b6:	83 fa 4d             	cmp    $0x4d,%edx
4164b9:	0f 87 b2 09 00 00    	ja     0x416e71
4164bf:	ff 24 95 a4 72 41 00 	jmp    *0x4172a4(,%edx,4)
4164c6:	8b 77 08             	mov    0x8(%edi),%esi
4164c9:	33 d2                	xor    %edx,%edx
4164cb:	85 f6                	test   %esi,%esi
4164cd:	74 23                	je     0x4164f2
4164cf:	33 ff                	xor    %edi,%edi
4164d1:	68 b4 29 40 00       	push   $0x4029b4
4164d6:	ff 15 74 23 45 00    	call   *0x452374
4164dc:	8b 76 08             	mov    0x8(%esi),%esi
4164df:	83 c4 04             	add    $0x4,%esp
4164e2:	83 c7 02             	add    $0x2,%edi
4164e5:	85 f6                	test   %esi,%esi
4164e7:	75 e8                	jne    0x4164d1
4164e9:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4164ec:	8b 7d cc             	mov    -0x34(%ebp),%edi
4164ef:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4164f2:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
4164f5:	8b 0c 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%ecx
4164fc:	8b 47 0c             	mov    0xc(%edi),%eax
4164ff:	2b ca                	sub    %edx,%ecx
416501:	83 c0 08             	add    $0x8,%eax
416504:	50                   	push   %eax
416505:	51                   	push   %ecx
416506:	51                   	push   %ecx
416507:	68 bc 29 40 00       	push   $0x4029bc
41650c:	ff 15 74 23 45 00    	call   *0x452374
416512:	83 c4 10             	add    $0x10,%esp
416515:	e9 57 09 00 00       	jmp    0x416e71
41651a:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
41651d:	8b cf                	mov    %edi,%ecx
41651f:	8b 34 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%esi
416526:	e8 95 f9 ff ff       	call   0x415ec0
41652b:	50                   	push   %eax
41652c:	56                   	push   %esi
41652d:	56                   	push   %esi
41652e:	68 bc 29 40 00       	push   $0x4029bc
416533:	ff 15 74 23 45 00    	call   *0x452374
416539:	83 c4 10             	add    $0x10,%esp
41653c:	e9 30 09 00 00       	jmp    0x416e71
416541:	8b 47 0c             	mov    0xc(%edi),%eax
416544:	8b 40 04             	mov    0x4(%eax),%eax
416547:	48                   	dec    %eax
416548:	83 f8 05             	cmp    $0x5,%eax
41654b:	77 7f                	ja     0x4165cc
41654d:	ff 24 85 dc 73 41 00 	jmp    *0x4173dc(,%eax,4)
416554:	b8 cc 29 40 00       	mov    $0x4029cc,%eax
416559:	50                   	push   %eax
41655a:	ff 15 74 23 45 00    	call   *0x452374
416560:	83 c4 04             	add    $0x4,%esp
416563:	e9 09 09 00 00       	jmp    0x416e71
416568:	b8 d8 29 40 00       	mov    $0x4029d8,%eax
41656d:	50                   	push   %eax
41656e:	ff 15 74 23 45 00    	call   *0x452374
416574:	83 c4 04             	add    $0x4,%esp
416577:	e9 f5 08 00 00       	jmp    0x416e71
41657c:	b8 e4 29 40 00       	mov    $0x4029e4,%eax
416581:	50                   	push   %eax
416582:	ff 15 74 23 45 00    	call   *0x452374
416588:	83 c4 04             	add    $0x4,%esp
41658b:	e9 e1 08 00 00       	jmp    0x416e71
416590:	b8 f0 29 40 00       	mov    $0x4029f0,%eax
416595:	50                   	push   %eax
416596:	ff 15 74 23 45 00    	call   *0x452374
41659c:	83 c4 04             	add    $0x4,%esp
41659f:	e9 cd 08 00 00       	jmp    0x416e71
4165a4:	b8 fc 29 40 00       	mov    $0x4029fc,%eax
4165a9:	50                   	push   %eax
4165aa:	ff 15 74 23 45 00    	call   *0x452374
4165b0:	83 c4 04             	add    $0x4,%esp
4165b3:	e9 b9 08 00 00       	jmp    0x416e71
4165b8:	b8 08 2a 40 00       	mov    $0x402a08,%eax
4165bd:	50                   	push   %eax
4165be:	ff 15 74 23 45 00    	call   *0x452374
4165c4:	83 c4 04             	add    $0x4,%esp
4165c7:	e9 a5 08 00 00       	jmp    0x416e71
4165cc:	b8 14 2a 40 00       	mov    $0x402a14,%eax
4165d1:	50                   	push   %eax
4165d2:	ff 15 74 23 45 00    	call   *0x452374
4165d8:	83 c4 04             	add    $0x4,%esp
4165db:	e9 91 08 00 00       	jmp    0x416e71
4165e0:	8b 47 0c             	mov    0xc(%edi),%eax
4165e3:	ff b0 88 00 00 00    	push   0x88(%eax)
4165e9:	e9 96 0c 00 00       	jmp    0x417284
4165ee:	8b 47 0c             	mov    0xc(%edi),%eax
4165f1:	ff b0 8c 00 00 00    	push   0x8c(%eax)
4165f7:	e9 88 0c 00 00       	jmp    0x417284
4165fc:	8b 4f 10             	mov    0x10(%edi),%ecx
4165ff:	8b 41 0c             	mov    0xc(%ecx),%eax
416602:	f7 d8                	neg    %eax
416604:	1b c0                	sbb    %eax,%eax
416606:	83 e0 fa             	and    $0xfffffffa,%eax
416609:	83 c0 73             	add    $0x73,%eax
41660c:	50                   	push   %eax
41660d:	ff 71 04             	push   0x4(%ecx)
416610:	6a 05                	push   $0x5
416612:	68 24 2a 40 00       	push   $0x402a24
416617:	ff 15 74 23 45 00    	call   *0x452374
41661d:	83 c4 10             	add    $0x10,%esp
416620:	e9 4c 08 00 00       	jmp    0x416e71
416625:	8b 47 10             	mov    0x10(%edi),%eax
416628:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
41662c:	b8 34 2a 40 00       	mov    $0x402a34,%eax
416631:	75 05                	jne    0x416638
416633:	b8 40 2a 40 00       	mov    $0x402a40,%eax
416638:	50                   	push   %eax
416639:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
41663c:	ff 34 85 84 f0 44 00 	push   0x44f084(,%eax,4)
416643:	68 50 2a 40 00       	push   $0x402a50
416648:	ff 15 74 23 45 00    	call   *0x452374
41664e:	83 c4 0c             	add    $0xc,%esp
416651:	e9 1b 08 00 00       	jmp    0x416e71
416656:	8b 4f 10             	mov    0x10(%edi),%ecx
416659:	33 c0                	xor    %eax,%eax
41665b:	89 45 cc             	mov    %eax,-0x34(%ebp)
41665e:	8b 71 30             	mov    0x30(%ecx),%esi
416661:	85 f6                	test   %esi,%esi
416663:	0f 84 1a 0c 00 00    	je     0x417283
416669:	8b 47 0c             	mov    0xc(%edi),%eax
41666c:	8b 49 34             	mov    0x34(%ecx),%ecx
41666f:	83 c1 04             	add    $0x4,%ecx
416672:	8b b8 8c 00 00 00    	mov    0x8c(%eax),%edi
416678:	8b 01                	mov    (%ecx),%eax
41667a:	8b 51 04             	mov    0x4(%ecx),%edx
41667d:	2b c2                	sub    %edx,%eax
41667f:	40                   	inc    %eax
416680:	3b c7                	cmp    %edi,%eax
416682:	75 07                	jne    0x41668b
416684:	8b c2                	mov    %edx,%eax
416686:	89 45 cc             	mov    %eax,-0x34(%ebp)
416689:	eb 03                	jmp    0x41668e
41668b:	8b 45 cc             	mov    -0x34(%ebp),%eax
41668e:	83 c1 10             	add    $0x10,%ecx
416691:	83 ee 01             	sub    $0x1,%esi
416694:	75 e2                	jne    0x416678
416696:	e9 e8 0b 00 00       	jmp    0x417283
41669b:	8b 47 10             	mov    0x10(%edi),%eax
41669e:	ff 70 10             	push   0x10(%eax)
4166a1:	e9 de 0b 00 00       	jmp    0x417284
4166a6:	8b 47 10             	mov    0x10(%edi),%eax
4166a9:	ff 70 14             	push   0x14(%eax)
4166ac:	e9 d3 0b 00 00       	jmp    0x417284
4166b1:	8b 4f 10             	mov    0x10(%edi),%ecx
4166b4:	e8 77 fd ff ff       	call   0x416430
4166b9:	e9 c5 0b 00 00       	jmp    0x417283
4166be:	8b 4f 10             	mov    0x10(%edi),%ecx
4166c1:	e8 9a fd ff ff       	call   0x416460
4166c6:	e9 b8 0b 00 00       	jmp    0x417283
4166cb:	8b 47 10             	mov    0x10(%edi),%eax
4166ce:	ff 70 30             	push   0x30(%eax)
4166d1:	e9 ae 0b 00 00       	jmp    0x417284
4166d6:	8b 47 10             	mov    0x10(%edi),%eax
4166d9:	ff 70 18             	push   0x18(%eax)
4166dc:	e9 a3 0b 00 00       	jmp    0x417284
4166e1:	8b 47 10             	mov    0x10(%edi),%eax
4166e4:	6a 00                	push   $0x0
4166e6:	68 00 04 00 00       	push   $0x400
4166eb:	8b 40 18             	mov    0x18(%eax),%eax
4166ee:	f7 61 2c             	mull   0x2c(%ecx)
4166f1:	52                   	push   %edx
4166f2:	50                   	push   %eax
4166f3:	e8 28 70 03 00       	call   0x44d720
4166f8:	6a 00                	push   $0x0
4166fa:	8b c8                	mov    %eax,%ecx
4166fc:	8b c2                	mov    %edx,%eax
4166fe:	68 00 04 00 00       	push   $0x400
416703:	50                   	push   %eax
416704:	51                   	push   %ecx
416705:	89 4d dc             	mov    %ecx,-0x24(%ebp)
416708:	89 45 cc             	mov    %eax,-0x34(%ebp)
41670b:	e8 30 71 03 00       	call   0x44d840
416710:	6a 00                	push   $0x0
416712:	68 10 27 00 00       	push   $0x2710
416717:	8b fa                	mov    %edx,%edi
416719:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41671c:	57                   	push   %edi
41671d:	50                   	push   %eax
41671e:	e8 ad 70 03 00       	call   0x44d7d0
416723:	85 d2                	test   %edx,%edx
416725:	7c 10                	jl     0x416737
416727:	7f 07                	jg     0x416730
416729:	3d 00 14 00 00       	cmp    $0x1400,%eax
41672e:	72 07                	jb     0x416737
416730:	be 01 00 00 00       	mov    $0x1,%esi
416735:	eb 02                	jmp    0x416739
416737:	33 f6                	xor    %esi,%esi
416739:	6a 00                	push   $0x0
41673b:	68 e8 03 00 00       	push   $0x3e8
416740:	57                   	push   %edi
416741:	ff 75 d4             	push   -0x2c(%ebp)
416744:	e8 87 70 03 00       	call   0x44d7d0
416749:	6a 00                	push   $0x0
41674b:	68 00 04 00 00       	push   $0x400
416750:	52                   	push   %edx
416751:	50                   	push   %eax
416752:	e8 c9 6f 03 00       	call   0x44d720
416757:	03 c6                	add    %esi,%eax
416759:	50                   	push   %eax
41675a:	6a 00                	push   $0x0
41675c:	68 00 04 00 00       	push   $0x400
416761:	ff 75 cc             	push   -0x34(%ebp)
416764:	ff 75 dc             	push   -0x24(%ebp)
416767:	e8 b4 6f 03 00       	call   0x44d720
41676c:	50                   	push   %eax
41676d:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
416770:	8b 04 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%eax
416777:	83 e8 04             	sub    $0x4,%eax
41677a:	50                   	push   %eax
41677b:	68 5c 2a 40 00       	push   $0x402a5c
416780:	ff 15 74 23 45 00    	call   *0x452374
416786:	83 c4 10             	add    $0x10,%esp
416789:	e9 e3 06 00 00       	jmp    0x416e71
41678e:	8b 47 10             	mov    0x10(%edi),%eax
416791:	8b 40 18             	mov    0x18(%eax),%eax
416794:	89 45 dc             	mov    %eax,-0x24(%ebp)
416797:	db 45 dc             	fildl  -0x24(%ebp)
41679a:	85 c0                	test   %eax,%eax
41679c:	79 06                	jns    0x4167a4
41679e:	dc 05 e8 42 41 00    	faddl  0x4142e8
4167a4:	dd 5d d8             	fstpl  -0x28(%ebp)
4167a7:	dd 45 d8             	fldl   -0x28(%ebp)
4167aa:	8b 41 4c             	mov    0x4c(%ecx),%eax
4167ad:	db 41 4c             	fildl  0x4c(%ecx)
4167b0:	85 c0                	test   %eax,%eax
4167b2:	79 06                	jns    0x4167ba
4167b4:	dc 05 e8 42 41 00    	faddl  0x4142e8
4167ba:	dd 5d d8             	fstpl  -0x28(%ebp)
4167bd:	dc 75 d8             	fdivl  -0x28(%ebp)
4167c0:	dc 0d d0 42 41 00    	fmull  0x4142d0
4167c6:	83 ec 08             	sub    $0x8,%esp
4167c9:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
4167cc:	8b 04 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%eax
4167d3:	48                   	dec    %eax
4167d4:	dd 1c 24             	fstpl  (%esp)
4167d7:	6a 02                	push   $0x2
4167d9:	50                   	push   %eax
4167da:	68 70 2a 40 00       	push   $0x402a70
4167df:	ff 15 74 23 45 00    	call   *0x452374
4167e5:	83 c4 14             	add    $0x14,%esp
4167e8:	e9 84 06 00 00       	jmp    0x416e71
4167ed:	8b 47 0c             	mov    0xc(%edi),%eax
4167f0:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
4167f4:	0f 84 70 06 00 00    	je     0x416e6a
4167fa:	8b 51 74             	mov    0x74(%ecx),%edx
4167fd:	85 d2                	test   %edx,%edx
4167ff:	0f 84 65 06 00 00    	je     0x416e6a
416805:	8b 47 10             	mov    0x10(%edi),%eax
416808:	8b 40 18             	mov    0x18(%eax),%eax
41680b:	89 45 dc             	mov    %eax,-0x24(%ebp)
41680e:	db 45 dc             	fildl  -0x24(%ebp)
416811:	85 c0                	test   %eax,%eax
416813:	79 06                	jns    0x41681b
416815:	dc 05 e8 42 41 00    	faddl  0x4142e8
41681b:	dd 5d d8             	fstpl  -0x28(%ebp)
41681e:	dd 45 d8             	fldl   -0x28(%ebp)
416821:	89 55 dc             	mov    %edx,-0x24(%ebp)
416824:	db 45 dc             	fildl  -0x24(%ebp)
416827:	85 d2                	test   %edx,%edx
416829:	79 06                	jns    0x416831
41682b:	dc 05 e8 42 41 00    	faddl  0x4142e8
416831:	dd 5d d8             	fstpl  -0x28(%ebp)