40603a:	ff 75 0c             	push   0xc(%ebp)
40603d:	ff 75 08             	push   0x8(%ebp)
406040:	e8 1b 47 00 00       	call   0x40a760
406045:	8d 4e 10             	lea    0x10(%esi),%ecx
406048:	8d 45 14             	lea    0x14(%ebp),%eax
40604b:	3b c8                	cmp    %eax,%ecx
40604d:	74 11                	je     0x406060
40604f:	83 7d 28 08          	cmpl   $0x8,0x28(%ebp)
406053:	ff 75 24             	push   0x24(%ebp)
406056:	0f 43 45 14          	cmovae 0x14(%ebp),%eax
40605a:	50                   	push   %eax
40605b:	e8 a0 cd ff ff       	call   0x402e00
406060:	8a 45 2c             	mov    0x2c(%ebp),%al
406063:	8d 4d 08             	lea    0x8(%ebp),%ecx
406066:	88 46 28             	mov    %al,0x28(%esi)
406069:	e8 12 cd ff ff       	call   0x402d80
40606e:	8b 4d 28             	mov    0x28(%ebp),%ecx
406071:	83 f9 08             	cmp    $0x8,%ecx
406074:	72 2e                	jb     0x4060a4
406076:	8b 55 14             	mov    0x14(%ebp),%edx
406079:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406080:	8b c2                	mov    %edx,%eax
406082:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406088:	72 10                	jb     0x40609a
40608a:	8b 50 fc             	mov    -0x4(%eax),%edx
40608d:	83 c1 23             	add    $0x23,%ecx
406090:	2b c2                	sub    %edx,%eax
406092:	83 c0 fc             	add    $0xfffffffc,%eax
406095:	83 f8 1f             	cmp    $0x1f,%eax
406098:	77 1c                	ja     0x4060b6
40609a:	51                   	push   %ecx
40609b:	52                   	push   %edx
40609c:	e8 67 39 06 00       	call   0x469a08
4060a1:	83 c4 08             	add    $0x8,%esp
4060a4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4060a7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4060ae:	59                   	pop    %ecx
4060af:	5e                   	pop    %esi
4060b0:	8b e5                	mov    %ebp,%esp
4060b2:	5d                   	pop    %ebp
4060b3:	c2 28 00             	ret    $0x28
4060b6:	e8 76 35 07 00       	call   0x479631
4060bb:	cc                   	int3
4060bc:	cc                   	int3
4060bd:	cc                   	int3
4060be:	cc                   	int3
4060bf:	cc                   	int3
4060c0:	55                   	push   %ebp
4060c1:	8b ec                	mov    %esp,%ebp
4060c3:	6a ff                	push   $0xffffffff
4060c5:	68 e3 79 49 00       	push   $0x4979e3
4060ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4060d0:	50                   	push   %eax
4060d1:	81 ec a8 02 00 00    	sub    $0x2a8,%esp
4060d7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4060dc:	33 c5                	xor    %ebp,%eax
4060de:	89 45 f0             	mov    %eax,-0x10(%ebp)
4060e1:	53                   	push   %ebx
4060e2:	56                   	push   %esi
4060e3:	57                   	push   %edi
4060e4:	50                   	push   %eax
4060e5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4060e8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4060ee:	8b 5d 08             	mov    0x8(%ebp),%ebx
4060f1:	33 c0                	xor    %eax,%eax
4060f3:	89 85 68 fd ff ff    	mov    %eax,-0x298(%ebp)
4060f9:	33 c9                	xor    %ecx,%ecx
4060fb:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
406101:	89 85 64 fd ff ff    	mov    %eax,-0x29c(%ebp)
406107:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
40610d:	c7 85 cc fd ff ff 07 	movl   $0x7,-0x234(%ebp)
406114:	00 00 00
406117:	66 89 8d b8 fd ff ff 	mov    %cx,-0x248(%ebp)
40611e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406121:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
406127:	3b cb                	cmp    %ebx,%ecx
406129:	74 1f                	je     0x40614a
40612b:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40612f:	8b c3                	mov    %ebx,%eax
406131:	72 02                	jb     0x406135
406133:	8b 03                	mov    (%ebx),%eax
406135:	ff 73 10             	push   0x10(%ebx)
406138:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
40613e:	50                   	push   %eax
40613f:	e8 bc cc ff ff       	call   0x402e00
406144:	8b 85 c8 fd ff ff    	mov    -0x238(%ebp),%eax
40614a:	be 02 00 00 00       	mov    $0x2,%esi
40614f:	85 c0                	test   %eax,%eax
406151:	0f 84 82 01 00 00    	je     0x4062d9
406157:	6a 17                	push   $0x17
406159:	68 24 00 4b 00       	push   $0x4b0024
40615e:	8d 8d 4c fd ff ff    	lea    -0x2b4(%ebp),%ecx
406164:	c7 85 4c fd ff ff 00 	movl   $0x0,-0x2b4(%ebp)
40616b:	00 00 00
40616e:	c7 85 5c fd ff ff 00 	movl   $0x0,-0x2a4(%ebp)
406175:	00 00 00
406178:	c7 85 60 fd ff ff 00 	movl   $0x0,-0x2a0(%ebp)
40617f:	00 00 00
406182:	e8 d9 be ff ff       	call   0x402060
406187:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40618b:	8b 8d c8 fd ff ff    	mov    -0x238(%ebp),%ecx
406191:	85 c9                	test   %ecx,%ecx
406193:	0f 84 9c 00 00 00    	je     0x406235
406199:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
40619f:	85 c0                	test   %eax,%eax
4061a1:	0f 84 8e 00 00 00    	je     0x406235
4061a7:	8d 79 0b             	lea    0xb(%ecx),%edi
4061aa:	33 c9                	xor    %ecx,%ecx
4061ac:	03 f8                	add    %eax,%edi
4061ae:	8b c7                	mov    %edi,%eax
4061b0:	f7 e6                	mul    %esi
4061b2:	0f 90 c1             	seto   %cl
4061b5:	f7 d9                	neg    %ecx
4061b7:	0b c8                	or     %eax,%ecx
4061b9:	51                   	push   %ecx
4061ba:	e8 42 35 07 00       	call   0x479701
4061bf:	8b f0                	mov    %eax,%esi
4061c1:	83 c4 04             	add    $0x4,%esp
4061c4:	85 f6                	test   %esi,%esi
4061c6:	74 6d                	je     0x406235
4061c8:	83 bd cc fd ff ff 08 	cmpl   $0x8,-0x234(%ebp)
4061cf:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
4061d5:	0f 43 8d b8 fd ff ff 	cmovae -0x248(%ebp),%ecx
4061dc:	51                   	push   %ecx
4061dd:	57                   	push   %edi
4061de:	56                   	push   %esi
4061df:	e8 b9 34 07 00       	call   0x47969d
4061e4:	83 c4 0c             	add    $0xc,%esp
4061e7:	8d 85 4c fd ff ff    	lea    -0x2b4(%ebp),%eax
4061ed:	83 bd 60 fd ff ff 08 	cmpl   $0x8,-0x2a0(%ebp)
4061f4:	0f 43 85 4c fd ff ff 	cmovae -0x2b4(%ebp),%eax
4061fb:	50                   	push   %eax
4061fc:	56                   	push   %esi
4061fd:	ff 15 68 e2 49 00    	call   *0x49e268
406203:	8b ce                	mov    %esi,%ecx
406205:	8d 51 02             	lea    0x2(%ecx),%edx
406208:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
40620f:	00
406210:	66 8b 01             	mov    (%ecx),%ax
406213:	83 c1 02             	add    $0x2,%ecx
406216:	66 85 c0             	test   %ax,%ax
406219:	75 f5                	jne    0x406210
40621b:	2b ca                	sub    %edx,%ecx
40621d:	d1 f9                	sar    $1,%ecx
40621f:	51                   	push   %ecx
406220:	56                   	push   %esi
406221:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
406227:	e8 d4 cb ff ff       	call   0x402e00
40622c:	56                   	push   %esi
40622d:	e8 50 34 07 00       	call   0x479682
406232:	83 c4 04             	add    $0x4,%esp
406235:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406239:	8b 8d 60 fd ff ff    	mov    -0x2a0(%ebp),%ecx
40623f:	83 f9 08             	cmp    $0x8,%ecx
406242:	72 35                	jb     0x406279
406244:	8b 95 4c fd ff ff    	mov    -0x2b4(%ebp),%edx
40624a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406251:	8b c2                	mov    %edx,%eax
406253:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
406259:	72 14                	jb     0x40626f
40625b:	8b 50 fc             	mov    -0x4(%eax),%edx
40625e:	83 c1 23             	add    $0x23,%ecx
406261:	2b c2                	sub    %edx,%eax
406263:	83 c0 fc             	add    $0xfffffffc,%eax
406266:	83 f8 1f             	cmp    $0x1f,%eax
406269:	0f 87 0d 0e 00 00    	ja     0x40707c
40626f:	51                   	push   %ecx
406270:	52                   	push   %edx
406271:	e8 92 37 06 00       	call   0x469a08
406276:	83 c4 08             	add    $0x8,%esp
406279:	83 bd cc fd ff ff 08 	cmpl   $0x8,-0x234(%ebp)
406280:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
406286:	0f 43 85 b8 fd ff ff 	cmovae -0x248(%ebp),%eax
40628d:	50                   	push   %eax
40628e:	ff 15 5c e2 49 00    	call   *0x49e25c
406294:	85 c0                	test   %eax,%eax
406296:	0f 85 11 01 00 00    	jne    0x4063ad
40629c:	50                   	push   %eax
40629d:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
4062a3:	50                   	push   %eax
4062a4:	e8 f7 0d 00 00       	call   0x4070a0
4062a9:	84 c0                	test   %al,%al
4062ab:	0f 85 fc 00 00 00    	jne    0x4063ad
4062b1:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
4062b6:	85 c0                	test   %eax,%eax
4062b8:	0f 85 c7 00 00 00    	jne    0x406385
4062be:	68 84 00 00 00       	push   $0x84
4062c3:	e8 10 37 06 00       	call   0x4699d8
4062c8:	8b f0                	mov    %eax,%esi
4062ca:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
4062d0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4062d4:	e9 8c 00 00 00       	jmp    0x406365
4062d9:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
4062de:	85 c0                	test   %eax,%eax
4062e0:	75 36                	jne    0x406318
4062e2:	68 84 00 00 00       	push   $0x84
4062e7:	e8 ec 36 06 00       	call   0x4699d8
4062ec:	8b f0                	mov    %eax,%esi
4062ee:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
4062f4:	68 84 00 00 00       	push   $0x84
4062f9:	6a 00                	push   $0x0
4062fb:	56                   	push   %esi
4062fc:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
406300:	e8 ab 58 06 00       	call   0x46bbb0
406305:	83 c4 10             	add    $0x10,%esp
406308:	8b ce                	mov    %esi,%ecx
40630a:	e8 71 f9 ff ff       	call   0x405c80
40630f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406313:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
406318:	8b 48 04             	mov    0x4(%eax),%ecx
40631b:	83 c0 04             	add    $0x4,%eax
40631e:	68 b0 00 4b 00       	push   $0x4b00b0
406323:	50                   	push   %eax
406324:	8b 71 14             	mov    0x14(%ecx),%esi
406327:	8b ce                	mov    %esi,%ecx
406329:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40632f:	ff d6                	call   *%esi
406331:	83 c4 08             	add    $0x8,%esp
406334:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
40633a:	6a 00                	push   $0x0
40633c:	50                   	push   %eax
40633d:	e8 5e 0d 00 00       	call   0x4070a0
406342:	84 c0                	test   %al,%al
406344:	75 67                	jne    0x4063ad
406346:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
40634b:	85 c0                	test   %eax,%eax
40634d:	75 36                	jne    0x406385
40634f:	68 84 00 00 00       	push   $0x84
406354:	e8 7f 36 06 00       	call   0x4699d8
406359:	8b f0                	mov    %eax,%esi
40635b:	89 b5 68 fd ff ff    	mov    %esi,-0x298(%ebp)
406361:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
406365:	68 84 00 00 00       	push   $0x84
40636a:	6a 00                	push   $0x0
40636c:	56                   	push   %esi
40636d:	e8 3e 58 06 00       	call   0x46bbb0
406372:	83 c4 10             	add    $0x10,%esp
406375:	8b ce                	mov    %esi,%ecx
406377:	e8 04 f9 ff ff       	call   0x405c80
40637c:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406380:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
406385:	8b 48 04             	mov    0x4(%eax),%ecx
406388:	83 c0 04             	add    $0x4,%eax
40638b:	68 58 00 4b 00       	push   $0x4b0058
406390:	68 60 ea 4a 00       	push   $0x4aea60
406395:	50                   	push   %eax
406396:	8b 71 24             	mov    0x24(%ecx),%esi
406399:	8b ce                	mov    %esi,%ecx
40639b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4063a1:	ff d6                	call   *%esi
4063a3:	83 c4 0c             	add    $0xc,%esp
4063a6:	32 db                	xor    %bl,%bl
4063a8:	e9 73 0c 00 00       	jmp    0x407020
4063ad:	33 c0                	xor    %eax,%eax
4063af:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
4063b6:	00 00 00
4063b9:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
4063c0:	00 00 00
4063c3:	c7 85 e4 fd ff ff 07 	movl   $0x7,-0x21c(%ebp)
4063ca:	00 00 00
4063cd:	66 89 85 d0 fd ff ff 	mov    %ax,-0x230(%ebp)
4063d4:	89 85 70 fd ff ff    	mov    %eax,-0x290(%ebp)
4063da:	89 85 80 fd ff ff    	mov    %eax,-0x280(%ebp)
4063e0:	c7 85 84 fd ff ff 07 	movl   $0x7,-0x27c(%ebp)
4063e7:	00 00 00
4063ea:	66 89 85 70 fd ff ff 	mov    %ax,-0x290(%ebp)
4063f1:	6a 10                	push   $0x10
4063f3:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
4063f7:	e8 dc 35 06 00       	call   0x4699d8
4063fc:	83 c4 04             	add    $0x4,%esp
4063ff:	8b f8                	mov    %eax,%edi
406401:	57                   	push   %edi
406402:	ff 15 cc e2 49 00    	call   *0x49e2cc
406408:	68 04 01 00 00       	push   $0x104
40640d:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
406413:	50                   	push   %eax
406414:	57                   	push   %edi
406415:	ff 15 c0 e2 49 00    	call   *0x49e2c0
40641b:	6a 10                	push   $0x10
40641d:	57                   	push   %edi
40641e:	8b f0                	mov    %eax,%esi
406420:	e8 e3 35 06 00       	call   0x469a08
406425:	83 c4 08             	add    $0x8,%esp
406428:	85 f6                	test   %esi,%esi
40642a:	78 2b                	js     0x406457
40642c:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
406432:	8d 51 02             	lea    0x2(%ecx),%edx
406435:	66 8b 01             	mov    (%ecx),%ax
406438:	83 c1 02             	add    $0x2,%ecx
40643b:	66 85 c0             	test   %ax,%ax
40643e:	75 f5                	jne    0x406435
406440:	2b ca                	sub    %edx,%ecx
406442:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
406448:	d1 f9                	sar    $1,%ecx
40644a:	51                   	push   %ecx
40644b:	50                   	push   %eax
40644c:	8d 8d 70 fd ff ff    	lea    -0x290(%ebp),%ecx
406452:	e8 a9 c9 ff ff       	call   0x402e00
406457:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40645d:	e8 2e 08 02 00       	call   0x426c90
406462:	84 c0                	test   %al,%al
406464:	0f 84 eb 01 00 00    	je     0x406655
40646a:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
406470:	85 c0                	test   %eax,%eax
406472:	0f 84 dd 01 00 00    	je     0x406655
406478:	8b 8d 80 fd ff ff    	mov    -0x280(%ebp),%ecx
40647e:	85 c9                	test   %ecx,%ecx
406480:	0f 84 cf 01 00 00    	je     0x406655
406486:	8d 78 0b             	lea    0xb(%eax),%edi
406489:	ba 02 00 00 00       	mov    $0x2,%edx
40648e:	03 f9                	add    %ecx,%edi
406490:	33 c9                	xor    %ecx,%ecx
406492:	8b c7                	mov    %edi,%eax
406494:	f7 e2                	mul    %edx
406496:	0f 90 c1             	seto   %cl
406499:	f7 d9                	neg    %ecx
40649b:	0b c8                	or     %eax,%ecx
40649d:	51                   	push   %ecx
40649e:	e8 5e 32 07 00       	call   0x479701
4064a3:	8b f0                	mov    %eax,%esi
4064a5:	83 c4 04             	add    $0x4,%esp
4064a8:	85 f6                	test   %esi,%esi
4064aa:	0f 84 a5 01 00 00    	je     0x406655
4064b0:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
4064b7:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
4064bd:	0f 43 8d d0 fd ff ff 	cmovae -0x230(%ebp),%ecx
4064c4:	51                   	push   %ecx
4064c5:	57                   	push   %edi
4064c6:	56                   	push   %esi
4064c7:	e8 d1 31 07 00       	call   0x47969d
4064cc:	83 c4 0c             	add    $0xc,%esp
4064cf:	8d 85 70 fd ff ff    	lea    -0x290(%ebp),%eax
4064d5:	83 bd 84 fd ff ff 08 	cmpl   $0x8,-0x27c(%ebp)
4064dc:	0f 43 85 70 fd ff ff 	cmovae -0x290(%ebp),%eax
4064e3:	50                   	push   %eax
4064e4:	56                   	push   %esi
4064e5:	ff 15 68 e2 49 00    	call   *0x49e268
4064eb:	8b ce                	mov    %esi,%ecx
4064ed:	83 f8 01             	cmp    $0x1,%eax
4064f0:	0f 94 85 6f fd ff ff 	sete   -0x291(%ebp)
4064f7:	8d 51 02             	lea    0x2(%ecx),%edx
4064fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
406500:	66 8b 01             	mov    (%ecx),%ax
406503:	83 c1 02             	add    $0x2,%ecx
406506:	66 85 c0             	test   %ax,%ax
406509:	75 f5                	jne    0x406500
40650b:	2b ca                	sub    %edx,%ecx
40650d:	d1 f9                	sar    $1,%ecx
40650f:	51                   	push   %ecx
406510:	56                   	push   %esi