41d3da:	66 83 f8 41          	cmp    $0x41,%ax
41d3de:	72 06                	jb     0x41d3e6
41d3e0:	66 83 f8 5a          	cmp    $0x5a,%ax
41d3e4:	76 09                	jbe    0x41d3ef
41d3e6:	83 c0 9f             	add    $0xffffff9f,%eax
41d3e9:	66 83 f8 19          	cmp    $0x19,%ax
41d3ed:	77 03                	ja     0x41d3f2
41d3ef:	42                   	inc    %edx
41d3f0:	eb e2                	jmp    0x41d3d4
41d3f2:	8b c2                	mov    %edx,%eax
41d3f4:	5d                   	pop    %ebp
41d3f5:	c3                   	ret
41d3f6:	8b ff                	mov    %edi,%edi
41d3f8:	55                   	push   %ebp
41d3f9:	8b ec                	mov    %esp,%ebp
41d3fb:	81 ec fc 00 00 00    	sub    $0xfc,%esp
41d401:	a1 14 30 43 00       	mov    0x433014,%eax
41d406:	33 c5                	xor    %ebp,%eax
41d408:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d40b:	53                   	push   %ebx
41d40c:	56                   	push   %esi
41d40d:	8b 75 08             	mov    0x8(%ebp),%esi
41d410:	57                   	push   %edi
41d411:	e8 bd 6d ff ff       	call   0x4141d3
41d416:	8b d8                	mov    %eax,%ebx
41d418:	e8 b6 6d ff ff       	call   0x4141d3
41d41d:	56                   	push   %esi
41d41e:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
41d424:	e8 f5 02 00 00       	call   0x41d71e
41d429:	59                   	pop    %ecx
41d42a:	8b 4b 64             	mov    0x64(%ebx),%ecx
41d42d:	8b f0                	mov    %eax,%esi
41d42f:	f7 d9                	neg    %ecx
41d431:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d437:	6a 78                	push   $0x78
41d439:	1b c9                	sbb    %ecx,%ecx
41d43b:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
41d441:	50                   	push   %eax
41d442:	81 c1 02 10 00 00    	add    $0x1002,%ecx
41d448:	51                   	push   %ecx
41d449:	56                   	push   %esi
41d44a:	ff 15 dc 40 42 00    	call   *0x4240dc
41d450:	83 a5 08 ff ff ff 00 	andl   $0x0,-0xf8(%ebp)
41d457:	85 c0                	test   %eax,%eax
41d459:	0f 84 d4 01 00 00    	je     0x41d633
41d45f:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d465:	50                   	push   %eax
41d466:	ff 73 54             	push   0x54(%ebx)
41d469:	e8 71 cf ff ff       	call   0x41a3df
41d46e:	59                   	pop    %ecx
41d46f:	59                   	pop    %ecx
41d470:	85 c0                	test   %eax,%eax
41d472:	0f 85 b5 00 00 00    	jne    0x41d52d
41d478:	6a 78                	push   $0x78
41d47a:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d480:	50                   	push   %eax
41d481:	8b 43 60             	mov    0x60(%ebx),%eax
41d484:	f7 d8                	neg    %eax
41d486:	1b c0                	sbb    %eax,%eax
41d488:	25 02 f0 ff ff       	and    $0xfffff002,%eax
41d48d:	05 01 10 00 00       	add    $0x1001,%eax
41d492:	50                   	push   %eax
41d493:	56                   	push   %esi
41d494:	ff 15 dc 40 42 00    	call   *0x4240dc
41d49a:	85 c0                	test   %eax,%eax
41d49c:	0f 84 91 01 00 00    	je     0x41d633
41d4a2:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d4a8:	50                   	push   %eax
41d4a9:	ff 73 50             	push   0x50(%ebx)
41d4ac:	e8 2e cf ff ff       	call   0x41a3df
41d4b1:	59                   	pop    %ecx
41d4b2:	59                   	pop    %ecx
41d4b3:	8b 0f                	mov    (%edi),%ecx
41d4b5:	85 c0                	test   %eax,%eax
41d4b7:	75 0d                	jne    0x41d4c6
41d4b9:	81 c9 04 03 00 00    	or     $0x304,%ecx
41d4bf:	89 77 04             	mov    %esi,0x4(%edi)
41d4c2:	89 0f                	mov    %ecx,(%edi)
41d4c4:	eb 64                	jmp    0x41d52a
41d4c6:	f6 c1 02             	test   $0x2,%cl
41d4c9:	75 62                	jne    0x41d52d
41d4cb:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
41d4cf:	74 42                	je     0x41d513
41d4d1:	ff 73 5c             	push   0x5c(%ebx)
41d4d4:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d4da:	50                   	push   %eax
41d4db:	ff 73 50             	push   0x50(%ebx)
41d4de:	e8 d3 f8 fe ff       	call   0x40cdb6
41d4e3:	83 c4 0c             	add    $0xc,%esp
41d4e6:	85 c0                	test   %eax,%eax
41d4e8:	75 29                	jne    0x41d513
41d4ea:	83 0f 02             	orl    $0x2,(%edi)
41d4ed:	89 77 08             	mov    %esi,0x8(%edi)
41d4f0:	8b 4b 50             	mov    0x50(%ebx),%ecx
41d4f3:	8d 51 02             	lea    0x2(%ecx),%edx
41d4f6:	66 8b 01             	mov    (%ecx),%ax
41d4f9:	83 c1 02             	add    $0x2,%ecx
41d4fc:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
41d503:	75 f1                	jne    0x41d4f6
41d505:	2b ca                	sub    %edx,%ecx
41d507:	d1 f9                	sar    $1,%ecx
41d509:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
41d50c:	75 1f                	jne    0x41d52d
41d50e:	89 77 04             	mov    %esi,0x4(%edi)
41d511:	eb 1a                	jmp    0x41d52d
41d513:	8b 17                	mov    (%edi),%edx
41d515:	f6 c2 01             	test   $0x1,%dl
41d518:	75 13                	jne    0x41d52d
41d51a:	56                   	push   %esi
41d51b:	e8 30 03 00 00       	call   0x41d850
41d520:	59                   	pop    %ecx
41d521:	85 c0                	test   %eax,%eax
41d523:	74 08                	je     0x41d52d
41d525:	83 ca 01             	or     $0x1,%edx
41d528:	89 17                	mov    %edx,(%edi)
41d52a:	89 77 08             	mov    %esi,0x8(%edi)
41d52d:	8b 07                	mov    (%edi),%eax
41d52f:	b9 00 03 00 00       	mov    $0x300,%ecx
41d534:	23 c1                	and    %ecx,%eax
41d536:	3b c1                	cmp    %ecx,%eax
41d538:	0f 84 e9 00 00 00    	je     0x41d627
41d53e:	6a 78                	push   $0x78
41d540:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d546:	50                   	push   %eax
41d547:	8b 43 60             	mov    0x60(%ebx),%eax
41d54a:	f7 d8                	neg    %eax
41d54c:	1b c0                	sbb    %eax,%eax
41d54e:	25 02 f0 ff ff       	and    $0xfffff002,%eax
41d553:	05 01 10 00 00       	add    $0x1001,%eax
41d558:	50                   	push   %eax
41d559:	56                   	push   %esi
41d55a:	ff 15 dc 40 42 00    	call   *0x4240dc
41d560:	85 c0                	test   %eax,%eax
41d562:	0f 84 cb 00 00 00    	je     0x41d633
41d568:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d56e:	50                   	push   %eax
41d56f:	ff 73 50             	push   0x50(%ebx)
41d572:	e8 68 ce ff ff       	call   0x41a3df
41d577:	59                   	pop    %ecx
41d578:	59                   	pop    %ecx
41d579:	85 c0                	test   %eax,%eax
41d57b:	75 6a                	jne    0x41d5e7
41d57d:	8b 0f                	mov    (%edi),%ecx
41d57f:	81 c9 00 02 00 00    	or     $0x200,%ecx
41d585:	89 0f                	mov    %ecx,(%edi)
41d587:	39 43 60             	cmp    %eax,0x60(%ebx)
41d58a:	74 10                	je     0x41d59c
41d58c:	81 c9 00 01 00 00    	or     $0x100,%ecx
41d592:	89 0f                	mov    %ecx,(%edi)
41d594:	39 47 04             	cmp    %eax,0x4(%edi)
41d597:	e9 86 00 00 00       	jmp    0x41d622
41d59c:	39 43 5c             	cmp    %eax,0x5c(%ebx)
41d59f:	74 eb                	je     0x41d58c
41d5a1:	8b 53 50             	mov    0x50(%ebx),%edx
41d5a4:	8d 42 02             	lea    0x2(%edx),%eax
41d5a7:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
41d5ad:	66 8b 02             	mov    (%edx),%ax
41d5b0:	83 c2 02             	add    $0x2,%edx
41d5b3:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
41d5ba:	75 f1                	jne    0x41d5ad
41d5bc:	2b 95 04 ff ff ff    	sub    -0xfc(%ebp),%edx
41d5c2:	d1 fa                	sar    $1,%edx
41d5c4:	3b 53 5c             	cmp    0x5c(%ebx),%edx
41d5c7:	75 1a                	jne    0x41d5e3
41d5c9:	57                   	push   %edi
41d5ca:	6a 01                	push   $0x1
41d5cc:	56                   	push   %esi
41d5cd:	e8 a3 02 00 00       	call   0x41d875
41d5d2:	83 c4 0c             	add    $0xc,%esp
41d5d5:	85 c0                	test   %eax,%eax
41d5d7:	74 4e                	je     0x41d627
41d5d9:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
41d5df:	33 c0                	xor    %eax,%eax
41d5e1:	eb b1                	jmp    0x41d594
41d5e3:	33 c0                	xor    %eax,%eax
41d5e5:	eb a5                	jmp    0x41d58c
41d5e7:	33 c0                	xor    %eax,%eax
41d5e9:	39 43 60             	cmp    %eax,0x60(%ebx)
41d5ec:	75 39                	jne    0x41d627
41d5ee:	39 43 5c             	cmp    %eax,0x5c(%ebx)
41d5f1:	74 34                	je     0x41d627
41d5f3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d5f9:	50                   	push   %eax
41d5fa:	ff 73 50             	push   0x50(%ebx)
41d5fd:	e8 dd cd ff ff       	call   0x41a3df
41d602:	59                   	pop    %ecx
41d603:	59                   	pop    %ecx
41d604:	85 c0                	test   %eax,%eax
41d606:	75 1f                	jne    0x41d627
41d608:	57                   	push   %edi
41d609:	33 db                	xor    %ebx,%ebx
41d60b:	53                   	push   %ebx
41d60c:	56                   	push   %esi
41d60d:	e8 63 02 00 00       	call   0x41d875
41d612:	83 c4 0c             	add    $0xc,%esp
41d615:	85 c0                	test   %eax,%eax
41d617:	74 0e                	je     0x41d627
41d619:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
41d61f:	39 5f 04             	cmp    %ebx,0x4(%edi)
41d622:	75 03                	jne    0x41d627
41d624:	89 77 04             	mov    %esi,0x4(%edi)
41d627:	8b 07                	mov    (%edi),%eax
41d629:	c1 e8 02             	shr    $0x2,%eax
41d62c:	f7 d0                	not    %eax
41d62e:	83 e0 01             	and    $0x1,%eax
41d631:	eb 05                	jmp    0x41d638
41d633:	33 c0                	xor    %eax,%eax
41d635:	89 07                	mov    %eax,(%edi)
41d637:	40                   	inc    %eax
41d638:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d63b:	5f                   	pop    %edi
41d63c:	5e                   	pop    %esi
41d63d:	33 cd                	xor    %ebp,%ecx
41d63f:	5b                   	pop    %ebx
41d640:	e8 c7 9d fe ff       	call   0x40740c
41d645:	c9                   	leave
41d646:	c2 04 00             	ret    $0x4
41d649:	8b ff                	mov    %edi,%edi
41d64b:	55                   	push   %ebp
41d64c:	8b ec                	mov    %esp,%ebp
41d64e:	81 ec f4 00 00 00    	sub    $0xf4,%esp
41d654:	a1 14 30 43 00       	mov    0x433014,%eax
41d659:	33 c5                	xor    %ebp,%eax
41d65b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d65e:	53                   	push   %ebx
41d65f:	56                   	push   %esi
41d660:	8b 75 08             	mov    0x8(%ebp),%esi
41d663:	57                   	push   %edi
41d664:	e8 6a 6b ff ff       	call   0x4141d3
41d669:	8b d8                	mov    %eax,%ebx
41d66b:	e8 63 6b ff ff       	call   0x4141d3
41d670:	56                   	push   %esi
41d671:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
41d677:	e8 a2 00 00 00       	call   0x41d71e
41d67c:	59                   	pop    %ecx
41d67d:	8b 4b 60             	mov    0x60(%ebx),%ecx
41d680:	8b f0                	mov    %eax,%esi
41d682:	f7 d9                	neg    %ecx
41d684:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d68a:	6a 78                	push   $0x78
41d68c:	1b c9                	sbb    %ecx,%ecx
41d68e:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
41d694:	50                   	push   %eax
41d695:	81 c1 01 10 00 00    	add    $0x1001,%ecx
41d69b:	51                   	push   %ecx
41d69c:	56                   	push   %esi
41d69d:	ff 15 dc 40 42 00    	call   *0x4240dc
41d6a3:	85 c0                	test   %eax,%eax
41d6a5:	75 05                	jne    0x41d6ac
41d6a7:	21 07                	and    %eax,(%edi)
41d6a9:	40                   	inc    %eax
41d6aa:	eb 61                	jmp    0x41d70d
41d6ac:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d6b2:	50                   	push   %eax
41d6b3:	ff 73 50             	push   0x50(%ebx)
41d6b6:	e8 24 cd ff ff       	call   0x41a3df
41d6bb:	59                   	pop    %ecx
41d6bc:	59                   	pop    %ecx
41d6bd:	8b 4b 60             	mov    0x60(%ebx),%ecx
41d6c0:	85 c0                	test   %eax,%eax
41d6c2:	75 09                	jne    0x41d6cd
41d6c4:	85 c9                	test   %ecx,%ecx
41d6c6:	75 32                	jne    0x41d6fa
41d6c8:	57                   	push   %edi
41d6c9:	6a 01                	push   $0x1
41d6cb:	eb 20                	jmp    0x41d6ed
41d6cd:	85 c9                	test   %ecx,%ecx
41d6cf:	75 32                	jne    0x41d703
41d6d1:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
41d6d4:	74 2d                	je     0x41d703
41d6d6:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d6dc:	50                   	push   %eax
41d6dd:	ff 73 50             	push   0x50(%ebx)
41d6e0:	e8 fa cc ff ff       	call   0x41a3df
41d6e5:	59                   	pop    %ecx
41d6e6:	59                   	pop    %ecx
41d6e7:	85 c0                	test   %eax,%eax
41d6e9:	75 18                	jne    0x41d703
41d6eb:	57                   	push   %edi
41d6ec:	50                   	push   %eax
41d6ed:	56                   	push   %esi
41d6ee:	e8 82 01 00 00       	call   0x41d875
41d6f3:	83 c4 0c             	add    $0xc,%esp
41d6f6:	85 c0                	test   %eax,%eax
41d6f8:	74 09                	je     0x41d703
41d6fa:	83 0f 04             	orl    $0x4,(%edi)
41d6fd:	89 77 04             	mov    %esi,0x4(%edi)
41d700:	89 77 08             	mov    %esi,0x8(%edi)
41d703:	8b 07                	mov    (%edi),%eax
41d705:	c1 e8 02             	shr    $0x2,%eax
41d708:	f7 d0                	not    %eax
41d70a:	83 e0 01             	and    $0x1,%eax
41d70d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d710:	5f                   	pop    %edi
41d711:	5e                   	pop    %esi
41d712:	33 cd                	xor    %ebp,%ecx
41d714:	5b                   	pop    %ebx
41d715:	e8 f2 9c fe ff       	call   0x40740c
41d71a:	c9                   	leave
41d71b:	c2 04 00             	ret    $0x4
41d71e:	8b ff                	mov    %edi,%edi
41d720:	55                   	push   %ebp
41d721:	8b ec                	mov    %esp,%ebp
41d723:	8b 55 08             	mov    0x8(%ebp),%edx
41d726:	56                   	push   %esi
41d727:	33 f6                	xor    %esi,%esi
41d729:	0f b7 0a             	movzwl (%edx),%ecx
41d72c:	66 85 c9             	test   %cx,%cx
41d72f:	74 39                	je     0x41d76a
41d731:	57                   	push   %edi
41d732:	6a 05                	push   $0x5
41d734:	5f                   	pop    %edi
41d735:	8d 41 9f             	lea    -0x61(%ecx),%eax
41d738:	8d 52 02             	lea    0x2(%edx),%edx
41d73b:	66 3b c7             	cmp    %di,%ax
41d73e:	77 08                	ja     0x41d748
41d740:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
41d746:	eb 0e                	jmp    0x41d756
41d748:	8d 41 bf             	lea    -0x41(%ecx),%eax
41d74b:	66 3b c7             	cmp    %di,%ax
41d74e:	77 06                	ja     0x41d756
41d750:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
41d756:	0f b7 c9             	movzwl %cx,%ecx
41d759:	83 c1 d0             	add    $0xffffffd0,%ecx
41d75c:	c1 e6 04             	shl    $0x4,%esi
41d75f:	03 f1                	add    %ecx,%esi
41d761:	0f b7 0a             	movzwl (%edx),%ecx
41d764:	66 85 c9             	test   %cx,%cx
41d767:	75 cc                	jne    0x41d735
41d769:	5f                   	pop    %edi
41d76a:	8b c6                	mov    %esi,%eax
41d76c:	5e                   	pop    %esi
41d76d:	5d                   	pop    %ebp
41d76e:	c3                   	ret
41d76f:	8b ff                	mov    %edi,%edi
41d771:	55                   	push   %ebp
41d772:	8b ec                	mov    %esp,%ebp
41d774:	51                   	push   %ecx
41d775:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d778:	56                   	push   %esi
41d779:	57                   	push   %edi
41d77a:	85 c9                	test   %ecx,%ecx
41d77c:	0f 84 9e 00 00 00    	je     0x41d820
41d782:	33 c0                	xor    %eax,%eax
41d784:	66 39 01             	cmp    %ax,(%ecx)
41d787:	0f 84 93 00 00 00    	je     0x41d820
41d78d:	be b0 93 42 00       	mov    $0x4293b0,%esi
41d792:	8b d1                	mov    %ecx,%edx
41d794:	66 8b 3a             	mov    (%edx),%di
41d797:	66 3b 3e             	cmp    (%esi),%di