a7d5ed:	b9 6c 18 d8 00       	mov    $0xd8186c,%ecx
a7d5f2:	56                   	push   %esi
a7d5f3:	6a 00                	push   $0x0
a7d5f5:	6a 08                	push   $0x8
a7d5f7:	e8 a5 0d 9c ff       	call   0x43e3a1
a7d5fc:	8b f0                	mov    %eax,%esi
a7d5fe:	85 f6                	test   %esi,%esi
a7d600:	74 10                	je     0xa7d612
a7d602:	83 26 00             	andl   $0x0,(%esi)
a7d605:	c6 46 04 00          	movb   $0x0,0x4(%esi)
a7d609:	81 66 04 ff 00 ff ff 	andl   $0xffff00ff,0x4(%esi)
a7d610:	eb 02                	jmp    0xa7d614
a7d612:	33 f6                	xor    %esi,%esi
a7d614:	56                   	push   %esi
a7d615:	ff 75 08             	push   0x8(%ebp)
a7d618:	e8 53 1d 9a ff       	call   0x41f370
a7d61d:	8d 45 f0             	lea    -0x10(%ebp),%eax
a7d620:	50                   	push   %eax
a7d621:	e8 7c 4a 9a ff       	call   0x4220a2
a7d626:	8b 45 f0             	mov    -0x10(%ebp),%eax
a7d629:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7d62c:	83 c4 0c             	add    $0xc,%esp
a7d62f:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d632:	8b 45 f4             	mov    -0xc(%ebp),%eax
a7d635:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d638:	6a 20                	push   $0x20
a7d63a:	e8 a8 21 9c ff       	call   0x43f7e7
a7d63f:	ff 75 0c             	push   0xc(%ebp)
a7d642:	8d 45 e8             	lea    -0x18(%ebp),%eax
a7d645:	50                   	push   %eax
a7d646:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7d649:	e8 50 ea 99 ff       	call   0x41c09e
a7d64e:	8b 08                	mov    (%eax),%ecx
a7d650:	89 0e                	mov    %ecx,(%esi)
a7d652:	8b 48 04             	mov    0x4(%eax),%ecx
a7d655:	8b 45 08             	mov    0x8(%ebp),%eax
a7d658:	89 4e 04             	mov    %ecx,0x4(%esi)
a7d65b:	5e                   	pop    %esi
a7d65c:	8b e5                	mov    %ebp,%esp
a7d65e:	5d                   	pop    %ebp
a7d65f:	c3                   	ret
a7d660:	cc                   	int3
a7d661:	cc                   	int3
a7d662:	cc                   	int3
a7d663:	cc                   	int3
a7d664:	cc                   	int3
a7d665:	cc                   	int3
a7d666:	cc                   	int3
a7d667:	cc                   	int3
a7d668:	cc                   	int3
a7d669:	cc                   	int3
a7d66a:	cc                   	int3
a7d66b:	cc                   	int3
a7d66c:	cc                   	int3
a7d66d:	cc                   	int3
a7d66e:	cc                   	int3
a7d66f:	cc                   	int3
a7d670:	cc                   	int3
a7d671:	cc                   	int3
a7d672:	cc                   	int3
a7d673:	cc                   	int3
a7d674:	cc                   	int3
a7d675:	cc                   	int3
a7d676:	cc                   	int3
a7d677:	cc                   	int3
a7d678:	cc                   	int3
a7d679:	cc                   	int3
a7d67a:	cc                   	int3
a7d67b:	cc                   	int3
a7d67c:	cc                   	int3
a7d67d:	cc                   	int3
a7d67e:	55                   	push   %ebp
a7d67f:	8b ec                	mov    %esp,%ebp
a7d681:	8b 0d 50 18 d8 00    	mov    0xd81850,%ecx
a7d687:	83 ec 38             	sub    $0x38,%esp
a7d68a:	8a 01                	mov    (%ecx),%al
a7d68c:	84 c0                	test   %al,%al
a7d68e:	75 18                	jne    0xa7d6a8
a7d690:	ff 75 0c             	push   0xc(%ebp)
a7d693:	6a 01                	push   $0x1
a7d695:	ff 75 08             	push   0x8(%ebp)
a7d698:	e8 66 68 98 ff       	call   0x403f03
a7d69d:	83 c4 0c             	add    $0xc,%esp
a7d6a0:	8b 45 08             	mov    0x8(%ebp),%eax
a7d6a3:	e9 db 03 00 00       	jmp    0xa7da83
a7d6a8:	3c 36                	cmp    $0x36,%al
a7d6aa:	7c 04                	jl     0xa7d6b0
a7d6ac:	3c 39                	cmp    $0x39,%al
a7d6ae:	7e 10                	jle    0xa7d6c0
a7d6b0:	3c 5f                	cmp    $0x5f,%al
a7d6b2:	74 0c                	je     0xa7d6c0
a7d6b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
a7d6b7:	6a 02                	push   $0x2
a7d6b9:	e8 b0 29 99 ff       	call   0x41006e
a7d6be:	eb e0                	jmp    0xa7d6a0
a7d6c0:	53                   	push   %ebx
a7d6c1:	0f be d8             	movsbl %al,%ebx
a7d6c4:	83 eb 36             	sub    $0x36,%ebx
a7d6c7:	41                   	inc    %ecx
a7d6c8:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7d6ce:	83 fb 29             	cmp    $0x29,%ebx
a7d6d1:	75 2f                	jne    0xa7d702
a7d6d3:	8a 01                	mov    (%ecx),%al
a7d6d5:	84 c0                	test   %al,%al
a7d6d7:	74 17                	je     0xa7d6f0
a7d6d9:	0f be d8             	movsbl %al,%ebx
a7d6dc:	83 eb 3d             	sub    $0x3d,%ebx
a7d6df:	41                   	inc    %ecx
a7d6e0:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7d6e6:	83 fb 04             	cmp    $0x4,%ebx
a7d6e9:	7c 20                	jl     0xa7d70b
a7d6eb:	83 fb 07             	cmp    $0x7,%ebx
a7d6ee:	eb 19                	jmp    0xa7d709
a7d6f0:	ff 75 0c             	push   0xc(%ebp)
a7d6f3:	6a 01                	push   $0x1
a7d6f5:	ff 75 08             	push   0x8(%ebp)
a7d6f8:	e8 06 68 98 ff       	call   0x403f03
a7d6fd:	83 c4 0c             	add    $0xc,%esp
a7d700:	eb 1b                	jmp    0xa7d71d
a7d702:	85 db                	test   %ebx,%ebx
a7d704:	78 05                	js     0xa7d70b
a7d706:	83 fb 03             	cmp    $0x3,%ebx
a7d709:	7e 03                	jle    0xa7d70e
a7d70b:	83 cb ff             	or     $0xffffffff,%ebx
a7d70e:	83 fb ff             	cmp    $0xffffffff,%ebx
a7d711:	75 12                	jne    0xa7d725
a7d713:	8b 4d 08             	mov    0x8(%ebp),%ecx
a7d716:	6a 02                	push   $0x2
a7d718:	e8 51 29 99 ff       	call   0x41006e
a7d71d:	8b 45 08             	mov    0x8(%ebp),%eax
a7d720:	e9 5d 03 00 00       	jmp    0xa7da82
a7d725:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
a7d729:	81 65 f4 00 00 ff ff 	andl   $0xffff0000,-0xc(%ebp)
a7d730:	56                   	push   %esi
a7d731:	8b 75 0c             	mov    0xc(%ebp),%esi
a7d734:	57                   	push   %edi
a7d735:	8b fb                	mov    %ebx,%edi
a7d737:	8b 06                	mov    (%esi),%eax
a7d739:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d73c:	8b 46 04             	mov    0x4(%esi),%eax
a7d73f:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d742:	83 e7 02             	and    $0x2,%edi
a7d745:	0f 84 ec 00 00 00    	je     0xa7d837
a7d74b:	80 39 40             	cmpb   $0x40,(%ecx)
a7d74e:	0f 84 a2 00 00 00    	je     0xa7d7f6
a7d754:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d757:	50                   	push   %eax
a7d758:	8d 45 e8             	lea    -0x18(%ebp),%eax
a7d75b:	50                   	push   %eax
a7d75c:	68 38 e3 bd 00       	push   $0xbde338
a7d761:	8d 4d e0             	lea    -0x20(%ebp),%ecx
a7d764:	e8 66 21 9a ff       	call   0x41f8cf
a7d769:	8b c8                	mov    %eax,%ecx
a7d76b:	e8 2e e9 99 ff       	call   0x41c09e
a7d770:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7d773:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d776:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7d779:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d77c:	a1 50 18 d8 00       	mov    0xd81850,%eax
a7d781:	80 38 00             	cmpb   $0x0,(%eax)
a7d784:	74 43                	je     0xa7d7c9
a7d786:	8d 45 d0             	lea    -0x30(%ebp),%eax
a7d789:	50                   	push   %eax
a7d78a:	e8 96 de 9a ff       	call   0x42b625
a7d78f:	59                   	pop    %ecx
a7d790:	50                   	push   %eax
a7d791:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7d794:	50                   	push   %eax
a7d795:	6a 20                	push   $0x20
a7d797:	8d 4d c8             	lea    -0x38(%ebp),%ecx
a7d79a:	e8 69 60 9a ff       	call   0x423808
a7d79f:	8b c8                	mov    %eax,%ecx
a7d7a1:	e8 f8 e8 99 ff       	call   0x41c09e
a7d7a6:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7d7a9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7d7ac:	89 45 e8             	mov    %eax,-0x18(%ebp)
a7d7af:	8b 45 e4             	mov    -0x1c(%ebp),%eax
a7d7b2:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7d7b5:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d7b8:	50                   	push   %eax
a7d7b9:	e8 36 d3 9a ff       	call   0x42aaf4
a7d7be:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7d7c1:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d7c4:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7d7c7:	eb 22                	jmp    0xa7d7eb
a7d7c9:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d7cc:	50                   	push   %eax
a7d7cd:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7d7d0:	50                   	push   %eax
a7d7d1:	6a 01                	push   $0x1
a7d7d3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
a7d7d6:	e8 93 28 99 ff       	call   0x41006e
a7d7db:	8b c8                	mov    %eax,%ecx
a7d7dd:	e8 bc e8 99 ff       	call   0x41c09e
a7d7e2:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7d7e5:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d7e8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
a7d7eb:	8b 0d 50 18 d8 00    	mov    0xd81850,%ecx
a7d7f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d7f4:	eb 07                	jmp    0xa7d7fd
a7d7f6:	41                   	inc    %ecx
a7d7f7:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7d7fd:	8a 01                	mov    (%ecx),%al
a7d7ff:	84 c0                	test   %al,%al
a7d801:	0f 84 a4 00 00 00    	je     0xa7d8ab
a7d807:	3c 40                	cmp    $0x40,%al
a7d809:	0f 85 95 00 00 00    	jne    0xa7d8a4
a7d80f:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7d814:	41                   	inc    %ecx
a7d815:	83 e0 60             	and    $0x60,%eax
a7d818:	89 0d 50 18 d8 00    	mov    %ecx,0xd81850
a7d81e:	3c 60                	cmp    $0x60,%al
a7d820:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7d823:	50                   	push   %eax
a7d824:	74 6d                	je     0xa7d893
a7d826:	e8 30 ca 9b ff       	call   0x43a25b
a7d82b:	59                   	pop    %ecx
a7d82c:	8b 08                	mov    (%eax),%ecx
a7d82e:	8b 40 04             	mov    0x4(%eax),%eax
a7d831:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a7d834:	89 45 f4             	mov    %eax,-0xc(%ebp)
a7d837:	f6 c3 04             	test   $0x4,%bl
a7d83a:	0f 84 97 00 00 00    	je     0xa7d8d7
a7d840:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7d845:	d1 e8                	shr    $1,%eax
a7d847:	f7 d0                	not    %eax
a7d849:	a8 01                	test   $0x1,%al
a7d84b:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7d84e:	50                   	push   %eax
a7d84f:	74 77                	je     0xa7d8c8
a7d851:	e8 13 b9 99 ff       	call   0x419169
a7d856:	59                   	pop    %ecx
a7d857:	50                   	push   %eax
a7d858:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7d85b:	50                   	push   %eax
a7d85c:	6a 20                	push   $0x20
a7d85e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7d861:	e8 a2 5f 9a ff       	call   0x423808
a7d866:	8b c8                	mov    %eax,%ecx
a7d868:	e8 31 e8 99 ff       	call   0x41c09e
a7d86d:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7d870:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7d873:	89 45 e8             	mov    %eax,-0x18(%ebp)
a7d876:	8b 45 e4             	mov    -0x1c(%ebp),%eax
a7d879:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7d87c:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d87f:	50                   	push   %eax
a7d880:	e8 6f d2 9a ff       	call   0x42aaf4
a7d885:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7d888:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d88b:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7d88e:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d891:	eb 44                	jmp    0xa7d8d7
a7d893:	e8 c3 c9 9b ff       	call   0x43a25b
a7d898:	59                   	pop    %ecx
a7d899:	50                   	push   %eax
a7d89a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
a7d89d:	e8 96 ec 9b ff       	call   0x43c538
a7d8a2:	eb 93                	jmp    0xa7d837
a7d8a4:	6a 02                	push   $0x2
a7d8a6:	e9 ca 01 00 00       	jmp    0xa7da75
a7d8ab:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d8ae:	50                   	push   %eax
a7d8af:	ff 75 08             	push   0x8(%ebp)
a7d8b2:	8d 4d c8             	lea    -0x38(%ebp),%ecx
a7d8b5:	6a 01                	push   $0x1
a7d8b7:	e8 b2 27 99 ff       	call   0x41006e
a7d8bc:	8b c8                	mov    %eax,%ecx
a7d8be:	e8 db e7 99 ff       	call   0x41c09e
a7d8c3:	e9 b5 01 00 00       	jmp    0xa7da7d
a7d8c8:	e8 9c b8 99 ff       	call   0x419169
a7d8cd:	59                   	pop    %ecx
a7d8ce:	50                   	push   %eax
a7d8cf:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7d8d2:	e8 61 ec 9b ff       	call   0x43c538
a7d8d7:	a1 60 18 d8 00       	mov    0xd81860,%eax
a7d8dc:	d1 e8                	shr    $1,%eax
a7d8de:	f7 d0                	not    %eax
a7d8e0:	a8 01                	test   $0x1,%al
a7d8e2:	74 26                	je     0xa7d90a
a7d8e4:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d8e7:	50                   	push   %eax
a7d8e8:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7d8eb:	50                   	push   %eax
a7d8ec:	8d 45 d0             	lea    -0x30(%ebp),%eax
a7d8ef:	50                   	push   %eax
a7d8f0:	e8 44 e3 99 ff       	call   0x41bc39
a7d8f5:	59                   	pop    %ecx
a7d8f6:	8b c8                	mov    %eax,%ecx
a7d8f8:	e8 a1 e7 99 ff       	call   0x41c09e
a7d8fd:	8b 08                	mov    (%eax),%ecx
a7d8ff:	8b 40 04             	mov    0x4(%eax),%eax
a7d902:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a7d905:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d908:	eb 13                	jmp    0xa7d91d
a7d90a:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7d90d:	50                   	push   %eax
a7d90e:	e8 26 e3 99 ff       	call   0x41bc39
a7d913:	59                   	pop    %ecx
a7d914:	50                   	push   %eax
a7d915:	8d 4d f8             	lea    -0x8(%ebp),%ecx
a7d918:	e8 1b ec 9b ff       	call   0x43c538
a7d91d:	33 db                	xor    %ebx,%ebx
a7d91f:	39 1e                	cmp    %ebx,(%esi)
a7d921:	74 3b                	je     0xa7d95e
a7d923:	8d 45 f8             	lea    -0x8(%ebp),%eax
a7d926:	50                   	push   %eax
a7d927:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7d92a:	50                   	push   %eax
a7d92b:	6a 28                	push   $0x28
a7d92d:	8d 4d c8             	lea    -0x38(%ebp),%ecx
a7d930:	e8 d3 5e 9a ff       	call   0x423808
a7d935:	8b c8                	mov    %eax,%ecx
a7d937:	e8 62 e7 99 ff       	call   0x41c09e
a7d93c:	8b 45 e0             	mov    -0x20(%ebp),%eax
a7d93f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
a7d942:	89 45 e8             	mov    %eax,-0x18(%ebp)
a7d945:	8b 45 e4             	mov    -0x1c(%ebp),%eax
a7d948:	6a 29                	push   $0x29
a7d94a:	89 45 ec             	mov    %eax,-0x14(%ebp)
a7d94d:	e8 95 1e 9c ff       	call   0x43f7e7
a7d952:	8b 45 e8             	mov    -0x18(%ebp),%eax
a7d955:	89 45 f8             	mov    %eax,-0x8(%ebp)
a7d958:	8b 45 ec             	mov    -0x14(%ebp),%eax
a7d95b:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7d95e:	53                   	push   %ebx
a7d95f:	6a 08                	push   $0x8
a7d961:	b9 6c 18 d8 00       	mov    $0xd8186c,%ecx
a7d966:	e8 36 0a 9c ff       	call   0x43e3a1
a7d96b:	8b f0                	mov    %eax,%esi
a7d96d:	85 f6                	test   %esi,%esi
a7d96f:	74 0e                	je     0xa7d97f
a7d971:	88 5e 04             	mov    %bl,0x4(%esi)
a7d974:	81 66 04 ff 00 ff ff 	andl   $0xffff00ff,0x4(%esi)
a7d97b:	89 1e                	mov    %ebx,(%esi)
a7d97d:	eb 02                	jmp    0xa7d981
a7d97f:	8b f3                	mov    %ebx,%esi
a7d981:	8d 45 d8             	lea    -0x28(%ebp),%eax
a7d984:	56                   	push   %esi
a7d985:	50                   	push   %eax
a7d986:	e8 90 73 9a ff       	call   0x424d1b
a7d98b:	8d 45 c8             	lea    -0x38(%ebp),%eax
a7d98e:	50                   	push   %eax
a7d98f:	e8 9c c9 98 ff       	call   0x40a330
a7d994:	83 c4 0c             	add    $0xc,%esp
a7d997:	8d 4d d0             	lea    -0x30(%ebp),%ecx
a7d99a:	50                   	push   %eax
a7d99b:	8d 45 e0             	lea    -0x20(%ebp),%eax
a7d99e:	50                   	push   %eax
a7d99f:	6a 28                	push   $0x28