41e3ad:	e8 64 45 fe ff       	call   0x402916
41e3b2:	84 c0                	test   %al,%al
41e3b4:	0f 85 7c 76 05 00    	jne    0x475a36
41e3ba:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41e3bd:	89 9f fc 00 00 00    	mov    %ebx,0xfc(%edi)
41e3c3:	e8 58 48 ff ff       	call   0x412c20
41e3c8:	5f                   	pop    %edi
41e3c9:	5e                   	pop    %esi
41e3ca:	5b                   	pop    %ebx
41e3cb:	c9                   	leave
41e3cc:	c3                   	ret
41e3cd:	55                   	push   %ebp
41e3ce:	8b ec                	mov    %esp,%ebp
41e3d0:	51                   	push   %ecx
41e3d1:	51                   	push   %ecx
41e3d2:	56                   	push   %esi
41e3d3:	57                   	push   %edi
41e3d4:	8b f9                	mov    %ecx,%edi
41e3d6:	8b b7 20 01 00 00    	mov    0x120(%edi),%esi
41e3dc:	89 75 fc             	mov    %esi,-0x4(%ebp)
41e3df:	51                   	push   %ecx
41e3e0:	8b c4                	mov    %esp,%eax
41e3e2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41e3e5:	83 20 00             	andl   $0x0,(%eax)
41e3e8:	e8 29 45 fe ff       	call   0x402916
41e3ed:	84 c0                	test   %al,%al
41e3ef:	0f 85 6f 76 05 00    	jne    0x475a64
41e3f5:	5f                   	pop    %edi
41e3f6:	5e                   	pop    %esi
41e3f7:	c9                   	leave
41e3f8:	c3                   	ret
41e3f9:	55                   	push   %ebp
41e3fa:	8b ec                	mov    %esp,%ebp
41e3fc:	51                   	push   %ecx
41e3fd:	51                   	push   %ecx
41e3fe:	53                   	push   %ebx
41e3ff:	56                   	push   %esi
41e400:	8b 75 0c             	mov    0xc(%ebp),%esi
41e403:	57                   	push   %edi
41e404:	8b f9                	mov    %ecx,%edi
41e406:	8b da                	mov    %edx,%ebx
41e408:	89 7d fc             	mov    %edi,-0x4(%ebp)
41e40b:	8b 55 08             	mov    0x8(%ebp),%edx
41e40e:	e8 0f 00 00 00       	call   0x41e422
41e413:	8b c8                	mov    %eax,%ecx
41e415:	85 c9                	test   %ecx,%ecx
41e417:	0f 85 02 04 06 00    	jne    0x47e81f
41e41d:	5f                   	pop    %edi
41e41e:	5e                   	pop    %esi
41e41f:	5b                   	pop    %ebx
41e420:	c9                   	leave
41e421:	c3                   	ret
41e422:	55                   	push   %ebp
41e423:	8b ec                	mov    %esp,%ebp
41e425:	51                   	push   %ecx
41e426:	51                   	push   %ecx
41e427:	0f b7 01             	movzwl (%ecx),%eax
41e42a:	53                   	push   %ebx
41e42b:	56                   	push   %esi
41e42c:	57                   	push   %edi
41e42d:	8b fa                	mov    %edx,%edi
41e42f:	66 85 c0             	test   %ax,%ax
41e432:	74 76                	je     0x41e4aa
41e434:	6a 10                	push   $0x10
41e436:	5e                   	pop    %esi
41e437:	bb 95 00 00 00       	mov    $0x95,%ebx
41e43c:	89 75 f8             	mov    %esi,-0x8(%ebp)
41e43f:	c7 45 fc 0f 00 00 00 	movl   $0xf,-0x4(%ebp)
41e446:	66 83 f8 75          	cmp    $0x75,%ax
41e44a:	0f 84 8e 00 00 00    	je     0x41e4de
41e450:	66 83 f8 70          	cmp    $0x70,%ax
41e454:	74 76                	je     0x41e4cc
41e456:	0f b7 d0             	movzwl %ax,%edx
41e459:	3b d3                	cmp    %ebx,%edx
41e45b:	0f 8f c5 44 06 00    	jg     0x482926
41e461:	74 72                	je     0x41e4d5
41e463:	83 fa 55             	cmp    $0x55,%edx
41e466:	7c 24                	jl     0x41e48c
41e468:	83 fa 5a             	cmp    $0x5a,%edx
41e46b:	0f 8e 9a 44 06 00    	jle    0x48290b
41e471:	83 fa 5d             	cmp    $0x5d,%edx
41e474:	0f 8e 76 44 06 00    	jle    0x4828f0
41e47a:	83 fa 60             	cmp    $0x60,%edx
41e47d:	0f 8e 88 44 06 00    	jle    0x48290b
41e483:	83 fa 61             	cmp    $0x61,%edx
41e486:	0f 84 64 44 06 00    	je     0x4828f0
41e48c:	0f b6 82 60 e5 49 00 	movzbl 0x49e560(%edx),%eax
41e493:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41e496:	85 ff                	test   %edi,%edi
41e498:	74 08                	je     0x41e4a2
41e49a:	8d 42 e3             	lea    -0x1d(%edx),%eax
41e49d:	83 f8 37             	cmp    $0x37,%eax
41e4a0:	76 0f                	jbe    0x41e4b1
41e4a2:	0f b7 01             	movzwl (%ecx),%eax
41e4a5:	66 85 c0             	test   %ax,%ax
41e4a8:	75 9c                	jne    0x41e446
41e4aa:	33 c0                	xor    %eax,%eax
41e4ac:	5f                   	pop    %edi
41e4ad:	5e                   	pop    %esi
41e4ae:	5b                   	pop    %ebx
41e4af:	c9                   	leave
41e4b0:	c3                   	ret
41e4b1:	66 8b 41 fe          	mov    -0x2(%ecx),%ax
41e4b5:	ba 00 fc 00 00       	mov    $0xfc00,%edx
41e4ba:	66 23 c2             	and    %dx,%ax
41e4bd:	ba 00 d8 00 00       	mov    $0xd800,%edx
41e4c2:	66 3b c2             	cmp    %dx,%ax
41e4c5:	75 db                	jne    0x41e4a2
41e4c7:	83 c1 02             	add    $0x2,%ecx
41e4ca:	eb d6                	jmp    0x41e4a2
41e4cc:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
41e4d0:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41e4d3:	eb cd                	jmp    0x41e4a2
41e4d5:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
41e4d9:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
41e4dc:	eb ae                	jmp    0x41e48c
41e4de:	8b c1                	mov    %ecx,%eax
41e4e0:	eb ca                	jmp    0x41e4ac
41e4e2:	e8 d5 5f ff ff       	call   0x4144bc
41e4e7:	33 c9                	xor    %ecx,%ecx
41e4e9:	84 c0                	test   %al,%al
41e4eb:	0f 94 c1             	sete   %cl
41e4ee:	8a c1                	mov    %cl,%al
41e4f0:	c3                   	ret
41e4f1:	55                   	push   %ebp
41e4f2:	8b ec                	mov    %esp,%ebp
41e4f4:	8b 45 08             	mov    0x8(%ebp),%eax
41e4f7:	56                   	push   %esi
41e4f8:	8b 40 04             	mov    0x4(%eax),%eax
41e4fb:	57                   	push   %edi
41e4fc:	8b 30                	mov    (%eax),%esi
41e4fe:	51                   	push   %ecx
41e4ff:	e8 12 69 00 00       	call   0x424e16
41e504:	8d 48 20             	lea    0x20(%eax),%ecx
41e507:	8b d6                	mov    %esi,%edx
41e509:	e8 85 00 00 00       	call   0x41e593
41e50e:	8b 75 0c             	mov    0xc(%ebp),%esi
41e511:	59                   	pop    %ecx
41e512:	8b ce                	mov    %esi,%ecx
41e514:	8b f8                	mov    %eax,%edi
41e516:	e8 05 47 ff ff       	call   0x412c20
41e51b:	89 3e                	mov    %edi,(%esi)
41e51d:	5f                   	pop    %edi
41e51e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
41e525:	33 c0                	xor    %eax,%eax
41e527:	5e                   	pop    %esi
41e528:	5d                   	pop    %ebp
41e529:	c2 08 00             	ret    $0x8
41e52c:	55                   	push   %ebp
41e52d:	8b ec                	mov    %esp,%ebp
41e52f:	f6 41 2c 03          	testb  $0x3,0x2c(%ecx)
41e533:	75 12                	jne    0x41e547
41e535:	f6 41 2c 04          	testb  $0x4,0x2c(%ecx)
41e539:	75 06                	jne    0x41e541
41e53b:	5d                   	pop    %ebp
41e53c:	e9 0c 00 00 00       	jmp    0x41e54d
41e541:	5d                   	pop    %ebp
41e542:	e9 be 76 02 00       	jmp    0x445c05
41e547:	5d                   	pop    %ebp
41e548:	e9 23 75 02 00       	jmp    0x445a70
41e54d:	55                   	push   %ebp
41e54e:	8b ec                	mov    %esp,%ebp
41e550:	83 ec 10             	sub    $0x10,%esp
41e553:	53                   	push   %ebx
41e554:	56                   	push   %esi
41e555:	8b f1                	mov    %ecx,%esi
41e557:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41e55a:	e8 db 00 00 00       	call   0x41e63a
41e55f:	ff 75 0c             	push   0xc(%ebp)
41e562:	8d 45 f0             	lea    -0x10(%ebp),%eax
41e565:	50                   	push   %eax
41e566:	8b ce                	mov    %esi,%ecx
41e568:	e8 b3 d9 fe ff       	call   0x40bf20
41e56d:	84 c0                	test   %al,%al
41e56f:	0f 84 54 5b 05 00    	je     0x4740c9
41e575:	ff 75 08             	push   0x8(%ebp)
41e578:	8d 45 f0             	lea    -0x10(%ebp),%eax
41e57b:	50                   	push   %eax
41e57c:	e8 5d dc fe ff       	call   0x40c1de
41e581:	b3 01                	mov    $0x1,%bl
41e583:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41e586:	e8 ac e5 fe ff       	call   0x40cb37
41e58b:	5e                   	pop    %esi
41e58c:	8a c3                	mov    %bl,%al
41e58e:	5b                   	pop    %ebx
41e58f:	c9                   	leave
41e590:	c2 08 00             	ret    $0x8
41e593:	55                   	push   %ebp
41e594:	8b ec                	mov    %esp,%ebp
41e596:	83 ec 18             	sub    $0x18,%esp
41e599:	a0 c1 10 4c 00       	mov    0x4c10c1,%al
41e59e:	53                   	push   %ebx
41e59f:	56                   	push   %esi
41e5a0:	57                   	push   %edi
41e5a1:	8b f1                	mov    %ecx,%esi
41e5a3:	68 00 80 00 00       	push   $0x8000
41e5a8:	56                   	push   %esi
41e5a9:	8b fa                	mov    %edx,%edi
41e5ab:	88 45 ff             	mov    %al,-0x1(%ebp)
41e5ae:	e8 80 43 00 00       	call   0x422933
41e5b3:	59                   	pop    %ecx
41e5b4:	50                   	push   %eax
41e5b5:	e8 ab 41 00 00       	call   0x422765
41e5ba:	59                   	pop    %ecx
41e5bb:	59                   	pop    %ecx
41e5bc:	6a 0b                	push   $0xb
41e5be:	8b cf                	mov    %edi,%ecx
41e5c0:	8b d8                	mov    %eax,%ebx
41e5c2:	e8 1d f0 fe ff       	call   0x40d5e4
41e5c7:	84 c0                	test   %al,%al
41e5c9:	0f 85 87 5c 05 00    	jne    0x474256
41e5cf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41e5d2:	e8 63 00 00 00       	call   0x41e63a
41e5d7:	8b cf                	mov    %edi,%ecx
41e5d9:	e8 8e ad fe ff       	call   0x40936c
41e5de:	8d 45 e8             	lea    -0x18(%ebp),%eax
41e5e1:	50                   	push   %eax
41e5e2:	ff 77 08             	push   0x8(%edi)
41e5e5:	e8 74 00 00 00       	call   0x41e65e
41e5ea:	ff 75 e8             	push   -0x18(%ebp)
41e5ed:	68 6c ec 4a 00       	push   $0x4aec6c
41e5f2:	56                   	push   %esi
41e5f3:	e8 34 45 00 00       	call   0x422b2c
41e5f8:	83 c4 0c             	add    $0xc,%esp
41e5fb:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41e5ff:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e602:	0f 85 6e 5c 05 00    	jne    0x474276
41e608:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41e60b:	e8 27 e5 fe ff       	call   0x40cb37
41e610:	8b 7d f8             	mov    -0x8(%ebp),%edi
41e613:	56                   	push   %esi
41e614:	e8 d8 46 00 00       	call   0x422cf1
41e619:	59                   	pop    %ecx
41e61a:	83 fb ff             	cmp    $0xffffffff,%ebx
41e61d:	0f 84 6a 5c 05 00    	je     0x47428d
41e623:	53                   	push   %ebx
41e624:	56                   	push   %esi
41e625:	e8 09 43 00 00       	call   0x422933
41e62a:	59                   	pop    %ecx
41e62b:	50                   	push   %eax
41e62c:	e8 34 41 00 00       	call   0x422765
41e631:	59                   	pop    %ecx
41e632:	59                   	pop    %ecx
41e633:	8b c7                	mov    %edi,%eax
41e635:	5f                   	pop    %edi
41e636:	5e                   	pop    %esi
41e637:	5b                   	pop    %ebx
41e638:	c9                   	leave
41e639:	c3                   	ret
41e63a:	56                   	push   %esi
41e63b:	6a 10                	push   $0x10
41e63d:	8b f1                	mov    %ecx,%esi
41e63f:	58                   	pop    %eax
41e640:	83 66 04 00          	andl   $0x0,0x4(%esi)
41e644:	50                   	push   %eax
41e645:	89 46 08             	mov    %eax,0x8(%esi)
41e648:	e8 9d 0e 00 00       	call   0x41f4ea
41e64d:	59                   	pop    %ecx
41e64e:	89 06                	mov    %eax,(%esi)
41e650:	8b ce                	mov    %esi,%ecx
41e652:	c6 00 00             	movb   $0x0,(%eax)
41e655:	e8 f0 84 fe ff       	call   0x406b4a
41e65a:	8b c6                	mov    %esi,%eax
41e65c:	5e                   	pop    %esi
41e65d:	c3                   	ret
41e65e:	55                   	push   %ebp
41e65f:	8b ec                	mov    %esp,%ebp
41e661:	53                   	push   %ebx
41e662:	8b 5d 08             	mov    0x8(%ebp),%ebx
41e665:	57                   	push   %edi
41e666:	8b 7b 04             	mov    0x4(%ebx),%edi
41e669:	33 c0                	xor    %eax,%eax
41e66b:	50                   	push   %eax
41e66c:	50                   	push   %eax
41e66d:	50                   	push   %eax
41e66e:	50                   	push   %eax
41e66f:	47                   	inc    %edi
41e670:	57                   	push   %edi
41e671:	ff 33                	push   (%ebx)
41e673:	50                   	push   %eax
41e674:	50                   	push   %eax
41e675:	ff 15 9c d1 48 00    	call   *0x48d19c
41e67b:	89 45 08             	mov    %eax,0x8(%ebp)
41e67e:	85 c0                	test   %eax,%eax
41e680:	74 37                	je     0x41e6b9
41e682:	56                   	push   %esi
41e683:	50                   	push   %eax
41e684:	e8 61 0e 00 00       	call   0x41f4ea
41e689:	59                   	pop    %ecx
41e68a:	8b f0                	mov    %eax,%esi
41e68c:	33 c0                	xor    %eax,%eax
41e68e:	50                   	push   %eax
41e68f:	50                   	push   %eax
41e690:	ff 75 08             	push   0x8(%ebp)
41e693:	56                   	push   %esi
41e694:	57                   	push   %edi
41e695:	ff 33                	push   (%ebx)
41e697:	50                   	push   %eax
41e698:	50                   	push   %eax
41e699:	ff 15 9c d1 48 00    	call   *0x48d19c
41e69f:	48                   	dec    %eax
41e6a0:	50                   	push   %eax
41e6a1:	51                   	push   %ecx
41e6a2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41e6a5:	56                   	push   %esi
41e6a6:	e8 18 00 00 00       	call   0x41e6c3
41e6ab:	56                   	push   %esi
41e6ac:	e8 ad 0e 00 00       	call   0x41f55e
41e6b1:	59                   	pop    %ecx
41e6b2:	5e                   	pop    %esi
41e6b3:	5f                   	pop    %edi
41e6b4:	5b                   	pop    %ebx
41e6b5:	5d                   	pop    %ebp
41e6b6:	c2 08 00             	ret    $0x8
41e6b9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41e6bc:	e8 01 db fe ff       	call   0x40c1c2
41e6c1:	eb f0                	jmp    0x41e6b3
41e6c3:	55                   	push   %ebp
41e6c4:	8b ec                	mov    %esp,%ebp
41e6c6:	56                   	push   %esi
41e6c7:	57                   	push   %edi
41e6c8:	8b 7d 10             	mov    0x10(%ebp),%edi
41e6cb:	8b f1                	mov    %ecx,%esi
41e6cd:	85 ff                	test   %edi,%edi
41e6cf:	74 3d                	je     0x41e70e
41e6d1:	83 ff ff             	cmp    $0xffffffff,%edi
41e6d4:	74 38                	je     0x41e70e
41e6d6:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41e6da:	74 32                	je     0x41e70e
41e6dc:	e8 09 84 fe ff       	call   0x406aea
41e6e1:	8b ce                	mov    %esi,%ecx
41e6e3:	84 c0                	test   %al,%al
41e6e5:	0f 85 84 56 05 00    	jne    0x473d6f
41e6eb:	57                   	push   %edi
41e6ec:	e8 26 00 00 00       	call   0x41e717
41e6f1:	57                   	push   %edi
41e6f2:	ff 75 08             	push   0x8(%ebp)
41e6f5:	89 7e 04             	mov    %edi,0x4(%esi)
41e6f8:	ff 36                	push   (%esi)
41e6fa:	e8 81 07 00 00       	call   0x41ee80
41e6ff:	8b 06                	mov    (%esi),%eax
41e701:	83 c4 0c             	add    $0xc,%esp
41e704:	c6 04 07 00          	movb   $0x0,(%edi,%eax,1)
41e708:	5f                   	pop    %edi
41e709:	5e                   	pop    %esi
41e70a:	5d                   	pop    %ebp
41e70b:	c2 0c 00             	ret    $0xc
41e70e:	51                   	push   %ecx
41e70f:	51                   	push   %ecx
41e710:	e8 e4 72 02 00       	call   0x4459f9