4020bf:	3b c8                	cmp    %eax,%ecx
4020c1:	0f 8f 2f 01 00 00    	jg     0x4021f6
4020c7:	db 45 f0             	fildl  -0x10(%ebp)
4020ca:	dd 5d dc             	fstpl  -0x24(%ebp)
4020cd:	dd 45 dc             	fldl   -0x24(%ebp)
4020d0:	dc 25 9a bb 4c 00    	fsubl  0x4cbb9a
4020d6:	dd 5d d4             	fstpl  -0x2c(%ebp)
4020d9:	dd 45 d4             	fldl   -0x2c(%ebp)
4020dc:	dc 0d fa bb 4c 00    	fmull  0x4cbbfa
4020e2:	dd 5d cc             	fstpl  -0x34(%ebp)
4020e5:	db 45 f4             	fildl  -0xc(%ebp)
4020e8:	dd 5d c4             	fstpl  -0x3c(%ebp)
4020eb:	dd 45 c4             	fldl   -0x3c(%ebp)
4020ee:	dc 45 cc             	faddl  -0x34(%ebp)
4020f1:	dc 05 a2 bb 4c 00    	faddl  0x4cbba2
4020f7:	dd 5d bc             	fstpl  -0x44(%ebp)
4020fa:	dd 45 bc             	fldl   -0x44(%ebp)
4020fd:	e8 ed f0 ff ff       	call   0x4011ef
402102:	50                   	push   %eax
402103:	e8 33 fb ff ff       	call   0x401c3b
402108:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
40210c:	68 01 03 00 80       	push   $0x80000301
402111:	6a 00                	push   $0x0
402113:	68 00 f0 00 00       	push   $0xf000
402118:	8b 45 ec             	mov    -0x14(%ebp),%eax
40211b:	98                   	cwtl
40211c:	68 01 03 00 80       	push   $0x80000301
402121:	6a 00                	push   $0x0
402123:	50                   	push   %eax
402124:	68 02 00 00 00       	push   $0x2
402129:	bb c4 00 00 00       	mov    $0xc4,%ebx
40212e:	e8 7d ee 09 00       	call   0x4a0fb0
402133:	83 c4 1c             	add    $0x1c,%esp
402136:	89 45 dc             	mov    %eax,-0x24(%ebp)
402139:	81 7d dc 00 30 00 00 	cmpl   $0x3000,-0x24(%ebp)
402140:	0f 85 a8 00 00 00    	jne    0x4021ee
402146:	ff 75 f4             	push   -0xc(%ebp)
402149:	e8 4d fb ff ff       	call   0x401c9b
40214e:	89 45 e0             	mov    %eax,-0x20(%ebp)
402151:	68 01 03 00 80       	push   $0x80000301
402156:	6a 00                	push   $0x0
402158:	68 ff 0f 00 00       	push   $0xfff
40215d:	8b 45 ec             	mov    -0x14(%ebp),%eax
402160:	98                   	cwtl
402161:	68 01 03 00 80       	push   $0x80000301
402166:	6a 00                	push   $0x0
402168:	50                   	push   %eax
402169:	68 02 00 00 00       	push   $0x2
40216e:	bb c4 00 00 00       	mov    $0xc4,%ebx
402173:	e8 38 ee 09 00       	call   0x4a0fb0
402178:	83 c4 1c             	add    $0x1c,%esp
40217b:	89 45 dc             	mov    %eax,-0x24(%ebp)
40217e:	db 45 08             	fildl  0x8(%ebp)
402181:	dd 5d d4             	fstpl  -0x2c(%ebp)
402184:	dd 45 d4             	fldl   -0x2c(%ebp)
402187:	db 45 e0             	fildl  -0x20(%ebp)
40218a:	dd 5d cc             	fstpl  -0x34(%ebp)
40218d:	dc 45 cc             	faddl  -0x34(%ebp)
402190:	db 45 dc             	fildl  -0x24(%ebp)
402193:	dd 5d c4             	fstpl  -0x3c(%ebp)
402196:	dc 45 c4             	faddl  -0x3c(%ebp)
402199:	dd 5d bc             	fstpl  -0x44(%ebp)
40219c:	dd 45 bc             	fldl   -0x44(%ebp)
40219f:	e8 4b f0 ff ff       	call   0x4011ef
4021a4:	89 45 e8             	mov    %eax,-0x18(%ebp)
4021a7:	ff 75 e8             	push   -0x18(%ebp)
4021aa:	e8 ec fa ff ff       	call   0x401c9b
4021af:	89 45 d8             	mov    %eax,-0x28(%ebp)
4021b2:	db 45 d8             	fildl  -0x28(%ebp)
4021b5:	dd 5d d8             	fstpl  -0x28(%ebp)
4021b8:	dd 45 d8             	fldl   -0x28(%ebp)
4021bb:	db 45 fc             	fildl  -0x4(%ebp)
4021be:	dd 5d d0             	fstpl  -0x30(%ebp)
4021c1:	dc 45 d0             	faddl  -0x30(%ebp)
4021c4:	dd 5d c8             	fstpl  -0x38(%ebp)
4021c7:	dd 45 c8             	fldl   -0x38(%ebp)
4021ca:	e8 20 f0 ff ff       	call   0x4011ef
4021cf:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4021d2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4021d5:	50                   	push   %eax
4021d6:	e8 8c 00 00 00       	call   0x402267
4021db:	89 45 e0             	mov    %eax,-0x20(%ebp)
4021de:	68 04 00 00 00       	push   $0x4
4021e3:	ff 75 e0             	push   -0x20(%ebp)
4021e6:	ff 75 e8             	push   -0x18(%ebp)
4021e9:	e8 a3 fb ff ff       	call   0x401d91
4021ee:	58                   	pop    %eax
4021ef:	5b                   	pop    %ebx
4021f0:	59                   	pop    %ecx
4021f1:	e9 c3 fe ff ff       	jmp    0x4020b9
4021f6:	83 c4 0c             	add    $0xc,%esp
4021f9:	db 45 f4             	fildl  -0xc(%ebp)
4021fc:	dd 5d dc             	fstpl  -0x24(%ebp)
4021ff:	dd 45 dc             	fldl   -0x24(%ebp)
402202:	dc 05 f2 bb 4c 00    	faddl  0x4cbbf2
402208:	dd 5d d4             	fstpl  -0x2c(%ebp)
40220b:	dd 45 d4             	fldl   -0x2c(%ebp)
40220e:	e8 dc ef ff ff       	call   0x4011ef
402213:	50                   	push   %eax
402214:	e8 82 fa ff ff       	call   0x401c9b
402219:	89 45 d0             	mov    %eax,-0x30(%ebp)
40221c:	db 45 f8             	fildl  -0x8(%ebp)
40221f:	dd 5d c8             	fstpl  -0x38(%ebp)
402222:	dd 45 c8             	fldl   -0x38(%ebp)
402225:	db 45 d0             	fildl  -0x30(%ebp)
402228:	dd 5d c0             	fstpl  -0x40(%ebp)
40222b:	dc 45 c0             	faddl  -0x40(%ebp)
40222e:	dd 5d b8             	fstpl  -0x48(%ebp)
402231:	dd 45 b8             	fldl   -0x48(%ebp)
402234:	e8 b6 ef ff ff       	call   0x4011ef
402239:	89 45 f8             	mov    %eax,-0x8(%ebp)
40223c:	db 45 08             	fildl  0x8(%ebp)
40223f:	dd 5d dc             	fstpl  -0x24(%ebp)
402242:	dd 45 dc             	fldl   -0x24(%ebp)
402245:	db 45 f8             	fildl  -0x8(%ebp)
402248:	dd 5d d4             	fstpl  -0x2c(%ebp)
40224b:	dc 45 d4             	faddl  -0x2c(%ebp)
40224e:	dd 5d cc             	fstpl  -0x34(%ebp)
402251:	dd 45 cc             	fldl   -0x34(%ebp)
402254:	e8 96 ef ff ff       	call   0x4011ef
402259:	89 45 f4             	mov    %eax,-0xc(%ebp)
40225c:	e9 f1 fd ff ff       	jmp    0x402052
402261:	8b e5                	mov    %ebp,%esp
402263:	5d                   	pop    %ebp
402264:	c2 08 00             	ret    $0x8
402267:	55                   	push   %ebp
402268:	8b ec                	mov    %esp,%ebp
40226a:	8b 45 08             	mov    0x8(%ebp),%eax
40226d:	c9                   	leave
40226e:	c2 04 00             	ret    $0x4
402271:	b8 00 00 00 00       	mov    $0x0,%eax
402276:	e9 00 00 00 00       	jmp    0x40227b
40227b:	8b e5                	mov    %ebp,%esp
40227d:	5d                   	pop    %ebp
40227e:	c2 04 00             	ret    $0x4
402281:	55                   	push   %ebp
402282:	8b ec                	mov    %esp,%ebp
402284:	81 ec 5c 00 00 00    	sub    $0x5c,%esp
40228a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402291:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
402298:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40229f:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4022a6:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
4022ad:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4022b4:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4022bb:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4022c2:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
4022c9:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4022d0:	db 45 0c             	fildl  0xc(%ebp)
4022d3:	dd 5d d0             	fstpl  -0x30(%ebp)
4022d6:	dd 45 d0             	fldl   -0x30(%ebp)
4022d9:	dc 05 da bb 4c 00    	faddl  0x4cbbda
4022df:	dd 5d c8             	fstpl  -0x38(%ebp)
4022e2:	dd 45 c8             	fldl   -0x38(%ebp)
4022e5:	e8 05 ef ff ff       	call   0x4011ef
4022ea:	50                   	push   %eax
4022eb:	e8 ab f9 ff ff       	call   0x401c9b
4022f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4022f3:	db 45 08             	fildl  0x8(%ebp)
4022f6:	dd 5d d0             	fstpl  -0x30(%ebp)
4022f9:	dd 45 d0             	fldl   -0x30(%ebp)
4022fc:	db 45 fc             	fildl  -0x4(%ebp)
4022ff:	dd 5d c8             	fstpl  -0x38(%ebp)
402302:	dc 45 c8             	faddl  -0x38(%ebp)
402305:	dd 5d c0             	fstpl  -0x40(%ebp)
402308:	dd 45 c0             	fldl   -0x40(%ebp)
40230b:	e8 df ee ff ff       	call   0x4011ef
402310:	89 45 f8             	mov    %eax,-0x8(%ebp)
402313:	db 45 f8             	fildl  -0x8(%ebp)
402316:	dd 5d d0             	fstpl  -0x30(%ebp)
402319:	dd 45 d0             	fldl   -0x30(%ebp)
40231c:	dc 05 aa bb 4c 00    	faddl  0x4cbbaa
402322:	dd 5d c8             	fstpl  -0x38(%ebp)
402325:	dd 45 c8             	fldl   -0x38(%ebp)
402328:	e8 c2 ee ff ff       	call   0x4011ef
40232d:	50                   	push   %eax
40232e:	e8 68 f9 ff ff       	call   0x401c9b
402333:	89 45 f4             	mov    %eax,-0xc(%ebp)
402336:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40233a:	0f 84 6c 03 00 00    	je     0x4026ac
402340:	db 45 f8             	fildl  -0x8(%ebp)
402343:	dd 5d d0             	fstpl  -0x30(%ebp)
402346:	dd 45 d0             	fldl   -0x30(%ebp)
402349:	dc 05 b2 bb 4c 00    	faddl  0x4cbbb2
40234f:	dd 5d c8             	fstpl  -0x38(%ebp)
402352:	dd 45 c8             	fldl   -0x38(%ebp)
402355:	e8 95 ee ff ff       	call   0x4011ef
40235a:	50                   	push   %eax
40235b:	e8 3b f9 ff ff       	call   0x401c9b
402360:	89 45 c4             	mov    %eax,-0x3c(%ebp)
402363:	db 45 08             	fildl  0x8(%ebp)
402366:	dd 5d bc             	fstpl  -0x44(%ebp)
402369:	dd 45 bc             	fldl   -0x44(%ebp)
40236c:	db 45 c4             	fildl  -0x3c(%ebp)
40236f:	dd 5d b4             	fstpl  -0x4c(%ebp)
402372:	dc 45 b4             	faddl  -0x4c(%ebp)
402375:	dd 5d ac             	fstpl  -0x54(%ebp)
402378:	dd 45 ac             	fldl   -0x54(%ebp)
40237b:	e8 6f ee ff ff       	call   0x4011ef
402380:	89 45 f0             	mov    %eax,-0x10(%ebp)
402383:	89 65 d4             	mov    %esp,-0x2c(%ebp)
402386:	ff 75 f0             	push   -0x10(%ebp)
402389:	33 c0                	xor    %eax,%eax
40238b:	ff 15 8c 9a 50 00    	call   *0x509a8c
402391:	90                   	nop
402392:	90                   	nop
402393:	39 65 d4             	cmp    %esp,-0x2c(%ebp)
402396:	74 17                	je     0x4023af
402398:	68 94 01 00 00       	push   $0x194
40239d:	68 b8 d2 03 04       	push   $0x403d2b8
4023a2:	68 06 00 00 00       	push   $0x6
4023a7:	e8 fe e1 09 00       	call   0x4a05aa
4023ac:	83 c4 0c             	add    $0xc,%esp
4023af:	89 45 ec             	mov    %eax,-0x14(%ebp)
4023b2:	db 45 08             	fildl  0x8(%ebp)
4023b5:	dd 5d d0             	fstpl  -0x30(%ebp)
4023b8:	dd 45 d0             	fldl   -0x30(%ebp)
4023bb:	db 45 f4             	fildl  -0xc(%ebp)
4023be:	dd 5d c8             	fstpl  -0x38(%ebp)
4023c1:	dc 45 c8             	faddl  -0x38(%ebp)
4023c4:	dd 5d c0             	fstpl  -0x40(%ebp)
4023c7:	dd 45 c0             	fldl   -0x40(%ebp)
4023ca:	e8 20 ee ff ff       	call   0x4011ef
4023cf:	50                   	push   %eax
4023d0:	e8 c6 f8 ff ff       	call   0x401c9b
4023d5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4023d8:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4023dc:	0f 84 7e 02 00 00    	je     0x402660
4023e2:	68 01 03 00 80       	push   $0x80000301
4023e7:	6a 00                	push   $0x0
4023e9:	68 00 00 00 80       	push   $0x80000000
4023ee:	68 01 03 00 80       	push   $0x80000301
4023f3:	6a 00                	push   $0x0
4023f5:	ff 75 e8             	push   -0x18(%ebp)
4023f8:	68 02 00 00 00       	push   $0x2
4023fd:	bb c4 00 00 00       	mov    $0xc4,%ebx
402402:	e8 a9 eb 09 00       	call   0x4a0fb0
402407:	83 c4 1c             	add    $0x1c,%esp
40240a:	89 45 d0             	mov    %eax,-0x30(%ebp)
40240d:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
402411:	0f 85 31 00 00 00    	jne    0x402448
402417:	db 45 08             	fildl  0x8(%ebp)
40241a:	dd 5d d0             	fstpl  -0x30(%ebp)
40241d:	dd 45 d0             	fldl   -0x30(%ebp)
402420:	db 45 e8             	fildl  -0x18(%ebp)
402423:	dd 5d c8             	fstpl  -0x38(%ebp)
402426:	dc 45 c8             	faddl  -0x38(%ebp)
402429:	dc 05 fa bb 4c 00    	faddl  0x4cbbfa
40242f:	dd 5d c0             	fstpl  -0x40(%ebp)
402432:	dd 45 c0             	fldl   -0x40(%ebp)
402435:	e8 b5 ed ff ff       	call   0x4011ef
40243a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40243d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
402440:	89 45 e0             	mov    %eax,-0x20(%ebp)
402443:	e9 6e 00 00 00       	jmp    0x4024b6
402448:	68 01 03 00 80       	push   $0x80000301
40244d:	6a 00                	push   $0x0
40244f:	68 ff ff 00 00       	push   $0xffff
402454:	68 01 03 00 80       	push   $0x80000301
402459:	6a 00                	push   $0x0
40245b:	ff 75 e8             	push   -0x18(%ebp)
40245e:	68 02 00 00 00       	push   $0x2
402463:	bb c4 00 00 00       	mov    $0xc4,%ebx
402468:	e8 43 eb 09 00       	call   0x4a0fb0
40246d:	83 c4 1c             	add    $0x1c,%esp
402470:	89 45 e4             	mov    %eax,-0x1c(%ebp)
402473:	68 01 03 00 80       	push   $0x80000301
402478:	6a 00                	push   $0x0
40247a:	ff 75 e4             	push   -0x1c(%ebp)
40247d:	68 01 00 00 00       	push   $0x1
402482:	bb 68 01 00 00       	mov    $0x168,%ebx
402487:	e8 64 ec 09 00       	call   0x4a10f0
40248c:	83 c4 10             	add    $0x10,%esp
40248f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
402492:	8b 45 d4             	mov    -0x2c(%ebp),%eax
402495:	50                   	push   %eax
402496:	8b 5d dc             	mov    -0x24(%ebp),%ebx
402499:	85 db                	test   %ebx,%ebx
40249b:	74 09                	je     0x4024a6
40249d:	53                   	push   %ebx
40249e:	e8 01 e1 09 00       	call   0x4a05a4
4024a3:	83 c4 04             	add    $0x4,%esp
4024a6:	58                   	pop    %eax
4024a7:	89 45 dc             	mov    %eax,-0x24(%ebp)
4024aa:	8d 45 dc             	lea    -0x24(%ebp),%eax
4024ad:	50                   	push   %eax
4024ae:	e8 1b 02 00 00       	call   0x4026ce
4024b3:	89 45 e0             	mov    %eax,-0x20(%ebp)
4024b6:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4024ba:	0f 85 0c 00 00 00    	jne    0x4024cc
4024c0:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4024c7:	e9 aa 00 00 00       	jmp    0x402576
4024cc:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4024d3:	6a 00                	push   $0x0
4024d5:	ff 75 d4             	push   -0x2c(%ebp)
4024d8:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4024df:	6a 00                	push   $0x0
4024e1:	ff 75 d0             	push   -0x30(%ebp)
4024e4:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
4024eb:	6a 00                	push   $0x0
4024ed:	ff 75 cc             	push   -0x34(%ebp)
4024f0:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4024f7:	6a 00                	push   $0x0
4024f9:	ff 75 c8             	push   -0x38(%ebp)
4024fc:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
402503:	6a 00                	push   $0x0
402505:	ff 75 c4             	push   -0x3c(%ebp)
402508:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40250f:	6a 00                	push   $0x0
402511:	ff 75 c0             	push   -0x40(%ebp)
402514:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
40251b:	6a 00                	push   $0x0
40251d:	ff 75 bc             	push   -0x44(%ebp)
402520:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
402527:	6a 00                	push   $0x0
402529:	ff 75 b8             	push   -0x48(%ebp)
40252c:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
402533:	6a 00                	push   $0x0
402535:	ff 75 b4             	push   -0x4c(%ebp)
402538:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40253f:	6a 00                	push   $0x0
402541:	ff 75 b0             	push   -0x50(%ebp)
402544:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
40254b:	6a 00                	push   $0x0
40254d:	ff 75 ac             	push   -0x54(%ebp)
402550:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
402557:	6a 00                	push   $0x0
402559:	ff 75 a8             	push   -0x58(%ebp)
40255c:	6a 01                	push   $0x1
40255e:	ff 75 14             	push   0x14(%ebp)
402561:	6a 01                	push   $0x1
402563:	ff 75 e0             	push   -0x20(%ebp)
402566:	6a 01                	push   $0x1
402568:	ff 75 f0             	push   -0x10(%ebp)
40256b:	ff 75 10             	push   0x10(%ebp)
40256e:	e8 77 01 00 00       	call   0x4026ea
402573:	89 45 d8             	mov    %eax,-0x28(%ebp)
402576:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
40257a:	0f 85 32 00 00 00    	jne    0x4025b2
402580:	89 65 d4             	mov    %esp,-0x2c(%ebp)
402583:	ff 75 e4             	push   -0x1c(%ebp)
402586:	ff 75 ec             	push   -0x14(%ebp)
402589:	33 c0                	xor    %eax,%eax
40258b:	ff 15 ac 31 4b 00    	call   *0x4b31ac
402591:	90                   	nop
402592:	90                   	nop
402593:	39 65 d4             	cmp    %esp,-0x2c(%ebp)
402596:	74 17                	je     0x4025af
402598:	68 ac 04 00 00       	push   $0x4ac
40259d:	68 b8 d2 03 04       	push   $0x403d2b8