43e53e:	33 ff                	xor    %edi,%edi
43e540:	47                   	inc    %edi
43e541:	57                   	push   %edi
43e542:	68 d8 00 00 00       	push   $0xd8
43e547:	e8 34 7f ff ff       	call   0x436480
43e54c:	59                   	pop    %ecx
43e54d:	59                   	pop    %ecx
43e54e:	8b d8                	mov    %eax,%ebx
43e550:	89 5d dc             	mov    %ebx,-0x24(%ebp)
43e553:	85 db                	test   %ebx,%ebx
43e555:	0f 84 f6 00 00 00    	je     0x43e651
43e55b:	6a 0c                	push   $0xc
43e55d:	e8 bf 53 ff ff       	call   0x433921
43e562:	59                   	pop    %ecx
43e563:	89 7d fc             	mov    %edi,-0x4(%ebp)
43e566:	8b 4e 6c             	mov    0x6c(%esi),%ecx
43e569:	8b c3                	mov    %ebx,%eax
43e56b:	e8 b2 f1 ff ff       	call   0x43d722
43e570:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e574:	e8 b3 00 00 00       	call   0x43e62c
43e579:	ff 75 0c             	push   0xc(%ebp)
43e57c:	8b 4d 08             	mov    0x8(%ebp),%ecx
43e57f:	8b d3                	mov    %ebx,%edx
43e581:	e8 58 fc ff ff       	call   0x43e1de
43e586:	59                   	pop    %ecx
43e587:	89 45 e0             	mov    %eax,-0x20(%ebp)
43e58a:	85 c0                	test   %eax,%eax
43e58c:	0f 84 b1 00 00 00    	je     0x43e643
43e592:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43e596:	74 19                	je     0x43e5b1
43e598:	68 d4 fb 46 00       	push   $0x46fbd4
43e59d:	ff 75 0c             	push   0xc(%ebp)
43e5a0:	e8 8b 61 00 00       	call   0x444730
43e5a5:	59                   	pop    %ecx
43e5a6:	59                   	pop    %ecx
43e5a7:	85 c0                	test   %eax,%eax
43e5a9:	74 06                	je     0x43e5b1
43e5ab:	89 3d c4 10 47 00    	mov    %edi,0x4710c4
43e5b1:	6a 0c                	push   $0xc
43e5b3:	e8 69 53 ff ff       	call   0x433921
43e5b8:	59                   	pop    %ecx
43e5b9:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
43e5c0:	8d 7e 6c             	lea    0x6c(%esi),%edi
43e5c3:	53                   	push   %ebx
43e5c4:	57                   	push   %edi
43e5c5:	e8 60 ae ff ff       	call   0x43942a
43e5ca:	53                   	push   %ebx
43e5cb:	e8 76 ac ff ff       	call   0x439246
43e5d0:	83 c4 0c             	add    $0xc,%esp
43e5d3:	f6 46 70 02          	testb  $0x2,0x70(%esi)
43e5d7:	75 3f                	jne    0x43e618
43e5d9:	f6 05 d0 fb 46 00 01 	testb  $0x1,0x46fbd0
43e5e0:	75 36                	jne    0x43e618
43e5e2:	ff 37                	push   (%edi)
43e5e4:	68 18 fe 46 00       	push   $0x46fe18
43e5e9:	e8 3c ae ff ff       	call   0x43942a
43e5ee:	59                   	pop    %ecx
43e5ef:	59                   	pop    %ecx
43e5f0:	a1 18 fe 46 00       	mov    0x46fe18,%eax
43e5f5:	8b 88 bc 00 00 00    	mov    0xbc(%eax),%ecx
43e5fb:	89 0d b8 fe 46 00    	mov    %ecx,0x46feb8
43e601:	8b 88 c8 00 00 00    	mov    0xc8(%eax),%ecx
43e607:	89 0d 30 fe 46 00    	mov    %ecx,0x46fe30
43e60d:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
43e613:	a3 d0 fe 46 00       	mov    %eax,0x46fed0
43e618:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43e61c:	e8 17 00 00 00       	call   0x43e638
43e621:	eb 2e                	jmp    0x43e651
43e623:	8b 5d dc             	mov    -0x24(%ebp),%ebx
43e626:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43e629:	33 ff                	xor    %edi,%edi
43e62b:	47                   	inc    %edi
43e62c:	6a 0c                	push   $0xc
43e62e:	e8 fd 51 ff ff       	call   0x433830
43e633:	59                   	pop    %ecx
43e634:	c3                   	ret
43e635:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43e638:	6a 0c                	push   $0xc
43e63a:	e8 f1 51 ff ff       	call   0x433830
43e63f:	59                   	pop    %ecx
43e640:	c3                   	ret
43e641:	eb 0e                	jmp    0x43e651
43e643:	53                   	push   %ebx
43e644:	e8 fd ab ff ff       	call   0x439246
43e649:	53                   	push   %ebx
43e64a:	e8 90 ac ff ff       	call   0x4392df
43e64f:	59                   	pop    %ecx
43e650:	59                   	pop    %ecx
43e651:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
43e658:	e8 0c 00 00 00       	call   0x43e669
43e65d:	8b 45 e0             	mov    -0x20(%ebp),%eax
43e660:	e8 60 67 ff ff       	call   0x434dc5
43e665:	c3                   	ret
43e666:	8b 75 e4             	mov    -0x1c(%ebp),%esi
43e669:	83 66 70 ef          	andl   $0xffffffef,0x70(%esi)
43e66d:	c3                   	ret
43e66e:	cc                   	int3
43e66f:	cc                   	int3
43e670:	8d 42 ff             	lea    -0x1(%edx),%eax
43e673:	5b                   	pop    %ebx
43e674:	c3                   	ret
43e675:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43e67c:	8d 64 24 00          	lea    0x0(%esp),%esp
43e680:	33 c0                	xor    %eax,%eax
43e682:	8a 44 24 08          	mov    0x8(%esp),%al
43e686:	53                   	push   %ebx
43e687:	8b d8                	mov    %eax,%ebx
43e689:	c1 e0 08             	shl    $0x8,%eax
43e68c:	8b 54 24 08          	mov    0x8(%esp),%edx
43e690:	f7 c2 03 00 00 00    	test   $0x3,%edx
43e696:	74 15                	je     0x43e6ad
43e698:	8a 0a                	mov    (%edx),%cl
43e69a:	83 c2 01             	add    $0x1,%edx
43e69d:	3a cb                	cmp    %bl,%cl
43e69f:	74 cf                	je     0x43e670
43e6a1:	84 c9                	test   %cl,%cl
43e6a3:	74 51                	je     0x43e6f6
43e6a5:	f7 c2 03 00 00 00    	test   $0x3,%edx
43e6ab:	75 eb                	jne    0x43e698
43e6ad:	0b d8                	or     %eax,%ebx
43e6af:	57                   	push   %edi
43e6b0:	8b c3                	mov    %ebx,%eax
43e6b2:	c1 e3 10             	shl    $0x10,%ebx
43e6b5:	56                   	push   %esi
43e6b6:	0b d8                	or     %eax,%ebx
43e6b8:	8b 0a                	mov    (%edx),%ecx
43e6ba:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
43e6bf:	8b c1                	mov    %ecx,%eax
43e6c1:	8b f7                	mov    %edi,%esi
43e6c3:	33 cb                	xor    %ebx,%ecx
43e6c5:	03 f0                	add    %eax,%esi
43e6c7:	03 f9                	add    %ecx,%edi
43e6c9:	83 f1 ff             	xor    $0xffffffff,%ecx
43e6cc:	83 f0 ff             	xor    $0xffffffff,%eax
43e6cf:	33 cf                	xor    %edi,%ecx
43e6d1:	33 c6                	xor    %esi,%eax
43e6d3:	83 c2 04             	add    $0x4,%edx
43e6d6:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
43e6dc:	75 1c                	jne    0x43e6fa
43e6de:	25 00 01 01 81       	and    $0x81010100,%eax
43e6e3:	74 d3                	je     0x43e6b8
43e6e5:	25 00 01 01 01       	and    $0x1010100,%eax
43e6ea:	75 08                	jne    0x43e6f4
43e6ec:	81 e6 00 00 00 80    	and    $0x80000000,%esi
43e6f2:	75 c4                	jne    0x43e6b8
43e6f4:	5e                   	pop    %esi
43e6f5:	5f                   	pop    %edi
43e6f6:	5b                   	pop    %ebx
43e6f7:	33 c0                	xor    %eax,%eax
43e6f9:	c3                   	ret
43e6fa:	8b 42 fc             	mov    -0x4(%edx),%eax
43e6fd:	3a c3                	cmp    %bl,%al
43e6ff:	74 36                	je     0x43e737
43e701:	84 c0                	test   %al,%al
43e703:	74 ef                	je     0x43e6f4
43e705:	3a e3                	cmp    %bl,%ah
43e707:	74 27                	je     0x43e730
43e709:	84 e4                	test   %ah,%ah
43e70b:	74 e7                	je     0x43e6f4
43e70d:	c1 e8 10             	shr    $0x10,%eax
43e710:	3a c3                	cmp    %bl,%al
43e712:	74 15                	je     0x43e729
43e714:	84 c0                	test   %al,%al
43e716:	74 dc                	je     0x43e6f4
43e718:	3a e3                	cmp    %bl,%ah
43e71a:	74 06                	je     0x43e722
43e71c:	84 e4                	test   %ah,%ah
43e71e:	74 d4                	je     0x43e6f4
43e720:	eb 96                	jmp    0x43e6b8
43e722:	5e                   	pop    %esi
43e723:	5f                   	pop    %edi
43e724:	8d 42 ff             	lea    -0x1(%edx),%eax
43e727:	5b                   	pop    %ebx
43e728:	c3                   	ret
43e729:	8d 42 fe             	lea    -0x2(%edx),%eax
43e72c:	5e                   	pop    %esi
43e72d:	5f                   	pop    %edi
43e72e:	5b                   	pop    %ebx
43e72f:	c3                   	ret
43e730:	8d 42 fd             	lea    -0x3(%edx),%eax
43e733:	5e                   	pop    %esi
43e734:	5f                   	pop    %edi
43e735:	5b                   	pop    %ebx
43e736:	c3                   	ret
43e737:	8d 42 fc             	lea    -0x4(%edx),%eax
43e73a:	5e                   	pop    %esi
43e73b:	5f                   	pop    %edi
43e73c:	5b                   	pop    %ebx
43e73d:	c3                   	ret
43e73e:	e8 97 53 ff ff       	call   0x433ada
43e743:	85 c0                	test   %eax,%eax
43e745:	74 08                	je     0x43e74f
43e747:	6a 16                	push   $0x16
43e749:	e8 eb 55 ff ff       	call   0x433d39
43e74e:	59                   	pop    %ecx
43e74f:	f6 05 50 fe 46 00 02 	testb  $0x2,0x46fe50
43e756:	74 11                	je     0x43e769
43e758:	6a 01                	push   $0x1
43e75a:	68 15 00 00 40       	push   $0x40000015
43e75f:	6a 03                	push   $0x3
43e761:	e8 3f 5a ff ff       	call   0x4341a5
43e766:	83 c4 0c             	add    $0xc,%esp
43e769:	6a 03                	push   $0x3
43e76b:	e8 f0 19 ff ff       	call   0x430160
43e770:	cc                   	int3
43e771:	8b ff                	mov    %edi,%edi
43e773:	55                   	push   %ebp
43e774:	8b ec                	mov    %esp,%ebp
43e776:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e779:	a1 50 fe 46 00       	mov    0x46fe50,%eax
43e77e:	8b 55 08             	mov    0x8(%ebp),%edx
43e781:	23 55 0c             	and    0xc(%ebp),%edx
43e784:	f7 d1                	not    %ecx
43e786:	23 c8                	and    %eax,%ecx
43e788:	0b ca                	or     %edx,%ecx
43e78a:	89 0d 50 fe 46 00    	mov    %ecx,0x46fe50
43e790:	5d                   	pop    %ebp
43e791:	c3                   	ret
43e792:	8b ff                	mov    %edi,%edi
43e794:	55                   	push   %ebp
43e795:	8b ec                	mov    %esp,%ebp
43e797:	8b 45 08             	mov    0x8(%ebp),%eax
43e79a:	53                   	push   %ebx
43e79b:	33 db                	xor    %ebx,%ebx
43e79d:	56                   	push   %esi
43e79e:	57                   	push   %edi
43e79f:	39 5d 14             	cmp    %ebx,0x14(%ebp)
43e7a2:	75 10                	jne    0x43e7b4
43e7a4:	3b c3                	cmp    %ebx,%eax
43e7a6:	75 10                	jne    0x43e7b8
43e7a8:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
43e7ab:	75 12                	jne    0x43e7bf
43e7ad:	33 c0                	xor    %eax,%eax
43e7af:	5f                   	pop    %edi
43e7b0:	5e                   	pop    %esi
43e7b1:	5b                   	pop    %ebx
43e7b2:	5d                   	pop    %ebp
43e7b3:	c3                   	ret
43e7b4:	3b c3                	cmp    %ebx,%eax
43e7b6:	74 07                	je     0x43e7bf
43e7b8:	8b 7d 0c             	mov    0xc(%ebp),%edi
43e7bb:	3b fb                	cmp    %ebx,%edi
43e7bd:	77 13                	ja     0x43e7d2
43e7bf:	e8 e4 61 ff ff       	call   0x4349a8
43e7c4:	6a 16                	push   $0x16
43e7c6:	5e                   	pop    %esi
43e7c7:	89 30                	mov    %esi,(%eax)
43e7c9:	e8 a0 5b ff ff       	call   0x43436e
43e7ce:	8b c6                	mov    %esi,%eax
43e7d0:	eb dd                	jmp    0x43e7af
43e7d2:	39 5d 14             	cmp    %ebx,0x14(%ebp)
43e7d5:	75 04                	jne    0x43e7db
43e7d7:	88 18                	mov    %bl,(%eax)
43e7d9:	eb d2                	jmp    0x43e7ad
43e7db:	8b 55 10             	mov    0x10(%ebp),%edx
43e7de:	3b d3                	cmp    %ebx,%edx
43e7e0:	75 04                	jne    0x43e7e6
43e7e2:	88 18                	mov    %bl,(%eax)
43e7e4:	eb d9                	jmp    0x43e7bf
43e7e6:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
43e7ea:	8b c8                	mov    %eax,%ecx
43e7ec:	75 13                	jne    0x43e801
43e7ee:	8b f0                	mov    %eax,%esi
43e7f0:	2b f2                	sub    %edx,%esi
43e7f2:	8a 0a                	mov    (%edx),%cl
43e7f4:	88 0c 16             	mov    %cl,(%esi,%edx,1)
43e7f7:	42                   	inc    %edx
43e7f8:	3a cb                	cmp    %bl,%cl
43e7fa:	74 22                	je     0x43e81e
43e7fc:	4f                   	dec    %edi
43e7fd:	75 f3                	jne    0x43e7f2
43e7ff:	eb 1d                	jmp    0x43e81e
43e801:	8b f2                	mov    %edx,%esi
43e803:	2b f0                	sub    %eax,%esi
43e805:	8a 14 0e             	mov    (%esi,%ecx,1),%dl
43e808:	88 11                	mov    %dl,(%ecx)
43e80a:	41                   	inc    %ecx
43e80b:	3a d3                	cmp    %bl,%dl
43e80d:	74 08                	je     0x43e817
43e80f:	4f                   	dec    %edi
43e810:	74 05                	je     0x43e817
43e812:	ff 4d 14             	decl   0x14(%ebp)
43e815:	75 ee                	jne    0x43e805
43e817:	39 5d 14             	cmp    %ebx,0x14(%ebp)
43e81a:	75 02                	jne    0x43e81e
43e81c:	88 19                	mov    %bl,(%ecx)
43e81e:	3b fb                	cmp    %ebx,%edi
43e820:	75 8b                	jne    0x43e7ad
43e822:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
43e826:	75 0f                	jne    0x43e837
43e828:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e82b:	6a 50                	push   $0x50
43e82d:	88 5c 08 ff          	mov    %bl,-0x1(%eax,%ecx,1)
43e831:	58                   	pop    %eax
43e832:	e9 78 ff ff ff       	jmp    0x43e7af
43e837:	88 18                	mov    %bl,(%eax)
43e839:	e8 6a 61 ff ff       	call   0x4349a8
43e83e:	6a 22                	push   $0x22
43e840:	59                   	pop    %ecx
43e841:	89 08                	mov    %ecx,(%eax)
43e843:	8b f1                	mov    %ecx,%esi
43e845:	eb 82                	jmp    0x43e7c9
43e847:	8b ff                	mov    %edi,%edi
43e849:	55                   	push   %ebp
43e84a:	8b ec                	mov    %esp,%ebp
43e84c:	8b 45 08             	mov    0x8(%ebp),%eax
43e84f:	85 c0                	test   %eax,%eax
43e851:	74 08                	je     0x43e85b
43e853:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43e856:	89 08                	mov    %ecx,(%eax)
43e858:	83 c0 08             	add    $0x8,%eax
43e85b:	5d                   	pop    %ebp
43e85c:	c3                   	ret
43e85d:	8b ff                	mov    %edi,%edi
43e85f:	55                   	push   %ebp
43e860:	8b ec                	mov    %esp,%ebp
43e862:	8b 45 08             	mov    0x8(%ebp),%eax
43e865:	85 c0                	test   %eax,%eax
43e867:	74 12                	je     0x43e87b
43e869:	83 e8 08             	sub    $0x8,%eax
43e86c:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
43e872:	75 07                	jne    0x43e87b
43e874:	50                   	push   %eax
43e875:	e8 23 21 ff ff       	call   0x43099d
43e87a:	59                   	pop    %ecx
43e87b:	5d                   	pop    %ebp
43e87c:	c3                   	ret
43e87d:	8b ff                	mov    %edi,%edi
43e87f:	55                   	push   %ebp
43e880:	8b ec                	mov    %esp,%ebp
43e882:	83 ec 0c             	sub    $0xc,%esp
43e885:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
43e88a:	33 c5                	xor    %ebp,%eax
43e88c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43e88f:	8b 45 08             	mov    0x8(%ebp),%eax
43e892:	8b 00                	mov    (%eax),%eax
43e894:	8b 40 04             	mov    0x4(%eax),%eax
43e897:	53                   	push   %ebx
43e898:	56                   	push   %esi
43e899:	57                   	push   %edi
43e89a:	8b 3d 18 35 47 00    	mov    0x473518,%edi
43e8a0:	33 f6                	xor    %esi,%esi
43e8a2:	56                   	push   %esi
43e8a3:	56                   	push   %esi
43e8a4:	ff 75 10             	push   0x10(%ebp)
43e8a7:	89 45 f8             	mov    %eax,-0x8(%ebp)
43e8aa:	ff 75 0c             	push   0xc(%ebp)
43e8ad:	ff d7                	call   *%edi
43e8af:	8b c8                	mov    %eax,%ecx
43e8b1:	89 4d f4             	mov    %ecx,-0xc(%ebp)