409161:	50                   	push   %eax
409162:	ff 35 f8 be 42 00    	push   0x42bef8
409168:	e8 88 16 00 00       	call   0x40a7f5
40916d:	59                   	pop    %ecx
40916e:	ff d0                	call   *%eax
409170:	8b bd f0 fd ff ff    	mov    -0x210(%ebp),%edi
409176:	83 c4 1c             	add    $0x1c,%esp
409179:	81 e7 80 00 00 00    	and    $0x80,%edi
40917f:	74 20                	je     0x4091a1
409181:	39 b5 e8 fd ff ff    	cmp    %esi,-0x218(%ebp)
409187:	75 18                	jne    0x4091a1
409189:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
40918f:	50                   	push   %eax
409190:	53                   	push   %ebx
409191:	ff 35 04 bf 42 00    	push   0x42bf04
409197:	e8 59 16 00 00       	call   0x40a7f5
40919c:	59                   	pop    %ecx
40919d:	ff d0                	call   *%eax
40919f:	59                   	pop    %ecx
4091a0:	59                   	pop    %ecx
4091a1:	80 bd ef fd ff ff 67 	cmpb   $0x67,-0x211(%ebp)
4091a8:	75 1c                	jne    0x4091c6
4091aa:	3b fe                	cmp    %esi,%edi
4091ac:	75 18                	jne    0x4091c6
4091ae:	8d 85 a4 fd ff ff    	lea    -0x25c(%ebp),%eax
4091b4:	50                   	push   %eax
4091b5:	53                   	push   %ebx
4091b6:	ff 35 00 bf 42 00    	push   0x42bf00
4091bc:	e8 34 16 00 00       	call   0x40a7f5
4091c1:	59                   	pop    %ecx
4091c2:	ff d0                	call   *%eax
4091c4:	59                   	pop    %ecx
4091c5:	59                   	pop    %ecx
4091c6:	80 3b 2d             	cmpb   $0x2d,(%ebx)
4091c9:	75 11                	jne    0x4091dc
4091cb:	81 8d f0 fd ff ff 00 	orl    $0x100,-0x210(%ebp)
4091d2:	01 00 00
4091d5:	43                   	inc    %ebx
4091d6:	89 9d e4 fd ff ff    	mov    %ebx,-0x21c(%ebp)
4091dc:	53                   	push   %ebx
4091dd:	e9 03 fe ff ff       	jmp    0x408fe5
4091e2:	c7 85 e8 fd ff ff 08 	movl   $0x8,-0x218(%ebp)
4091e9:	00 00 00
4091ec:	89 8d b8 fd ff ff    	mov    %ecx,-0x248(%ebp)
4091f2:	eb 24                	jmp    0x409218
4091f4:	83 e8 73             	sub    $0x73,%eax
4091f7:	0f 84 b6 fc ff ff    	je     0x408eb3
4091fd:	48                   	dec    %eax
4091fe:	48                   	dec    %eax
4091ff:	0f 84 89 fe ff ff    	je     0x40908e
409205:	83 e8 03             	sub    $0x3,%eax
409208:	0f 85 b6 01 00 00    	jne    0x4093c4
40920e:	c7 85 b8 fd ff ff 27 	movl   $0x27,-0x248(%ebp)
409215:	00 00 00
409218:	f6 85 f0 fd ff ff 80 	testb  $0x80,-0x210(%ebp)
40921f:	c7 85 e0 fd ff ff 10 	movl   $0x10,-0x220(%ebp)
409226:	00 00 00
409229:	0f 84 69 fe ff ff    	je     0x409098
40922f:	8a 85 b8 fd ff ff    	mov    -0x248(%ebp),%al
409235:	04 51                	add    $0x51,%al
409237:	c6 85 d4 fd ff ff 30 	movb   $0x30,-0x22c(%ebp)
40923e:	88 85 d5 fd ff ff    	mov    %al,-0x22b(%ebp)
409244:	c7 85 d0 fd ff ff 02 	movl   $0x2,-0x230(%ebp)
40924b:	00 00 00
40924e:	e9 45 fe ff ff       	jmp    0x409098
409253:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
409259:	0f 85 4b fe ff ff    	jne    0x4090aa
40925f:	83 c7 04             	add    $0x4,%edi
409262:	f6 c1 20             	test   $0x20,%cl
409265:	74 18                	je     0x40927f
409267:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
40926d:	f6 c1 40             	test   $0x40,%cl
409270:	74 06                	je     0x409278
409272:	0f bf 47 fc          	movswl -0x4(%edi),%eax
409276:	eb 04                	jmp    0x40927c
409278:	0f b7 47 fc          	movzwl -0x4(%edi),%eax
40927c:	99                   	cltd
40927d:	eb 13                	jmp    0x409292
40927f:	8b 47 fc             	mov    -0x4(%edi),%eax
409282:	f6 c1 40             	test   $0x40,%cl
409285:	74 03                	je     0x40928a
409287:	99                   	cltd
409288:	eb 02                	jmp    0x40928c
40928a:	33 d2                	xor    %edx,%edx
40928c:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
409292:	f6 c1 40             	test   $0x40,%cl
409295:	74 1b                	je     0x4092b2
409297:	3b d6                	cmp    %esi,%edx
409299:	7f 17                	jg     0x4092b2
40929b:	7c 04                	jl     0x4092a1
40929d:	3b c6                	cmp    %esi,%eax
40929f:	73 11                	jae    0x4092b2
4092a1:	f7 d8                	neg    %eax
4092a3:	83 d2 00             	adc    $0x0,%edx
4092a6:	f7 da                	neg    %edx
4092a8:	81 8d f0 fd ff ff 00 	orl    $0x100,-0x210(%ebp)
4092af:	01 00 00
4092b2:	f7 85 f0 fd ff ff 00 	testl  $0x9000,-0x210(%ebp)
4092b9:	90 00 00
4092bc:	8b da                	mov    %edx,%ebx
4092be:	8b f8                	mov    %eax,%edi
4092c0:	75 02                	jne    0x4092c4
4092c2:	33 db                	xor    %ebx,%ebx
4092c4:	83 bd e8 fd ff ff 00 	cmpl   $0x0,-0x218(%ebp)
4092cb:	7d 0c                	jge    0x4092d9
4092cd:	c7 85 e8 fd ff ff 01 	movl   $0x1,-0x218(%ebp)
4092d4:	00 00 00
4092d7:	eb 1a                	jmp    0x4092f3
4092d9:	83 a5 f0 fd ff ff f7 	andl   $0xfffffff7,-0x210(%ebp)
4092e0:	b8 00 02 00 00       	mov    $0x200,%eax
4092e5:	39 85 e8 fd ff ff    	cmp    %eax,-0x218(%ebp)
4092eb:	7e 06                	jle    0x4092f3
4092ed:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
4092f3:	8b c7                	mov    %edi,%eax
4092f5:	0b c3                	or     %ebx,%eax
4092f7:	75 06                	jne    0x4092ff
4092f9:	21 85 d0 fd ff ff    	and    %eax,-0x230(%ebp)
4092ff:	8d 75 f3             	lea    -0xd(%ebp),%esi
409302:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
409308:	ff 8d e8 fd ff ff    	decl   -0x218(%ebp)
40930e:	85 c0                	test   %eax,%eax
409310:	7f 06                	jg     0x409318
409312:	8b c7                	mov    %edi,%eax
409314:	0b c3                	or     %ebx,%eax
409316:	74 2d                	je     0x409345
409318:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
40931e:	99                   	cltd
40931f:	52                   	push   %edx
409320:	50                   	push   %eax
409321:	53                   	push   %ebx
409322:	57                   	push   %edi
409323:	e8 68 87 00 00       	call   0x411a90
409328:	83 c1 30             	add    $0x30,%ecx
40932b:	83 f9 39             	cmp    $0x39,%ecx
40932e:	89 9d a0 fd ff ff    	mov    %ebx,-0x260(%ebp)
409334:	8b f8                	mov    %eax,%edi
409336:	8b da                	mov    %edx,%ebx
409338:	7e 06                	jle    0x409340
40933a:	03 8d b8 fd ff ff    	add    -0x248(%ebp),%ecx
409340:	88 0e                	mov    %cl,(%esi)
409342:	4e                   	dec    %esi
409343:	eb bd                	jmp    0x409302
409345:	8d 45 f3             	lea    -0xd(%ebp),%eax
409348:	2b c6                	sub    %esi,%eax
40934a:	46                   	inc    %esi
40934b:	f7 85 f0 fd ff ff 00 	testl  $0x200,-0x210(%ebp)
409352:	02 00 00
409355:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
40935b:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
409361:	74 61                	je     0x4093c4
409363:	85 c0                	test   %eax,%eax
409365:	74 07                	je     0x40936e
409367:	8b ce                	mov    %esi,%ecx
409369:	80 39 30             	cmpb   $0x30,(%ecx)
40936c:	74 56                	je     0x4093c4
40936e:	ff 8d e4 fd ff ff    	decl   -0x21c(%ebp)
409374:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
40937a:	c6 01 30             	movb   $0x30,(%ecx)
40937d:	40                   	inc    %eax
40937e:	eb 3e                	jmp    0x4093be
409380:	49                   	dec    %ecx
409381:	66 39 30             	cmp    %si,(%eax)
409384:	74 06                	je     0x40938c
409386:	40                   	inc    %eax
409387:	40                   	inc    %eax
409388:	3b ce                	cmp    %esi,%ecx
40938a:	75 f4                	jne    0x409380
40938c:	2b 85 e4 fd ff ff    	sub    -0x21c(%ebp),%eax
409392:	d1 f8                	sar    $1,%eax
409394:	eb 28                	jmp    0x4093be
409396:	3b fe                	cmp    %esi,%edi
409398:	75 0b                	jne    0x4093a5
40939a:	a1 80 b2 42 00       	mov    0x42b280,%eax
40939f:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
4093a5:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
4093ab:	eb 07                	jmp    0x4093b4
4093ad:	49                   	dec    %ecx
4093ae:	80 38 00             	cmpb   $0x0,(%eax)
4093b1:	74 05                	je     0x4093b8
4093b3:	40                   	inc    %eax
4093b4:	3b ce                	cmp    %esi,%ecx
4093b6:	75 f5                	jne    0x4093ad
4093b8:	2b 85 e4 fd ff ff    	sub    -0x21c(%ebp),%eax
4093be:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
4093c4:	83 bd c0 fd ff ff 00 	cmpl   $0x0,-0x240(%ebp)
4093cb:	0f 85 5c 01 00 00    	jne    0x40952d
4093d1:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
4093d7:	a8 40                	test   $0x40,%al
4093d9:	74 32                	je     0x40940d
4093db:	a9 00 01 00 00       	test   $0x100,%eax
4093e0:	74 09                	je     0x4093eb
4093e2:	c6 85 d4 fd ff ff 2d 	movb   $0x2d,-0x22c(%ebp)
4093e9:	eb 18                	jmp    0x409403
4093eb:	a8 01                	test   $0x1,%al
4093ed:	74 09                	je     0x4093f8
4093ef:	c6 85 d4 fd ff ff 2b 	movb   $0x2b,-0x22c(%ebp)
4093f6:	eb 0b                	jmp    0x409403
4093f8:	a8 02                	test   $0x2,%al
4093fa:	74 11                	je     0x40940d
4093fc:	c6 85 d4 fd ff ff 20 	movb   $0x20,-0x22c(%ebp)
409403:	c7 85 d0 fd ff ff 01 	movl   $0x1,-0x230(%ebp)
40940a:	00 00 00
40940d:	8b 9d cc fd ff ff    	mov    -0x234(%ebp),%ebx
409413:	2b 9d e0 fd ff ff    	sub    -0x220(%ebp),%ebx
409419:	2b 9d d0 fd ff ff    	sub    -0x230(%ebp),%ebx
40941f:	f6 85 f0 fd ff ff 0c 	testb  $0xc,-0x210(%ebp)
409426:	75 17                	jne    0x40943f
409428:	ff b5 b4 fd ff ff    	push   -0x24c(%ebp)
40942e:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
409434:	53                   	push   %ebx
409435:	6a 20                	push   $0x20
409437:	e8 70 f5 ff ff       	call   0x4089ac
40943c:	83 c4 0c             	add    $0xc,%esp
40943f:	ff b5 d0 fd ff ff    	push   -0x230(%ebp)
409445:	8b bd b4 fd ff ff    	mov    -0x24c(%ebp),%edi
40944b:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
409451:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
409457:	e8 76 f5 ff ff       	call   0x4089d2
40945c:	f6 85 f0 fd ff ff 08 	testb  $0x8,-0x210(%ebp)
409463:	59                   	pop    %ecx
409464:	74 1b                	je     0x409481
409466:	f6 85 f0 fd ff ff 04 	testb  $0x4,-0x210(%ebp)
40946d:	75 12                	jne    0x409481
40946f:	57                   	push   %edi
409470:	53                   	push   %ebx
409471:	6a 30                	push   $0x30
409473:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
409479:	e8 2e f5 ff ff       	call   0x4089ac
40947e:	83 c4 0c             	add    $0xc,%esp
409481:	83 bd c8 fd ff ff 00 	cmpl   $0x0,-0x238(%ebp)
409488:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
40948e:	74 66                	je     0x4094f6
409490:	85 c0                	test   %eax,%eax
409492:	7e 62                	jle    0x4094f6
409494:	8b b5 e4 fd ff ff    	mov    -0x21c(%ebp),%esi
40949a:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
4094a0:	0f b7 06             	movzwl (%esi),%eax
4094a3:	ff 8d a0 fd ff ff    	decl   -0x260(%ebp)
4094a9:	50                   	push   %eax
4094aa:	6a 06                	push   $0x6
4094ac:	8d 45 f4             	lea    -0xc(%ebp),%eax
4094af:	50                   	push   %eax
4094b0:	8d 85 98 fd ff ff    	lea    -0x268(%ebp),%eax
4094b6:	46                   	inc    %esi
4094b7:	50                   	push   %eax
4094b8:	46                   	inc    %esi
4094b9:	e8 cd 98 00 00       	call   0x412d8b
4094be:	83 c4 10             	add    $0x10,%esp
4094c1:	85 c0                	test   %eax,%eax
4094c3:	75 28                	jne    0x4094ed
4094c5:	39 85 98 fd ff ff    	cmp    %eax,-0x268(%ebp)
4094cb:	74 20                	je     0x4094ed
4094cd:	ff b5 98 fd ff ff    	push   -0x268(%ebp)
4094d3:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
4094d9:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4094dc:	e8 f1 f4 ff ff       	call   0x4089d2
4094e1:	83 bd a0 fd ff ff 00 	cmpl   $0x0,-0x260(%ebp)
4094e8:	59                   	pop    %ecx
4094e9:	75 b5                	jne    0x4094a0
4094eb:	eb 1c                	jmp    0x409509
4094ed:	83 8d d8 fd ff ff ff 	orl    $0xffffffff,-0x228(%ebp)
4094f4:	eb 13                	jmp    0x409509
4094f6:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
4094fc:	50                   	push   %eax
4094fd:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
409503:	e8 ca f4 ff ff       	call   0x4089d2
409508:	59                   	pop    %ecx
409509:	83 bd d8 fd ff ff 00 	cmpl   $0x0,-0x228(%ebp)
409510:	7c 1b                	jl     0x40952d
409512:	f6 85 f0 fd ff ff 04 	testb  $0x4,-0x210(%ebp)
409519:	74 12                	je     0x40952d
40951b:	57                   	push   %edi
40951c:	53                   	push   %ebx
40951d:	6a 20                	push   $0x20
40951f:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
409525:	e8 82 f4 ff ff       	call   0x4089ac
40952a:	83 c4 0c             	add    $0xc,%esp
40952d:	83 bd bc fd ff ff 00 	cmpl   $0x0,-0x244(%ebp)
409534:	74 13                	je     0x409549
409536:	ff b5 bc fd ff ff    	push   -0x244(%ebp)
40953c:	e8 df ba ff ff       	call   0x405020
409541:	83 a5 bc fd ff ff 00 	andl   $0x0,-0x244(%ebp)
409548:	59                   	pop    %ecx
409549:	8b 9d c4 fd ff ff    	mov    -0x23c(%ebp),%ebx
40954f:	8a 03                	mov    (%ebx),%al
409551:	88 85 ef fd ff ff    	mov    %al,-0x211(%ebp)
409557:	84 c0                	test   %al,%al
409559:	74 13                	je     0x40956e
40955b:	8b 8d 94 fd ff ff    	mov    -0x26c(%ebp),%ecx
409561:	8b bd dc fd ff ff    	mov    -0x224(%ebp),%edi
409567:	8a d0                	mov    %al,%dl
409569:	e9 e1 f5 ff ff       	jmp    0x408b4f
40956e:	80 bd b0 fd ff ff 00 	cmpb   $0x0,-0x250(%ebp)
409575:	74 0a                	je     0x409581
409577:	8b 85 ac fd ff ff    	mov    -0x254(%ebp),%eax
40957d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
409581:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
409587:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40958a:	5f                   	pop    %edi
40958b:	5e                   	pop    %esi
40958c:	33 cd                	xor    %ebp,%ecx
40958e:	5b                   	pop    %ebx
40958f:	e8 92 d0 ff ff       	call   0x406626
409594:	c9                   	leave
409595:	c3                   	ret
409596:	90                   	nop
409597:	a2 8d 40 00 a3       	mov    %al,0xa300408d
40959c:	8b 40 00             	mov    0x0(%eax),%eax
40959f:	d3 8b 40 00 31 8c    	rorl   %cl,-0x73ceffc0(%ebx)
4095a5:	40                   	inc    %eax
4095a6:	00 7d 8c             	add    %bh,-0x74(%ebp)
4095a9:	40                   	inc    %eax
4095aa:	00 88 8c 40 00 ce    	add    %cl,-0x31ffbf74(%eax)
4095b0:	8c 40 00             	mov    %es,0x0(%eax)
4095b3:	fc                   	cld
4095b4:	8d 40 00             	lea    0x0(%eax),%eax
4095b7:	8b ff                	mov    %edi,%edi
4095b9:	55                   	push   %ebp
4095ba:	8b ec                	mov    %esp,%ebp
4095bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4095bf:	53                   	push   %ebx
4095c0:	33 db                	xor    %ebx,%ebx
4095c2:	56                   	push   %esi
4095c3:	57                   	push   %edi
4095c4:	3b cb                	cmp    %ebx,%ecx
4095c6:	74 07                	je     0x4095cf
4095c8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4095cb:	3b fb                	cmp    %ebx,%edi
4095cd:	77 1b                	ja     0x4095ea
4095cf:	e8 01 c5 ff ff       	call   0x405ad5
4095d4:	6a 16                	push   $0x16
4095d6:	5e                   	pop    %esi
4095d7:	89 30                	mov    %esi,(%eax)
4095d9:	53                   	push   %ebx
4095da:	53                   	push   %ebx
4095db:	53                   	push   %ebx
4095dc:	53                   	push   %ebx
4095dd:	53                   	push   %ebx
4095de:	e8 42 bc ff ff       	call   0x405225
4095e3:	83 c4 14             	add    $0x14,%esp
4095e6:	8b c6                	mov    %esi,%eax
4095e8:	eb 30                	jmp    0x40961a
4095ea:	8b 75 10             	mov    0x10(%ebp),%esi
4095ed:	3b f3                	cmp    %ebx,%esi
4095ef:	75 04                	jne    0x4095f5
4095f1:	88 19                	mov    %bl,(%ecx)
4095f3:	eb da                	jmp    0x4095cf
4095f5:	8b d1                	mov    %ecx,%edx
4095f7:	8a 06                	mov    (%esi),%al
4095f9:	88 02                	mov    %al,(%edx)