41e514:	8b c8                	mov    %eax,%ecx
41e516:	e8 bc d3 ff ff       	call   0x41b8d7
41e51b:	3b c6                	cmp    %esi,%eax
41e51d:	74 0d                	je     0x41e52c
41e51f:	8b 06                	mov    (%esi),%eax
41e521:	57                   	push   %edi
41e522:	8b ce                	mov    %esi,%ecx
41e524:	ff 90 98 00 00 00    	call   *0x98(%eax)
41e52a:	eb 02                	jmp    0x41e52e
41e52c:	33 c0                	xor    %eax,%eax
41e52e:	5f                   	pop    %edi
41e52f:	5e                   	pop    %esi
41e530:	c2 04 00             	ret    $0x4
41e533:	8b 4c 24 08          	mov    0x8(%esp),%ecx
41e537:	8b 41 04             	mov    0x4(%ecx),%eax
41e53a:	83 f8 01             	cmp    $0x1,%eax
41e53d:	75 05                	jne    0x41e544
41e53f:	83 c8 ff             	or     $0xffffffff,%eax
41e542:	eb 11                	jmp    0x41e555
41e544:	83 f8 0f             	cmp    $0xf,%eax
41e547:	75 0a                	jne    0x41e553
41e549:	6a 00                	push   $0x0
41e54b:	ff 31                	push   (%ecx)
41e54d:	ff 15 b8 97 43 00    	call   *0x4397b8
41e553:	33 c0                	xor    %eax,%eax
41e555:	c2 08 00             	ret    $0x8
41e558:	56                   	push   %esi
41e559:	e8 e9 61 00 00       	call   0x424747
41e55e:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
41e562:	8b 74 24 08          	mov    0x8(%esp),%esi
41e566:	75 23                	jne    0x41e58b
41e568:	85 f6                	test   %esi,%esi
41e56a:	7d 08                	jge    0x41e574
41e56c:	81 fe 01 80 00 00    	cmp    $0x8001,%esi
41e572:	75 17                	jne    0x41e58b
41e574:	e8 43 fa ff ff       	call   0x41dfbc
41e579:	85 c0                	test   %eax,%eax
41e57b:	74 0e                	je     0x41e58b
41e57d:	ff 74 24 10          	push   0x10(%esp)
41e581:	8b 10                	mov    (%eax),%edx
41e583:	8b c8                	mov    %eax,%ecx
41e585:	56                   	push   %esi
41e586:	ff 52 78             	call   *0x78(%edx)
41e589:	eb 21                	jmp    0x41e5ac
41e58b:	68 ce b1 40 00       	push   $0x40b1ce
41e590:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41e595:	e8 f4 6a 00 00       	call   0x42508e
41e59a:	ff 74 24 10          	push   0x10(%esp)
41e59e:	ff 74 24 10          	push   0x10(%esp)
41e5a2:	56                   	push   %esi
41e5a3:	ff 70 30             	push   0x30(%eax)
41e5a6:	ff 15 f0 98 43 00    	call   *0x4398f0
41e5ac:	5e                   	pop    %esi
41e5ad:	c2 0c 00             	ret    $0xc
41e5b0:	55                   	push   %ebp
41e5b1:	8b ec                	mov    %esp,%ebp
41e5b3:	83 ec 20             	sub    $0x20,%esp
41e5b6:	53                   	push   %ebx
41e5b7:	56                   	push   %esi
41e5b8:	8b 75 0c             	mov    0xc(%ebp),%esi
41e5bb:	33 db                	xor    %ebx,%ebx
41e5bd:	3b f3                	cmp    %ebx,%esi
41e5bf:	57                   	push   %edi
41e5c0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41e5c3:	0f 84 25 01 00 00    	je     0x41e6ee
41e5c9:	8b 45 08             	mov    0x8(%ebp),%eax
41e5cc:	2b c3                	sub    %ebx,%eax
41e5ce:	74 6c                	je     0x41e63c
41e5d0:	48                   	dec    %eax
41e5d1:	48                   	dec    %eax
41e5d2:	74 0a                	je     0x41e5de
41e5d4:	2d ff 7f 00 00       	sub    $0x7fff,%eax
41e5d9:	e9 10 01 00 00       	jmp    0x41e6ee
41e5de:	ff 36                	push   (%esi)
41e5e0:	e8 db bc ff ff       	call   0x41a2c0
41e5e5:	3b c3                	cmp    %ebx,%eax
41e5e7:	74 53                	je     0x41e63c
41e5e9:	8b c8                	mov    %eax,%ecx
41e5eb:	e8 13 d3 ff ff       	call   0x41b903
41e5f0:	8b f8                	mov    %eax,%edi
41e5f2:	3b fb                	cmp    %ebx,%edi
41e5f4:	74 46                	je     0x41e63c
41e5f6:	8b cf                	mov    %edi,%ecx
41e5f8:	e8 5d e5 ff ff       	call   0x41cb5a
41e5fd:	85 c0                	test   %eax,%eax
41e5ff:	74 3b                	je     0x41e63c
41e601:	39 5f 50             	cmp    %ebx,0x50(%edi)
41e604:	74 36                	je     0x41e63c
41e606:	e8 f7 cb fe ff       	call   0x40b202
41e60b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e60e:	39 59 1c             	cmp    %ebx,0x1c(%ecx)
41e611:	74 29                	je     0x41e63c
41e613:	8b 4e 04             	mov    0x4(%esi),%ecx
41e616:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
41e61c:	75 06                	jne    0x41e624
41e61e:	83 7e 08 0d          	cmpl   $0xd,0x8(%esi)
41e622:	74 08                	je     0x41e62c
41e624:	81 f9 02 02 00 00    	cmp    $0x202,%ecx
41e62a:	75 10                	jne    0x41e63c
41e62c:	53                   	push   %ebx
41e62d:	68 46 e1 00 00       	push   $0xe146
41e632:	68 11 01 00 00       	push   $0x111
41e637:	ff 70 1c             	push   0x1c(%eax)
41e63a:	eb 2f                	jmp    0x41e66b
41e63c:	e8 c1 cb fe ff       	call   0x40b202
41e641:	81 3d d4 6d 43 00 33 	cmpl   $0x333,0x436dd4
41e648:	03 00 00
41e64b:	8b f8                	mov    %eax,%edi
41e64d:	73 24                	jae    0x41e673
41e64f:	3b fb                	cmp    %ebx,%edi
41e651:	74 20                	je     0x41e673
41e653:	56                   	push   %esi
41e654:	e8 9e 00 00 00       	call   0x41e6f7
41e659:	85 c0                	test   %eax,%eax
41e65b:	74 16                	je     0x41e673
41e65d:	53                   	push   %ebx
41e65e:	68 46 e1 00 00       	push   $0xe146
41e663:	68 11 01 00 00       	push   $0x111
41e668:	ff 77 1c             	push   0x1c(%edi)
41e66b:	ff 15 88 99 43 00    	call   *0x439988
41e671:	eb 6f                	jmp    0x41e6e2
41e673:	39 5d 08             	cmp    %ebx,0x8(%ebp)
41e676:	75 76                	jne    0x41e6ee
41e678:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e67b:	39 58 20             	cmp    %ebx,0x20(%eax)
41e67e:	74 6e                	je     0x41e6ee
41e680:	8b 46 04             	mov    0x4(%esi),%eax
41e683:	3d 00 01 00 00       	cmp    $0x100,%eax
41e688:	72 64                	jb     0x41e6ee
41e68a:	3d 08 01 00 00       	cmp    $0x108,%eax
41e68f:	77 5d                	ja     0x41e6ee
41e691:	68 ce b1 40 00       	push   $0x40b1ce
41e696:	b9 b4 6a 43 00       	mov    $0x436ab4,%ecx
41e69b:	e8 ee 69 00 00       	call   0x42508e
41e6a0:	8b d8                	mov    %eax,%ebx
41e6a2:	83 bb bc 00 00 00 00 	cmpl   $0x0,0xbc(%ebx)
41e6a9:	75 43                	jne    0x41e6ee
41e6ab:	6a 07                	push   $0x7
41e6ad:	8d 7d e0             	lea    -0x20(%ebp),%edi
41e6b0:	59                   	pop    %ecx
41e6b1:	c7 83 bc 00 00 00 01 	movl   $0x1,0xbc(%ebx)
41e6b8:	00 00 00
41e6bb:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41e6bd:	8b 75 fc             	mov    -0x4(%ebp),%esi
41e6c0:	8b 4e 20             	mov    0x20(%esi),%ecx
41e6c3:	e8 49 f1 ff ff       	call   0x41d811
41e6c8:	85 c0                	test   %eax,%eax
41e6ca:	74 1b                	je     0x41e6e7
41e6cc:	8b 06                	mov    (%esi),%eax
41e6ce:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41e6d1:	51                   	push   %ecx
41e6d2:	8b ce                	mov    %esi,%ecx
41e6d4:	ff 50 60             	call   *0x60(%eax)
41e6d7:	85 c0                	test   %eax,%eax
41e6d9:	74 0c                	je     0x41e6e7
41e6db:	83 a3 bc 00 00 00 00 	andl   $0x0,0xbc(%ebx)
41e6e2:	6a 01                	push   $0x1
41e6e4:	58                   	pop    %eax
41e6e5:	eb 09                	jmp    0x41e6f0
41e6e7:	83 a3 bc 00 00 00 00 	andl   $0x0,0xbc(%ebx)
41e6ee:	33 c0                	xor    %eax,%eax
41e6f0:	5f                   	pop    %edi
41e6f1:	5e                   	pop    %esi
41e6f2:	5b                   	pop    %ebx
41e6f3:	c9                   	leave
41e6f4:	c2 08 00             	ret    $0x8
41e6f7:	8b 44 24 04          	mov    0x4(%esp),%eax
41e6fb:	56                   	push   %esi
41e6fc:	81 78 04 00 01 00 00 	cmpl   $0x100,0x4(%eax)
41e703:	75 37                	jne    0x41e73c
41e705:	83 78 08 70          	cmpl   $0x70,0x8(%eax)
41e709:	75 31                	jne    0x41e73c
41e70b:	8b 40 0c             	mov    0xc(%eax),%eax
41e70e:	c1 e8 10             	shr    $0x10,%eax
41e711:	f6 c4 40             	test   $0x40,%ah
41e714:	75 26                	jne    0x41e73c
41e716:	8b 35 dc 98 43 00    	mov    0x4398dc,%esi
41e71c:	6a 10                	push   $0x10
41e71e:	ff d6                	call   *%esi
41e720:	66 85 c0             	test   %ax,%ax
41e723:	7c 17                	jl     0x41e73c
41e725:	6a 11                	push   $0x11
41e727:	ff d6                	call   *%esi
41e729:	66 85 c0             	test   %ax,%ax
41e72c:	7c 0e                	jl     0x41e73c
41e72e:	6a 12                	push   $0x12
41e730:	ff d6                	call   *%esi
41e732:	66 85 c0             	test   %ax,%ax
41e735:	7c 05                	jl     0x41e73c
41e737:	6a 01                	push   $0x1
41e739:	58                   	pop    %eax
41e73a:	eb 02                	jmp    0x41e73e
41e73c:	33 c0                	xor    %eax,%eax
41e73e:	5e                   	pop    %esi
41e73f:	c2 04 00             	ret    $0x4
41e742:	8b 41 20             	mov    0x20(%ecx),%eax
41e745:	85 c0                	test   %eax,%eax
41e747:	75 13                	jne    0x41e75c
41e749:	8b 41 1c             	mov    0x1c(%ecx),%eax
41e74c:	85 c0                	test   %eax,%eax
41e74e:	75 0c                	jne    0x41e75c
41e750:	ff 15 20 98 43 00    	call   *0x439820
41e756:	50                   	push   %eax
41e757:	e8 64 bb ff ff       	call   0x41a2c0
41e75c:	c3                   	ret
41e75d:	56                   	push   %esi
41e75e:	8b f1                	mov    %ecx,%esi
41e760:	33 c0                	xor    %eax,%eax
41e762:	57                   	push   %edi
41e763:	50                   	push   %eax
41e764:	8d 7e 30             	lea    0x30(%esi),%edi
41e767:	50                   	push   %eax
41e768:	50                   	push   %eax
41e769:	57                   	push   %edi
41e76a:	ff 15 c0 97 43 00    	call   *0x4397c0
41e770:	85 c0                	test   %eax,%eax
41e772:	74 26                	je     0x41e79a
41e774:	81 7e 34 6a 03 00 00 	cmpl   $0x36a,0x34(%esi)
41e77b:	74 1a                	je     0x41e797
41e77d:	8b 06                	mov    (%esi),%eax
41e77f:	57                   	push   %edi
41e780:	8b ce                	mov    %esi,%ecx
41e782:	ff 50 60             	call   *0x60(%eax)
41e785:	85 c0                	test   %eax,%eax
41e787:	75 0e                	jne    0x41e797
41e789:	57                   	push   %edi
41e78a:	ff 15 bc 97 43 00    	call   *0x4397bc
41e790:	57                   	push   %edi
41e791:	ff 15 54 98 43 00    	call   *0x439854
41e797:	6a 01                	push   $0x1
41e799:	58                   	pop    %eax
41e79a:	5f                   	pop    %edi
41e79b:	5e                   	pop    %esi
41e79c:	c3                   	ret
41e79d:	b8 f0 b2 42 00       	mov    $0x42b2f0,%eax
41e7a2:	c3                   	ret
41e7a3:	56                   	push   %esi
41e7a4:	8b f1                	mov    %ecx,%esi
41e7a6:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
41e7aa:	75 10                	jne    0x41e7bc
41e7ac:	e8 e6 58 00 00       	call   0x424097
41e7b1:	85 c0                	test   %eax,%eax
41e7b3:	74 07                	je     0x41e7bc
41e7b5:	6a 00                	push   $0x0
41e7b7:	e8 81 70 00 00       	call   0x42583d
41e7bc:	8b ce                	mov    %esi,%ecx
41e7be:	e8 24 fa ff ff       	call   0x41e1e7
41e7c3:	5e                   	pop    %esi
41e7c4:	c3                   	ret
41e7c5:	56                   	push   %esi
41e7c6:	57                   	push   %edi
41e7c7:	8b f9                	mov    %ecx,%edi
41e7c9:	e8 34 ca fe ff       	call   0x40b202
41e7ce:	8b f0                	mov    %eax,%esi
41e7d0:	33 c0                	xor    %eax,%eax
41e7d2:	50                   	push   %eax
41e7d3:	50                   	push   %eax
41e7d4:	68 6a 03 00 00       	push   $0x36a
41e7d9:	89 87 84 00 00 00    	mov    %eax,0x84(%edi)
41e7df:	ff 76 1c             	push   0x1c(%esi)
41e7e2:	ff 15 40 98 43 00    	call   *0x439840
41e7e8:	ff 74 24 10          	push   0x10(%esp)
41e7ec:	8b 06                	mov    (%esi),%eax
41e7ee:	8b ce                	mov    %esi,%ecx
41e7f0:	ff 74 24 10          	push   0x10(%esp)
41e7f4:	ff 50 74             	call   *0x74(%eax)
41e7f7:	5f                   	pop    %edi
41e7f8:	5e                   	pop    %esi
41e7f9:	c2 08 00             	ret    $0x8
41e7fc:	8b 54 24 08          	mov    0x8(%esp),%edx
41e800:	53                   	push   %ebx
41e801:	56                   	push   %esi
41e802:	57                   	push   %edi
41e803:	8b 42 04             	mov    0x4(%edx),%eax
41e806:	8b f0                	mov    %eax,%esi
41e808:	4e                   	dec    %esi
41e809:	74 58                	je     0x41e863
41e80b:	83 ee 0e             	sub    $0xe,%esi
41e80e:	74 53                	je     0x41e863
41e810:	33 db                	xor    %ebx,%ebx
41e812:	3d 11 01 00 00       	cmp    $0x111,%eax
41e817:	bf 08 f1 00 00       	mov    $0xf108,%edi
41e81c:	75 09                	jne    0x41e827
41e81e:	39 5a 0c             	cmp    %ebx,0xc(%edx)
41e821:	75 01                	jne    0x41e824
41e823:	47                   	inc    %edi
41e824:	6a 01                	push   $0x1
41e826:	5b                   	pop    %ebx
41e827:	8b 74 24 10          	mov    0x10(%esp),%esi
41e82b:	68 40 b4 42 00       	push   $0x42b440
41e830:	8b ce                	mov    %esi,%ecx
41e832:	e8 17 e5 ff ff       	call   0x41cd4e
41e837:	85 c0                	test   %eax,%eax
41e839:	74 0a                	je     0x41e845
41e83b:	8b 06                	mov    (%esi),%eax
41e83d:	57                   	push   %edi
41e83e:	68 30 10 00 00       	push   $0x1030
41e843:	eb 15                	jmp    0x41e85a
41e845:	68 c8 ad 42 00       	push   $0x42adc8
41e84a:	8b ce                	mov    %esi,%ecx
41e84c:	e8 fd e4 ff ff       	call   0x41cd4e
41e851:	85 c0                	test   %eax,%eax
41e853:	75 0a                	jne    0x41e85f
41e855:	8b 06                	mov    (%esi),%eax
41e857:	57                   	push   %edi
41e858:	6a 10                	push   $0x10
41e85a:	8b ce                	mov    %esi,%ecx
41e85c:	ff 50 18             	call   *0x18(%eax)
41e85f:	8b c3                	mov    %ebx,%eax
41e861:	eb 0a                	jmp    0x41e86d
41e863:	52                   	push   %edx
41e864:	ff 74 24 14          	push   0x14(%esp)
41e868:	e8 c6 fc ff ff       	call   0x41e533
41e86d:	5f                   	pop    %edi
41e86e:	5e                   	pop    %esi
41e86f:	5b                   	pop    %ebx
41e870:	c2 08 00             	ret    $0x8
41e873:	55                   	push   %ebp
41e874:	8b ec                	mov    %esp,%ebp
41e876:	56                   	push   %esi
41e877:	57                   	push   %edi
41e878:	8b 7d 08             	mov    0x8(%ebp),%edi
41e87b:	8b f1                	mov    %ecx,%esi
41e87d:	85 ff                	test   %edi,%edi
41e87f:	7f 3d                	jg     0x41e8be
41e881:	57                   	push   %edi
41e882:	e8 43 fa ff ff       	call   0x41e2ca
41e887:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
41e88d:	83 65 08 00          	andl   $0x0,0x8(%ebp)
41e891:	85 c9                	test   %ecx,%ecx
41e893:	74 08                	je     0x41e89d
41e895:	8b 01                	mov    (%ecx),%eax
41e897:	ff 50 18             	call   *0x18(%eax)
41e89a:	89 45 08             	mov    %eax,0x8(%ebp)
41e89d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41e8a1:	74 28                	je     0x41e8cb
41e8a3:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
41e8a9:	8d 55 08             	lea    0x8(%ebp),%edx
41e8ac:	52                   	push   %edx
41e8ad:	8b 01                	mov    (%ecx),%eax
41e8af:	ff 50 1c             	call   *0x1c(%eax)
41e8b2:	8b 10                	mov    (%eax),%edx
41e8b4:	8b c8                	mov    %eax,%ecx
41e8b6:	ff 92 90 00 00 00    	call   *0x90(%edx)
41e8bc:	eb df                	jmp    0x41e89d
41e8be:	83 ff 01             	cmp    $0x1,%edi
41e8c1:	75 08                	jne    0x41e8cb
41e8c3:	57                   	push   %edi
41e8c4:	8b ce                	mov    %esi,%ecx
41e8c6:	e8 ff f9 ff ff       	call   0x41e2ca