40d265:	c1 e8 04             	shr    $0x4,%eax
40d268:	6a 20                	push   $0x20
40d26a:	5f                   	pop    %edi
40d26b:	84 c2                	test   %al,%dl
40d26d:	74 30                	je     0x40d29f
40d26f:	8b c3                	mov    %ebx,%eax
40d271:	c1 e8 06             	shr    $0x6,%eax
40d274:	84 c2                	test   %al,%dl
40d276:	74 04                	je     0x40d27c
40d278:	6a 2d                	push   $0x2d
40d27a:	eb 06                	jmp    0x40d282
40d27c:	84 da                	test   %bl,%dl
40d27e:	74 0e                	je     0x40d28e
40d280:	6a 2b                	push   $0x2b
40d282:	58                   	pop    %eax
40d283:	8b ca                	mov    %edx,%ecx
40d285:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
40d289:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d28c:	eb 11                	jmp    0x40d29f
40d28e:	8b c3                	mov    %ebx,%eax
40d290:	d1 e8                	shr    $1,%eax
40d292:	84 c2                	test   %al,%dl
40d294:	74 09                	je     0x40d29f
40d296:	66 89 7d f4          	mov    %di,-0xc(%ebp)
40d29a:	8b ca                	mov    %edx,%ecx
40d29c:	89 55 f0             	mov    %edx,-0x10(%ebp)
40d29f:	0f b7 56 32          	movzwl 0x32(%esi),%edx
40d2a3:	6a 78                	push   $0x78
40d2a5:	5f                   	pop    %edi
40d2a6:	66 3b d7             	cmp    %di,%dx
40d2a9:	74 08                	je     0x40d2b3
40d2ab:	6a 58                	push   $0x58
40d2ad:	58                   	pop    %eax
40d2ae:	66 3b d0             	cmp    %ax,%dx
40d2b1:	75 0d                	jne    0x40d2c0
40d2b3:	8b c3                	mov    %ebx,%eax
40d2b5:	c1 e8 05             	shr    $0x5,%eax
40d2b8:	a8 01                	test   $0x1,%al
40d2ba:	74 04                	je     0x40d2c0
40d2bc:	b3 01                	mov    $0x1,%bl
40d2be:	eb 02                	jmp    0x40d2c2
40d2c0:	32 db                	xor    %bl,%bl
40d2c2:	83 fa 61             	cmp    $0x61,%edx
40d2c5:	74 0c                	je     0x40d2d3
40d2c7:	6a 41                	push   $0x41
40d2c9:	58                   	pop    %eax
40d2ca:	66 3b d0             	cmp    %ax,%dx
40d2cd:	74 04                	je     0x40d2d3
40d2cf:	32 c0                	xor    %al,%al
40d2d1:	eb 02                	jmp    0x40d2d5
40d2d3:	b0 01                	mov    $0x1,%al
40d2d5:	c7 45 ec 30 00 00 00 	movl   $0x30,-0x14(%ebp)
40d2dc:	84 db                	test   %bl,%bl
40d2de:	75 04                	jne    0x40d2e4
40d2e0:	84 c0                	test   %al,%al
40d2e2:	74 25                	je     0x40d309
40d2e4:	8b 45 ec             	mov    -0x14(%ebp),%eax
40d2e7:	6a 58                	push   $0x58
40d2e9:	66 89 44 4d f4       	mov    %ax,-0xc(%ebp,%ecx,2)
40d2ee:	58                   	pop    %eax
40d2ef:	66 3b d0             	cmp    %ax,%dx
40d2f2:	74 08                	je     0x40d2fc
40d2f4:	6a 41                	push   $0x41
40d2f6:	5b                   	pop    %ebx
40d2f7:	66 3b d3             	cmp    %bx,%dx
40d2fa:	75 02                	jne    0x40d2fe
40d2fc:	8b f8                	mov    %eax,%edi
40d2fe:	66 89 7c 4d f6       	mov    %di,-0xa(%ebp,%ecx,2)
40d303:	83 c1 02             	add    $0x2,%ecx
40d306:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d309:	8b 5e 24             	mov    0x24(%esi),%ebx
40d30c:	8d 46 18             	lea    0x18(%esi),%eax
40d30f:	2b 5e 38             	sub    0x38(%esi),%ebx
40d312:	8d be 48 04 00 00    	lea    0x448(%esi),%edi
40d318:	2b d9                	sub    %ecx,%ebx
40d31a:	f6 46 20 0c          	testb  $0xc,0x20(%esi)
40d31e:	75 10                	jne    0x40d330
40d320:	50                   	push   %eax
40d321:	53                   	push   %ebx
40d322:	6a 20                	push   $0x20
40d324:	57                   	push   %edi
40d325:	e8 69 f6 ff ff       	call   0x40c993
40d32a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d32d:	83 c4 10             	add    $0x10,%esp
40d330:	8d 46 0c             	lea    0xc(%esi),%eax
40d333:	50                   	push   %eax
40d334:	8d 46 18             	lea    0x18(%esi),%eax
40d337:	50                   	push   %eax
40d338:	51                   	push   %ecx
40d339:	8d 45 f4             	lea    -0xc(%ebp),%eax
40d33c:	8b cf                	mov    %edi,%ecx
40d33e:	50                   	push   %eax
40d33f:	e8 08 07 00 00       	call   0x40da4c
40d344:	8b 4e 20             	mov    0x20(%esi),%ecx
40d347:	8b c1                	mov    %ecx,%eax
40d349:	c1 e8 03             	shr    $0x3,%eax
40d34c:	a8 01                	test   $0x1,%al
40d34e:	74 19                	je     0x40d369
40d350:	c1 e9 02             	shr    $0x2,%ecx
40d353:	f6 c1 01             	test   $0x1,%cl
40d356:	75 11                	jne    0x40d369
40d358:	8d 46 18             	lea    0x18(%esi),%eax
40d35b:	50                   	push   %eax
40d35c:	53                   	push   %ebx
40d35d:	ff 75 ec             	push   -0x14(%ebp)
40d360:	57                   	push   %edi
40d361:	e8 2d f6 ff ff       	call   0x40c993
40d366:	83 c4 10             	add    $0x10,%esp
40d369:	6a 00                	push   $0x0
40d36b:	8b ce                	mov    %esi,%ecx
40d36d:	e8 4d 06 00 00       	call   0x40d9bf
40d372:	8d 4e 18             	lea    0x18(%esi),%ecx
40d375:	83 39 00             	cmpl   $0x0,(%ecx)
40d378:	7c 17                	jl     0x40d391
40d37a:	8b 46 20             	mov    0x20(%esi),%eax
40d37d:	c1 e8 02             	shr    $0x2,%eax
40d380:	a8 01                	test   $0x1,%al
40d382:	74 0d                	je     0x40d391
40d384:	51                   	push   %ecx
40d385:	53                   	push   %ebx
40d386:	6a 20                	push   $0x20
40d388:	57                   	push   %edi
40d389:	e8 05 f6 ff ff       	call   0x40c993
40d38e:	83 c4 10             	add    $0x10,%esp
40d391:	5f                   	pop    %edi
40d392:	b0 01                	mov    $0x1,%al
40d394:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d397:	5e                   	pop    %esi
40d398:	33 cd                	xor    %ebp,%ecx
40d39a:	5b                   	pop    %ebx
40d39b:	e8 55 b8 ff ff       	call   0x408bf5
40d3a0:	c9                   	leave
40d3a1:	c3                   	ret
40d3a2:	66 83 79 32 2a       	cmpw   $0x2a,0x32(%ecx)
40d3a7:	8d 51 24             	lea    0x24(%ecx),%edx
40d3aa:	74 07                	je     0x40d3b3
40d3ac:	52                   	push   %edx
40d3ad:	e8 c3 f8 ff ff       	call   0x40cc75
40d3b2:	c3                   	ret
40d3b3:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40d3b7:	8b 41 14             	mov    0x14(%ecx),%eax
40d3ba:	8b 40 fc             	mov    -0x4(%eax),%eax
40d3bd:	89 02                	mov    %eax,(%edx)
40d3bf:	85 c0                	test   %eax,%eax
40d3c1:	79 08                	jns    0x40d3cb
40d3c3:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40d3c7:	f7 d8                	neg    %eax
40d3c9:	89 02                	mov    %eax,(%edx)
40d3cb:	b0 01                	mov    $0x1,%al
40d3cd:	c3                   	ret
40d3ce:	cc                   	int3
40d3cf:	cc                   	int3
40d3d0:	8b ff                	mov    %edi,%edi
40d3d2:	55                   	push   %ebp
40d3d3:	8b ec                	mov    %esp,%ebp
40d3d5:	8b 45 08             	mov    0x8(%ebp),%eax
40d3d8:	83 f8 0b             	cmp    $0xb,%eax
40d3db:	77 2a                	ja     0x40d407
40d3dd:	0f b6 80 20 d4 40 00 	movzbl 0x40d420(%eax),%eax
40d3e4:	ff 24 85 0c d4 40 00 	jmp    *0x40d40c(,%eax,4)
40d3eb:	b8 01 00 00 00       	mov    $0x1,%eax
40d3f0:	5d                   	pop    %ebp
40d3f1:	c3                   	ret
40d3f2:	b8 02 00 00 00       	mov    $0x2,%eax
40d3f7:	5d                   	pop    %ebp
40d3f8:	c3                   	ret
40d3f9:	b8 04 00 00 00       	mov    $0x4,%eax
40d3fe:	5d                   	pop    %ebp
40d3ff:	c3                   	ret
40d400:	b8 08 00 00 00       	mov    $0x8,%eax
40d405:	5d                   	pop    %ebp
40d406:	c3                   	ret
40d407:	33 c0                	xor    %eax,%eax
40d409:	5d                   	pop    %ebp
40d40a:	c3                   	ret
40d40b:	90                   	nop
40d40c:	f9                   	stc
40d40d:	d3 40 00             	roll   %cl,0x0(%eax)
40d410:	eb d3                	jmp    0x40d3e5
40d412:	40                   	inc    %eax
40d413:	00 f2                	add    %dh,%dl
40d415:	d3 40 00             	roll   %cl,0x0(%eax)
40d418:	00 d4                	add    %dl,%ah
40d41a:	40                   	inc    %eax
40d41b:	00 07                	add    %al,(%edi)
40d41d:	d4 40                	aam    $0x40
40d41f:	00 00                	add    %al,(%eax)
40d421:	01 02                	add    %eax,(%edx)
40d423:	00 03                	add    %al,(%ebx)
40d425:	03 00                	add    (%eax),%eax
40d427:	00 04 00             	add    %al,(%eax,%eax,1)
40d42a:	00 03                	add    %al,(%ebx)
40d42c:	8b ff                	mov    %edi,%edi
40d42e:	53                   	push   %ebx
40d42f:	56                   	push   %esi
40d430:	8b f1                	mov    %ecx,%esi
40d432:	57                   	push   %edi
40d433:	83 46 14 04          	addl   $0x4,0x14(%esi)
40d437:	8b 46 14             	mov    0x14(%esi),%eax
40d43a:	8b 78 fc             	mov    -0x4(%eax),%edi
40d43d:	85 ff                	test   %edi,%edi
40d43f:	74 2e                	je     0x40d46f
40d441:	8b 5f 04             	mov    0x4(%edi),%ebx
40d444:	85 db                	test   %ebx,%ebx
40d446:	74 27                	je     0x40d46f
40d448:	ff 76 2c             	push   0x2c(%esi)
40d44b:	0f b7 46 32          	movzwl 0x32(%esi),%eax
40d44f:	50                   	push   %eax
40d450:	ff 76 04             	push   0x4(%esi)
40d453:	ff 36                	push   (%esi)
40d455:	e8 a4 f3 ff ff       	call   0x40c7fe
40d45a:	83 c4 10             	add    $0x10,%esp
40d45d:	89 5e 34             	mov    %ebx,0x34(%esi)
40d460:	0f b7 0f             	movzwl (%edi),%ecx
40d463:	84 c0                	test   %al,%al
40d465:	74 12                	je     0x40d479
40d467:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
40d46b:	d1 e9                	shr    $1,%ecx
40d46d:	eb 0e                	jmp    0x40d47d
40d46f:	6a 06                	push   $0x6
40d471:	c7 46 34 40 d9 41 00 	movl   $0x41d940,0x34(%esi)
40d478:	59                   	pop    %ecx
40d479:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40d47d:	5f                   	pop    %edi
40d47e:	89 4e 38             	mov    %ecx,0x38(%esi)
40d481:	b0 01                	mov    $0x1,%al
40d483:	5e                   	pop    %esi
40d484:	5b                   	pop    %ebx
40d485:	c3                   	ret
40d486:	8b ff                	mov    %edi,%edi
40d488:	55                   	push   %ebp
40d489:	8b ec                	mov    %esp,%ebp
40d48b:	51                   	push   %ecx
40d48c:	51                   	push   %ecx
40d48d:	53                   	push   %ebx
40d48e:	56                   	push   %esi
40d48f:	57                   	push   %edi
40d490:	8b f1                	mov    %ecx,%esi
40d492:	33 d2                	xor    %edx,%edx
40d494:	6a 67                	push   $0x67
40d496:	5b                   	pop    %ebx
40d497:	6a 47                	push   $0x47
40d499:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40d49d:	42                   	inc    %edx
40d49e:	8b 46 28             	mov    0x28(%esi),%eax
40d4a1:	5f                   	pop    %edi
40d4a2:	85 c0                	test   %eax,%eax
40d4a4:	79 1a                	jns    0x40d4c0
40d4a6:	0f b7 46 32          	movzwl 0x32(%esi),%eax
40d4aa:	83 f8 61             	cmp    $0x61,%eax
40d4ad:	74 09                	je     0x40d4b8
40d4af:	83 f8 41             	cmp    $0x41,%eax
40d4b2:	74 04                	je     0x40d4b8
40d4b4:	6a 06                	push   $0x6
40d4b6:	eb 02                	jmp    0x40d4ba
40d4b8:	6a 0d                	push   $0xd
40d4ba:	58                   	pop    %eax
40d4bb:	89 46 28             	mov    %eax,0x28(%esi)
40d4be:	eb 17                	jmp    0x40d4d7
40d4c0:	75 15                	jne    0x40d4d7
40d4c2:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
40d4c6:	66 3b cb             	cmp    %bx,%cx
40d4c9:	74 07                	je     0x40d4d2
40d4cb:	33 c0                	xor    %eax,%eax
40d4cd:	66 3b cf             	cmp    %di,%cx
40d4d0:	75 05                	jne    0x40d4d7
40d4d2:	89 56 28             	mov    %edx,0x28(%esi)
40d4d5:	8b c2                	mov    %edx,%eax
40d4d7:	05 5d 01 00 00       	add    $0x15d,%eax
40d4dc:	8d 7e 40             	lea    0x40(%esi),%edi
40d4df:	50                   	push   %eax
40d4e0:	8b cf                	mov    %edi,%ecx
40d4e2:	e8 1c f2 ff ff       	call   0x40c703
40d4e7:	84 c0                	test   %al,%al
40d4e9:	75 0f                	jne    0x40d4fa
40d4eb:	8b cf                	mov    %edi,%ecx
40d4ed:	e8 e0 f1 ff ff       	call   0x40c6d2
40d4f2:	2d 5d 01 00 00       	sub    $0x15d,%eax
40d4f7:	89 46 28             	mov    %eax,0x28(%esi)
40d4fa:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
40d500:	85 c0                	test   %eax,%eax
40d502:	75 02                	jne    0x40d506
40d504:	8b c7                	mov    %edi,%eax
40d506:	89 46 34             	mov    %eax,0x34(%esi)
40d509:	83 46 14 08          	addl   $0x8,0x14(%esi)
40d50d:	8b 4e 14             	mov    0x14(%esi),%ecx
40d510:	8b 41 f8             	mov    -0x8(%ecx),%eax
40d513:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d516:	8b 41 fc             	mov    -0x4(%ecx),%eax
40d519:	8b cf                	mov    %edi,%ecx
40d51b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d51e:	e8 af f1 ff ff       	call   0x40c6d2
40d523:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
40d529:	8b c8                	mov    %eax,%ecx
40d52b:	85 db                	test   %ebx,%ebx
40d52d:	75 02                	jne    0x40d531
40d52f:	8b df                	mov    %edi,%ebx
40d531:	0f be 46 32          	movsbl 0x32(%esi),%eax
40d535:	6a 01                	push   $0x1
40d537:	ff 76 08             	push   0x8(%esi)
40d53a:	ff 76 04             	push   0x4(%esi)
40d53d:	ff 36                	push   (%esi)
40d53f:	ff 76 28             	push   0x28(%esi)
40d542:	50                   	push   %eax
40d543:	51                   	push   %ecx
40d544:	8b cf                	mov    %edi,%ecx
40d546:	e8 01 f3 ff ff       	call   0x40c84c
40d54b:	50                   	push   %eax
40d54c:	8b cf                	mov    %edi,%ecx
40d54e:	e8 7f f1 ff ff       	call   0x40c6d2
40d553:	50                   	push   %eax
40d554:	8d 45 f8             	lea    -0x8(%ebp),%eax
40d557:	53                   	push   %ebx
40d558:	50                   	push   %eax
40d559:	e8 62 5a 00 00       	call   0x412fc0
40d55e:	8b 46 20             	mov    0x20(%esi),%eax
40d561:	83 c4 2c             	add    $0x2c,%esp
40d564:	c1 e8 05             	shr    $0x5,%eax
40d567:	a8 01                	test   $0x1,%al
40d569:	74 13                	je     0x40d57e
40d56b:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
40d56f:	75 0d                	jne    0x40d57e
40d571:	ff 76 08             	push   0x8(%esi)
40d574:	ff 76 34             	push   0x34(%esi)
40d577:	e8 94 f6 ff ff       	call   0x40cc10
40d57c:	59                   	pop    %ecx
40d57d:	59                   	pop    %ecx
40d57e:	0f b7 46 32          	movzwl 0x32(%esi),%eax
40d582:	6a 67                	push   $0x67
40d584:	59                   	pop    %ecx
40d585:	66 3b c1             	cmp    %cx,%ax
40d588:	74 08                	je     0x40d592
40d58a:	6a 47                	push   $0x47
40d58c:	59                   	pop    %ecx
40d58d:	66 3b c1             	cmp    %cx,%ax
40d590:	75 17                	jne    0x40d5a9
40d592:	8b 46 20             	mov    0x20(%esi),%eax
40d595:	c1 e8 05             	shr    $0x5,%eax
40d598:	a8 01                	test   $0x1,%al
40d59a:	75 0d                	jne    0x40d5a9
40d59c:	ff 76 08             	push   0x8(%esi)
40d59f:	ff 76 34             	push   0x34(%esi)
40d5a2:	e8 79 f5 ff ff       	call   0x40cb20
40d5a7:	59                   	pop    %ecx
40d5a8:	59                   	pop    %ecx
40d5a9:	8b 56 34             	mov    0x34(%esi),%edx
40d5ac:	8a 02                	mov    (%edx),%al
40d5ae:	3c 2d                	cmp    $0x2d,%al
40d5b0:	75 0a                	jne    0x40d5bc
40d5b2:	83 4e 20 40          	orl    $0x40,0x20(%esi)