408198:	5f                   	pop    %edi
408199:	5e                   	pop    %esi
40819a:	81 c4 0c 02 00 00    	add    $0x20c,%esp
4081a0:	c3                   	ret
4081a1:	cc                   	int3
4081a2:	cc                   	int3
4081a3:	cc                   	int3
4081a4:	cc                   	int3
4081a5:	cc                   	int3
4081a6:	cc                   	int3
4081a7:	cc                   	int3
4081a8:	cc                   	int3
4081a9:	cc                   	int3
4081aa:	cc                   	int3
4081ab:	cc                   	int3
4081ac:	cc                   	int3
4081ad:	cc                   	int3
4081ae:	cc                   	int3
4081af:	cc                   	int3
4081b0:	8b 44 24 04          	mov    0x4(%esp),%eax
4081b4:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
4081ba:	85 c0                	test   %eax,%eax
4081bc:	75 11                	jne    0x4081cf
4081be:	68 04 01 00 00       	push   $0x104
4081c3:	68 34 c9 45 00       	push   $0x45c934
4081c8:	8d 44 24 0c          	lea    0xc(%esp),%eax
4081cc:	50                   	push   %eax
4081cd:	eb 34                	jmp    0x408203
4081cf:	83 bc 24 14 02 00 00 	cmpl   $0x0,0x214(%esp)
4081d6:	00
4081d7:	75 1f                	jne    0x4081f8
4081d9:	50                   	push   %eax
4081da:	68 34 c9 45 00       	push   $0x45c934
4081df:	68 0c c2 45 00       	push   $0x45c20c
4081e4:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4081e8:	68 04 01 00 00       	push   $0x104
4081ed:	51                   	push   %ecx
4081ee:	e8 6c 84 02 00       	call   0x43065f
4081f3:	83 c4 14             	add    $0x14,%esp
4081f6:	eb 13                	jmp    0x40820b
4081f8:	68 04 01 00 00       	push   $0x104
4081fd:	50                   	push   %eax
4081fe:	8d 54 24 0c          	lea    0xc(%esp),%edx
408202:	52                   	push   %edx
408203:	e8 a2 88 02 00       	call   0x430aaa
408208:	83 c4 0c             	add    $0xc,%esp
40820b:	8d 44 24 04          	lea    0x4(%esp),%eax
40820f:	50                   	push   %eax
408210:	e8 7b dc ff ff       	call   0x405e90
408215:	83 c4 04             	add    $0x4,%esp
408218:	6a 00                	push   $0x0
40821a:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40821e:	51                   	push   %ecx
40821f:	6a 00                	push   $0x0
408221:	e8 ea ac ff ff       	call   0x402f10
408226:	0d 06 00 02 00       	or     $0x20006,%eax
40822b:	50                   	push   %eax
40822c:	6a 00                	push   $0x0
40822e:	6a 00                	push   $0x0
408230:	6a 00                	push   $0x0
408232:	8d 54 24 20          	lea    0x20(%esp),%edx
408236:	52                   	push   %edx
408237:	68 02 00 00 80       	push   $0x80000002
40823c:	ff 15 6c 33 47 00    	call   *0x47336c
408242:	85 c0                	test   %eax,%eax
408244:	75 62                	jne    0x4082a8
408246:	8b 94 24 1c 02 00 00 	mov    0x21c(%esp),%edx
40824d:	56                   	push   %esi
40824e:	85 d2                	test   %edx,%edx
408250:	74 33                	je     0x408285
408252:	8b c2                	mov    %edx,%eax
408254:	8d 70 02             	lea    0x2(%eax),%esi
408257:	66 8b 08             	mov    (%eax),%cx
40825a:	83 c0 02             	add    $0x2,%eax
40825d:	66 85 c9             	test   %cx,%cx
408260:	75 f5                	jne    0x408257
408262:	8b 8c 24 1c 02 00 00 	mov    0x21c(%esp),%ecx
408269:	2b c6                	sub    %esi,%eax
40826b:	d1 f8                	sar    $1,%eax
40826d:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
408271:	50                   	push   %eax
408272:	52                   	push   %edx
408273:	8b 54 24 0c          	mov    0xc(%esp),%edx
408277:	6a 01                	push   $0x1
408279:	6a 00                	push   $0x0
40827b:	51                   	push   %ecx
40827c:	52                   	push   %edx
40827d:	ff 15 b8 33 47 00    	call   *0x4733b8
408283:	eb 13                	jmp    0x408298
408285:	8b 84 24 1c 02 00 00 	mov    0x21c(%esp),%eax
40828c:	8b 4c 24 04          	mov    0x4(%esp),%ecx
408290:	50                   	push   %eax
408291:	51                   	push   %ecx
408292:	ff 15 b0 33 47 00    	call   *0x4733b0
408298:	8b 54 24 04          	mov    0x4(%esp),%edx
40829c:	52                   	push   %edx
40829d:	8b f0                	mov    %eax,%esi
40829f:	ff 15 68 33 47 00    	call   *0x473368
4082a5:	8b c6                	mov    %esi,%eax
4082a7:	5e                   	pop    %esi
4082a8:	81 c4 0c 02 00 00    	add    $0x20c,%esp
4082ae:	c3                   	ret
4082af:	cc                   	int3
4082b0:	8b 44 24 04          	mov    0x4(%esp),%eax
4082b4:	81 ec 10 02 00 00    	sub    $0x210,%esp
4082ba:	85 c0                	test   %eax,%eax
4082bc:	75 11                	jne    0x4082cf
4082be:	68 04 01 00 00       	push   $0x104
4082c3:	68 34 c9 45 00       	push   $0x45c934
4082c8:	8d 44 24 10          	lea    0x10(%esp),%eax
4082cc:	50                   	push   %eax
4082cd:	eb 34                	jmp    0x408303
4082cf:	83 bc 24 18 02 00 00 	cmpl   $0x0,0x218(%esp)
4082d6:	00
4082d7:	75 1f                	jne    0x4082f8
4082d9:	50                   	push   %eax
4082da:	68 34 c9 45 00       	push   $0x45c934
4082df:	68 0c c2 45 00       	push   $0x45c20c
4082e4:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4082e8:	68 04 01 00 00       	push   $0x104
4082ed:	51                   	push   %ecx
4082ee:	e8 6c 83 02 00       	call   0x43065f
4082f3:	83 c4 14             	add    $0x14,%esp
4082f6:	eb 13                	jmp    0x40830b
4082f8:	68 04 01 00 00       	push   $0x104
4082fd:	50                   	push   %eax
4082fe:	8d 54 24 10          	lea    0x10(%esp),%edx
408302:	52                   	push   %edx
408303:	e8 a2 87 02 00       	call   0x430aaa
408308:	83 c4 0c             	add    $0xc,%esp
40830b:	8d 44 24 08          	lea    0x8(%esp),%eax
40830f:	50                   	push   %eax
408310:	e8 7b db ff ff       	call   0x405e90
408315:	83 c4 04             	add    $0x4,%esp
408318:	6a 00                	push   $0x0
40831a:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40831e:	51                   	push   %ecx
40831f:	6a 00                	push   $0x0
408321:	e8 ea ab ff ff       	call   0x402f10
408326:	0d 19 00 02 00       	or     $0x20019,%eax
40832b:	50                   	push   %eax
40832c:	6a 00                	push   $0x0
40832e:	6a 00                	push   $0x0
408330:	6a 00                	push   $0x0
408332:	8d 54 24 24          	lea    0x24(%esp),%edx
408336:	52                   	push   %edx
408337:	68 02 00 00 80       	push   $0x80000002
40833c:	ff 15 6c 33 47 00    	call   *0x47336c
408342:	85 c0                	test   %eax,%eax
408344:	75 43                	jne    0x408389
408346:	8b 84 24 24 02 00 00 	mov    0x224(%esp),%eax
40834d:	56                   	push   %esi
40834e:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
408351:	8b 84 24 24 02 00 00 	mov    0x224(%esp),%eax
408358:	8d 54 24 08          	lea    0x8(%esp),%edx
40835c:	52                   	push   %edx
40835d:	8b 54 24 08          	mov    0x8(%esp),%edx
408361:	50                   	push   %eax
408362:	6a 00                	push   $0x0
408364:	89 4c 24 14          	mov    %ecx,0x14(%esp)
408368:	8b 8c 24 2c 02 00 00 	mov    0x22c(%esp),%ecx
40836f:	6a 00                	push   $0x0
408371:	51                   	push   %ecx
408372:	52                   	push   %edx
408373:	ff 15 b4 33 47 00    	call   *0x4733b4
408379:	8b f0                	mov    %eax,%esi
40837b:	8b 44 24 04          	mov    0x4(%esp),%eax
40837f:	50                   	push   %eax
408380:	ff 15 68 33 47 00    	call   *0x473368
408386:	8b c6                	mov    %esi,%eax
408388:	5e                   	pop    %esi
408389:	81 c4 10 02 00 00    	add    $0x210,%esp
40838f:	c3                   	ret
408390:	53                   	push   %ebx
408391:	8b 5c 24 08          	mov    0x8(%esp),%ebx
408395:	85 db                	test   %ebx,%ebx
408397:	0f 84 fd 00 00 00    	je     0x40849a
40839d:	8b c3                	mov    %ebx,%eax
40839f:	8d 50 02             	lea    0x2(%eax),%edx
4083a2:	66 8b 08             	mov    (%eax),%cx
4083a5:	83 c0 02             	add    $0x2,%eax
4083a8:	66 85 c9             	test   %cx,%cx
4083ab:	75 f5                	jne    0x4083a2
4083ad:	2b c2                	sub    %edx,%eax
4083af:	d1 f8                	sar    $1,%eax
4083b1:	0f 84 e3 00 00 00    	je     0x40849a
4083b7:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
4083bc:	55                   	push   %ebp
4083bd:	8b 6c 24 10          	mov    0x10(%esp),%ebp
4083c1:	74 0f                	je     0x4083d2
4083c3:	8b 44 24 20          	mov    0x20(%esp),%eax
4083c7:	50                   	push   %eax
4083c8:	55                   	push   %ebp
4083c9:	53                   	push   %ebx
4083ca:	e8 d1 ed ff ff       	call   0x4071a0
4083cf:	83 c4 0c             	add    $0xc,%esp
4083d2:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
4083d7:	74 18                	je     0x4083f1
4083d9:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4083dd:	51                   	push   %ecx
4083de:	55                   	push   %ebp
4083df:	53                   	push   %ebx
4083e0:	e8 6b ec ff ff       	call   0x407050
4083e5:	83 c4 0c             	add    $0xc,%esp
4083e8:	85 c0                	test   %eax,%eax
4083ea:	74 05                	je     0x4083f1
4083ec:	5d                   	pop    %ebp
4083ed:	8b c3                	mov    %ebx,%eax
4083ef:	5b                   	pop    %ebx
4083f0:	c3                   	ret
4083f1:	8b c3                	mov    %ebx,%eax
4083f3:	8d 50 02             	lea    0x2(%eax),%edx
4083f6:	66 8b 08             	mov    (%eax),%cx
4083f9:	83 c0 02             	add    $0x2,%eax
4083fc:	66 85 c9             	test   %cx,%cx
4083ff:	75 f5                	jne    0x4083f6
408401:	2b c2                	sub    %edx,%eax
408403:	d1 f8                	sar    $1,%eax
408405:	56                   	push   %esi
408406:	8b d0                	mov    %eax,%edx
408408:	8b c5                	mov    %ebp,%eax
40840a:	57                   	push   %edi
40840b:	8d 70 02             	lea    0x2(%eax),%esi
40840e:	8b ff                	mov    %edi,%edi
408410:	66 8b 08             	mov    (%eax),%cx
408413:	83 c0 02             	add    $0x2,%eax
408416:	66 85 c9             	test   %cx,%cx
408419:	75 f5                	jne    0x408410
40841b:	2b c6                	sub    %esi,%eax
40841d:	d1 f8                	sar    $1,%eax
40841f:	8d 74 10 02          	lea    0x2(%eax,%edx,1),%esi
408423:	8d 14 36             	lea    (%esi,%esi,1),%edx
408426:	52                   	push   %edx
408427:	e8 ea 85 02 00       	call   0x430a16
40842c:	8b f8                	mov    %eax,%edi
40842e:	8b c3                	mov    %ebx,%eax
408430:	83 c4 04             	add    $0x4,%esp
408433:	8d 50 02             	lea    0x2(%eax),%edx
408436:	66 8b 08             	mov    (%eax),%cx
408439:	83 c0 02             	add    $0x2,%eax
40843c:	66 85 c9             	test   %cx,%cx
40843f:	75 f5                	jne    0x408436
408441:	2b c2                	sub    %edx,%eax
408443:	d1 f8                	sar    $1,%eax
408445:	75 1b                	jne    0x408462
408447:	56                   	push   %esi
408448:	55                   	push   %ebp
408449:	57                   	push   %edi
40844a:	e8 5b 86 02 00       	call   0x430aaa
40844f:	83 c4 0c             	add    $0xc,%esp
408452:	53                   	push   %ebx
408453:	e8 45 85 02 00       	call   0x43099d
408458:	83 c4 04             	add    $0x4,%esp
40845b:	8b c7                	mov    %edi,%eax
40845d:	5f                   	pop    %edi
40845e:	5e                   	pop    %esi
40845f:	5d                   	pop    %ebp
408460:	5b                   	pop    %ebx
408461:	c3                   	ret
408462:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
408467:	74 06                	je     0x40846f
408469:	8b cb                	mov    %ebx,%ecx
40846b:	8b c5                	mov    %ebp,%eax
40846d:	eb 04                	jmp    0x408473
40846f:	8b cd                	mov    %ebp,%ecx
408471:	8b c3                	mov    %ebx,%eax
408473:	51                   	push   %ecx
408474:	0f b7 4c 24 2c       	movzwl 0x2c(%esp),%ecx
408479:	51                   	push   %ecx
40847a:	50                   	push   %eax
40847b:	68 64 ce 45 00       	push   $0x45ce64
408480:	56                   	push   %esi
408481:	57                   	push   %edi
408482:	e8 d8 81 02 00       	call   0x43065f
408487:	83 c4 18             	add    $0x18,%esp
40848a:	53                   	push   %ebx
40848b:	e8 0d 85 02 00       	call   0x43099d
408490:	83 c4 04             	add    $0x4,%esp
408493:	8b c7                	mov    %edi,%eax
408495:	5f                   	pop    %edi
408496:	5e                   	pop    %esi
408497:	5d                   	pop    %ebp
408498:	5b                   	pop    %ebx
408499:	c3                   	ret
40849a:	8b 54 24 0c          	mov    0xc(%esp),%edx
40849e:	52                   	push   %edx
40849f:	e8 f4 fd 03 00       	call   0x448298
4084a4:	83 c4 04             	add    $0x4,%esp
4084a7:	5b                   	pop    %ebx
4084a8:	c3                   	ret
4084a9:	cc                   	int3
4084aa:	cc                   	int3
4084ab:	cc                   	int3
4084ac:	cc                   	int3
4084ad:	cc                   	int3
4084ae:	cc                   	int3
4084af:	cc                   	int3
4084b0:	81 ec 2c 0e 00 00    	sub    $0xe2c,%esp
4084b6:	53                   	push   %ebx
4084b7:	55                   	push   %ebp
4084b8:	56                   	push   %esi
4084b9:	8b b4 24 50 0e 00 00 	mov    0xe50(%esp),%esi
4084c0:	57                   	push   %edi
4084c1:	56                   	push   %esi
4084c2:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
4084c9:	00
4084ca:	e8 31 c6 ff ff       	call   0x404b00
4084cf:	8b e8                	mov    %eax,%ebp
4084d1:	68 00 04 00 00       	push   $0x400
4084d6:	8d 84 24 44 06 00 00 	lea    0x644(%esp),%eax
4084dd:	50                   	push   %eax
4084de:	68 98 ce 45 00       	push   $0x45ce98
4084e3:	6a 01                	push   $0x1
4084e5:	68 38 ca 45 00       	push   $0x45ca38
4084ea:	89 6c 24 34          	mov    %ebp,0x34(%esp)
4084ee:	e8 bd fd ff ff       	call   0x4082b0
4084f3:	8b f8                	mov    %eax,%edi
4084f5:	83 c4 18             	add    $0x18,%esp
4084f8:	89 7c 24 14          	mov    %edi,0x14(%esp)
4084fc:	85 ff                	test   %edi,%edi
4084fe:	74 0a                	je     0x40850a
408500:	33 c9                	xor    %ecx,%ecx
408502:	66 89 8c 24 3c 06 00 	mov    %cx,0x63c(%esp)
408509:	00
40850a:	8d 84 24 3c 06 00 00 	lea    0x63c(%esp),%eax
408511:	8d 50 02             	lea    0x2(%eax),%edx
408514:	66 8b 08             	mov    (%eax),%cx
408517:	83 c0 02             	add    $0x2,%eax
40851a:	66 85 c9             	test   %cx,%cx
40851d:	75 f5                	jne    0x408514
40851f:	2b c2                	sub    %edx,%eax
408521:	d1 f8                	sar    $1,%eax
408523:	8d 54 00 04          	lea    0x4(%eax,%eax,1),%edx
408527:	52                   	push   %edx
408528:	e8 e9 84 02 00       	call   0x430a16
40852d:	8b d8                	mov    %eax,%ebx
40852f:	83 c4 04             	add    $0x4,%esp
408532:	33 c0                	xor    %eax,%eax
408534:	66 89 03             	mov    %ax,(%ebx)
408537:	8d 84 24 3c 06 00 00 	lea    0x63c(%esp),%eax
40853e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
408542:	8d 50 02             	lea    0x2(%eax),%edx
408545:	66 8b 08             	mov    (%eax),%cx
408548:	83 c0 02             	add    $0x2,%eax
40854b:	66 85 c9             	test   %cx,%cx
40854e:	75 f5                	jne    0x408545
408550:	2b c2                	sub    %edx,%eax
408552:	d1 f8                	sar    $1,%eax
408554:	40                   	inc    %eax
408555:	50                   	push   %eax