4531ca:	8b 55 dc             	mov    -0x24(%ebp),%edx
4531cd:	89 08                	mov    %ecx,(%eax)
4531cf:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4531d2:	89 50 04             	mov    %edx,0x4(%eax)
4531d5:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4531d8:	89 48 08             	mov    %ecx,0x8(%eax)
4531db:	89 50 0c             	mov    %edx,0xc(%eax)
4531de:	8b 45 fc             	mov    -0x4(%ebp),%eax
4531e1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4531e4:	5f                   	pop    %edi
4531e5:	5e                   	pop    %esi
4531e6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4531ed:	5b                   	pop    %ebx
4531ee:	8b e5                	mov    %ebp,%esp
4531f0:	5d                   	pop    %ebp
4531f1:	c2 10 00             	ret    $0x10
4531f4:	e9 e3 e3 fa ff       	jmp    0x4015dc
4531f9:	ff 15 7c 11 40 00    	call   *0x40117c
4531ff:	90                   	nop
453200:	33 c0                	xor    %eax,%eax
453202:	c2 04 00             	ret    $0x4
453205:	90                   	nop
453206:	90                   	nop
453207:	90                   	nop
453208:	90                   	nop
453209:	90                   	nop
45320a:	90                   	nop
45320b:	90                   	nop
45320c:	90                   	nop
45320d:	90                   	nop
45320e:	90                   	nop
45320f:	90                   	nop
453210:	55                   	push   %ebp
453211:	8b ec                	mov    %esp,%ebp
453213:	83 ec 0c             	sub    $0xc,%esp
453216:	68 d6 15 40 00       	push   $0x4015d6
45321b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453221:	50                   	push   %eax
453222:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
453229:	81 ec 98 00 00 00    	sub    $0x98,%esp
45322f:	53                   	push   %ebx
453230:	56                   	push   %esi
453231:	57                   	push   %edi
453232:	89 65 f4             	mov    %esp,-0xc(%ebp)
453235:	c7 45 f8 08 15 40 00 	movl   $0x401508,-0x8(%ebp)
45323c:	8b 75 08             	mov    0x8(%ebp),%esi
45323f:	8b c6                	mov    %esi,%eax
453241:	83 e0 01             	and    $0x1,%eax
453244:	89 45 fc             	mov    %eax,-0x4(%ebp)
453247:	83 e6 fe             	and    $0xfffffffe,%esi
45324a:	56                   	push   %esi
45324b:	89 75 08             	mov    %esi,0x8(%ebp)
45324e:	8b 0e                	mov    (%esi),%ecx
453250:	ff 51 04             	call   *0x4(%ecx)
453253:	33 db                	xor    %ebx,%ebx
453255:	66 83 7e 38 01       	cmpw   $0x1,0x38(%esi)
45325a:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45325d:	89 5d c8             	mov    %ebx,-0x38(%ebp)
453260:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
453263:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
453266:	89 5d 90             	mov    %ebx,-0x70(%ebp)
453269:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
45326c:	89 5d 88             	mov    %ebx,-0x78(%ebp)
45326f:	0f 8d d3 01 00 00    	jge    0x453448
453275:	66 89 1d 32 70 45 00 	mov    %bx,0x457032
45327c:	e8 3f 3d ff ff       	call   0x446fc0
453281:	66 89 1d 36 70 45 00 	mov    %bx,0x457036
453288:	8b 16                	mov    (%esi),%edx
45328a:	56                   	push   %esi
45328b:	ff 92 34 03 00 00    	call   *0x334(%edx)
453291:	50                   	push   %eax
453292:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453295:	50                   	push   %eax
453296:	ff 15 d0 10 40 00    	call   *0x4010d0
45329c:	8b f8                	mov    %eax,%edi
45329e:	53                   	push   %ebx
45329f:	8b 17                	mov    (%edi),%edx
4532a1:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
4532a7:	ff 15 84 10 40 00    	call   *0x401084
4532ad:	8b d0                	mov    %eax,%edx
4532af:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4532b2:	ff 15 d8 11 40 00    	call   *0x4011d8
4532b8:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
4532be:	50                   	push   %eax
4532bf:	57                   	push   %edi
4532c0:	ff 51 54             	call   *0x54(%ecx)
4532c3:	85 c0                	test   %eax,%eax
4532c5:	db e2                	fnclex
4532c7:	7d 0f                	jge    0x4532d8
4532c9:	6a 54                	push   $0x54
4532cb:	68 88 7b 40 00       	push   $0x407b88
4532d0:	57                   	push   %edi
4532d1:	50                   	push   %eax
4532d2:	ff 15 bc 10 40 00    	call   *0x4010bc
4532d8:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4532db:	ff 15 00 12 40 00    	call   *0x401200
4532e1:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4532e4:	ff 15 fc 11 40 00    	call   *0x4011fc
4532ea:	e8 81 2e ff ff       	call   0x446170
4532ef:	8b 16                	mov    (%esi),%edx
4532f1:	56                   	push   %esi
4532f2:	ff 92 00 03 00 00    	call   *0x300(%edx)
4532f8:	8b 1d d0 10 40 00    	mov    0x4010d0,%ebx
4532fe:	50                   	push   %eax
4532ff:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453302:	50                   	push   %eax
453303:	ff d3                	call   *%ebx
453305:	8b f8                	mov    %eax,%edi
453307:	6a 00                	push   $0x0
453309:	57                   	push   %edi
45330a:	8b 0f                	mov    (%edi),%ecx
45330c:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
453312:	85 c0                	test   %eax,%eax
453314:	db e2                	fnclex
453316:	7d 12                	jge    0x45332a
453318:	68 8c 00 00 00       	push   $0x8c
45331d:	68 fc 7d 40 00       	push   $0x407dfc
453322:	57                   	push   %edi
453323:	50                   	push   %eax
453324:	ff 15 bc 10 40 00    	call   *0x4010bc
45332a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45332d:	ff 15 fc 11 40 00    	call   *0x4011fc
453333:	83 ec 10             	sub    $0x10,%esp
453336:	b9 0b 00 00 00       	mov    $0xb,%ecx
45333b:	8b d4                	mov    %esp,%edx
45333d:	33 c0                	xor    %eax,%eax
45333f:	68 ec 8c 40 00       	push   $0x408cec
453344:	89 0a                	mov    %ecx,(%edx)
453346:	8b 4d a8             	mov    -0x58(%ebp),%ecx
453349:	89 4a 04             	mov    %ecx,0x4(%edx)
45334c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45334f:	51                   	push   %ecx
453350:	89 42 08             	mov    %eax,0x8(%edx)
453353:	8b 45 b0             	mov    -0x50(%ebp),%eax
453356:	89 42 0c             	mov    %eax,0xc(%edx)
453359:	ff 15 24 11 40 00    	call   *0x401124
45335f:	8b 16                	mov    (%esi),%edx
453361:	56                   	push   %esi
453362:	ff 92 04 03 00 00    	call   *0x304(%edx)
453368:	50                   	push   %eax
453369:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45336c:	50                   	push   %eax
45336d:	ff d3                	call   *%ebx
45336f:	8b f8                	mov    %eax,%edi
453371:	6a 00                	push   $0x0
453373:	57                   	push   %edi
453374:	8b 0f                	mov    (%edi),%ecx
453376:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
45337c:	85 c0                	test   %eax,%eax
45337e:	db e2                	fnclex
453380:	7d 12                	jge    0x453394
453382:	68 8c 00 00 00       	push   $0x8c
453387:	68 fc 7d 40 00       	push   $0x407dfc
45338c:	57                   	push   %edi
45338d:	50                   	push   %eax
45338e:	ff 15 bc 10 40 00    	call   *0x4010bc
453394:	8b 3d fc 11 40 00    	mov    0x4011fc,%edi
45339a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45339d:	ff d7                	call   *%edi
45339f:	8b 16                	mov    (%esi),%edx
4533a1:	56                   	push   %esi
4533a2:	ff 92 08 03 00 00    	call   *0x308(%edx)
4533a8:	50                   	push   %eax
4533a9:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4533ac:	50                   	push   %eax
4533ad:	ff d3                	call   *%ebx
4533af:	8b f0                	mov    %eax,%esi
4533b1:	6a ff                	push   $0xffffffff
4533b3:	56                   	push   %esi
4533b4:	8b 0e                	mov    (%esi),%ecx
4533b6:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
4533bc:	85 c0                	test   %eax,%eax
4533be:	db e2                	fnclex
4533c0:	7d 12                	jge    0x4533d4
4533c2:	68 8c 00 00 00       	push   $0x8c
4533c7:	68 fc 7d 40 00       	push   $0x407dfc
4533cc:	56                   	push   %esi
4533cd:	50                   	push   %eax
4533ce:	ff 15 bc 10 40 00    	call   *0x4010bc
4533d4:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4533d7:	ff d7                	call   *%edi
4533d9:	a1 90 78 45 00       	mov    0x457890,%eax
4533de:	85 c0                	test   %eax,%eax
4533e0:	75 10                	jne    0x4533f2
4533e2:	68 90 78 45 00       	push   $0x457890
4533e7:	68 a4 72 40 00       	push   $0x4072a4
4533ec:	ff 15 88 11 40 00    	call   *0x401188
4533f2:	a1 7c 71 45 00       	mov    0x45717c,%eax
4533f7:	8b 35 90 78 45 00    	mov    0x457890,%esi
4533fd:	85 c0                	test   %eax,%eax
4533ff:	75 10                	jne    0x453411
453401:	68 7c 71 45 00       	push   $0x45717c
453406:	68 8c 60 40 00       	push   $0x40608c
45340b:	ff 15 88 11 40 00    	call   *0x401188
453411:	8b 15 7c 71 45 00    	mov    0x45717c,%edx
453417:	8b 1e                	mov    (%esi),%ebx
453419:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45341c:	52                   	push   %edx
45341d:	50                   	push   %eax
45341e:	ff 15 e0 10 40 00    	call   *0x4010e0
453424:	50                   	push   %eax
453425:	56                   	push   %esi
453426:	ff 53 10             	call   *0x10(%ebx)
453429:	85 c0                	test   %eax,%eax
45342b:	db e2                	fnclex
45342d:	7d 0f                	jge    0x45343e
45342f:	6a 10                	push   $0x10
453431:	68 94 72 40 00       	push   $0x407294
453436:	56                   	push   %esi
453437:	50                   	push   %eax
453438:	ff 15 bc 10 40 00    	call   *0x4010bc
45343e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453441:	ff d7                	call   *%edi
453443:	e9 12 07 00 00       	jmp    0x453b5a
453448:	66 8b 0d 1e 70 45 00 	mov    0x45701e,%cx
45344f:	8b 16                	mov    (%esi),%edx
453451:	56                   	push   %esi
453452:	66 89 4d cc          	mov    %cx,-0x34(%ebp)
453456:	ff 92 00 03 00 00    	call   *0x300(%edx)
45345c:	8b 3d d0 10 40 00    	mov    0x4010d0,%edi
453462:	50                   	push   %eax
453463:	8d 45 c4             	lea    -0x3c(%ebp),%eax
453466:	50                   	push   %eax
453467:	ff d7                	call   *%edi
453469:	8b d8                	mov    %eax,%ebx
45346b:	6a 00                	push   $0x0
45346d:	53                   	push   %ebx
45346e:	8b 0b                	mov    (%ebx),%ecx
453470:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
453476:	85 c0                	test   %eax,%eax
453478:	db e2                	fnclex
45347a:	7d 12                	jge    0x45348e
45347c:	68 8c 00 00 00       	push   $0x8c
453481:	68 fc 7d 40 00       	push   $0x407dfc
453486:	53                   	push   %ebx
453487:	50                   	push   %eax
453488:	ff 15 bc 10 40 00    	call   *0x4010bc
45348e:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
453491:	ff 15 fc 11 40 00    	call   *0x4011fc
453497:	83 ec 10             	sub    $0x10,%esp
45349a:	b9 0b 00 00 00       	mov    $0xb,%ecx
45349f:	8b d4                	mov    %esp,%edx
4534a1:	33 c0                	xor    %eax,%eax
4534a3:	68 ec 8c 40 00       	push   $0x408cec
4534a8:	89 0a                	mov    %ecx,(%edx)
4534aa:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4534ad:	89 4a 04             	mov    %ecx,0x4(%edx)
4534b0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4534b3:	51                   	push   %ecx
4534b4:	89 42 08             	mov    %eax,0x8(%edx)
4534b7:	8b 45 b0             	mov    -0x50(%ebp),%eax
4534ba:	89 42 0c             	mov    %eax,0xc(%edx)
4534bd:	ff 15 24 11 40 00    	call   *0x401124
4534c3:	8b 16                	mov    (%esi),%edx
4534c5:	56                   	push   %esi
4534c6:	ff 92 08 03 00 00    	call   *0x308(%edx)
4534cc:	50                   	push   %eax
4534cd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4534d0:	50                   	push   %eax
4534d1:	ff d7                	call   *%edi
4534d3:	8b d8                	mov    %eax,%ebx
4534d5:	6a 00                	push   $0x0
4534d7:	53                   	push   %ebx
4534d8:	8b 0b                	mov    (%ebx),%ecx
4534da:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
4534e0:	85 c0                	test   %eax,%eax
4534e2:	db e2                	fnclex
4534e4:	7d 12                	jge    0x4534f8
4534e6:	68 8c 00 00 00       	push   $0x8c
4534eb:	68 fc 7d 40 00       	push   $0x407dfc
4534f0:	53                   	push   %ebx
4534f1:	50                   	push   %eax
4534f2:	ff 15 bc 10 40 00    	call   *0x4010bc
4534f8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4534fb:	ff 15 fc 11 40 00    	call   *0x4011fc
453501:	8b 16                	mov    (%esi),%edx
453503:	8d 45 b4             	lea    -0x4c(%ebp),%eax
453506:	50                   	push   %eax
453507:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45350a:	8d 45 90             	lea    -0x70(%ebp),%eax
45350d:	51                   	push   %ecx
45350e:	50                   	push   %eax
45350f:	56                   	push   %esi
453510:	c7 45 8c 50 01 00 00 	movl   $0x150,-0x74(%ebp)
453517:	c7 45 90 78 00 00 00 	movl   $0x78,-0x70(%ebp)
45351e:	ff 92 f8 06 00 00    	call   *0x6f8(%edx)
453524:	85 c0                	test   %eax,%eax
453526:	7d 12                	jge    0x45353a
453528:	68 f8 06 00 00       	push   $0x6f8
45352d:	68 20 80 40 00       	push   $0x408020
453532:	56                   	push   %esi
453533:	50                   	push   %eax
453534:	ff 15 bc 10 40 00    	call   *0x4010bc
45353a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45353d:	51                   	push   %ecx
45353e:	ff 15 74 11 40 00    	call   *0x401174
453544:	8b 1d 98 10 40 00    	mov    0x401098,%ebx
45354a:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
45354d:	89 45 e8             	mov    %eax,-0x18(%ebp)
453550:	ff d3                	call   *%ebx
453552:	8d 55 88             	lea    -0x78(%ebp),%edx
453555:	c7 45 88 cd cc 4c 3e 	movl   $0x3e4ccccd,-0x78(%ebp)
45355c:	52                   	push   %edx
45355d:	e8 be 34 ff ff       	call   0x446a20
453562:	8b 06                	mov    (%esi),%eax
453564:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
453567:	51                   	push   %ecx
453568:	8d 55 8c             	lea    -0x74(%ebp),%edx
45356b:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45356e:	52                   	push   %edx
45356f:	51                   	push   %ecx
453570:	56                   	push   %esi
453571:	c7 45 8c 50 01 00 00 	movl   $0x150,-0x74(%ebp)
453578:	c7 45 90 68 01 00 00 	movl   $0x168,-0x70(%ebp)
45357f:	ff 90 f8 06 00 00    	call   *0x6f8(%eax)
453585:	85 c0                	test   %eax,%eax
453587:	7d 12                	jge    0x45359b
453589:	68 f8 06 00 00       	push   $0x6f8
45358e:	68 20 80 40 00       	push   $0x408020
453593:	56                   	push   %esi
453594:	50                   	push   %eax
453595:	ff 15 bc 10 40 00    	call   *0x4010bc
45359b:	8d 55 b4             	lea    -0x4c(%ebp),%edx
45359e:	52                   	push   %edx
45359f:	ff 15 74 11 40 00    	call   *0x401174
4535a5:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4535a8:	89 45 e0             	mov    %eax,-0x20(%ebp)
4535ab:	ff d3                	call   *%ebx
4535ad:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4535b0:	c7 45 bc 04 00 02 80 	movl   $0x80020004,-0x44(%ebp)
4535b7:	50                   	push   %eax
4535b8:	c7 45 b4 0a 00 00 00 	movl   $0xa,-0x4c(%ebp)
4535bf:	ff 15 c8 10 40 00    	call   *0x4010c8
4535c5:	d9 5d 88             	fstps  -0x78(%ebp)
4535c8:	d9 45 88             	flds   -0x78(%ebp)
4535cb:	d8 0d 00 15 40 00    	fmuls  0x401500
4535d1:	df e0                	fnstsw %ax
4535d3:	a8 0d                	test   $0xd,%al
4535d5:	0f 85 d3 05 00 00    	jne    0x453bae
4535db:	ff 15 f0 11 40 00    	call   *0x4011f0
4535e1:	0f bf 4d cc          	movswl -0x34(%ebp),%ecx
4535e5:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
4535eb:	db 85 70 ff ff ff    	fildl  -0x90(%ebp)
4535f1:	0f bf 15 14 70 45 00 	movswl 0x457014,%edx
4535f8:	dd 9d 68 ff ff ff    	fstpl  -0x98(%ebp)
4535fe:	dd 85 68 ff ff ff    	fldl   -0x98(%ebp)
453604:	83 3d 00 70 45 00 00 	cmpl   $0x0,0x457000
45360b:	75 08                	jne    0x453615
45360d:	dc 35 f8 14 40 00    	fdivl  0x4014f8
453613:	eb 11                	jmp    0x453626