43d614:	55                   	push   %ebp
43d615:	8b ec                	mov    %esp,%ebp
43d617:	83 c4 e8             	add    $0xffffffe8,%esp
43d61a:	53                   	push   %ebx
43d61b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43d61e:	33 c9                	xor    %ecx,%ecx
43d620:	85 c0                	test   %eax,%eax
43d622:	74 3c                	je     0x43d660
43d624:	8b 4d 08             	mov    0x8(%ebp),%ecx
43d627:	8b 19                	mov    (%ecx),%ebx
43d629:	89 5d e8             	mov    %ebx,-0x18(%ebp)
43d62c:	8b 59 04             	mov    0x4(%ecx),%ebx
43d62f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
43d632:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43d635:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43d638:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43d63b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
43d63e:	80 3d 54 eb 46 00 02 	cmpb   $0x2,0x46eb54
43d645:	0f 94 c1             	sete   %cl
43d648:	88 4d f8             	mov    %cl,-0x8(%ebp)
43d64b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43d64e:	51                   	push   %ecx
43d64f:	83 e2 7f             	and    $0x7f,%edx
43d652:	52                   	push   %edx
43d653:	68 2f b0 00 00       	push   $0xb02f
43d658:	50                   	push   %eax
43d659:	e8 b6 91 fc ff       	call   0x406814
43d65e:	8b c8                	mov    %eax,%ecx
43d660:	8b c1                	mov    %ecx,%eax
43d662:	5b                   	pop    %ebx
43d663:	8b e5                	mov    %ebp,%esp
43d665:	5d                   	pop    %ebp
43d666:	c2 08 00             	ret    $0x8
43d669:	8d 40 00             	lea    0x0(%eax),%eax
43d66c:	53                   	push   %ebx
43d66d:	56                   	push   %esi
43d66e:	51                   	push   %ecx
43d66f:	8b f0                	mov    %eax,%esi
43d671:	33 db                	xor    %ebx,%ebx
43d673:	85 f6                	test   %esi,%esi
43d675:	74 4f                	je     0x43d6c6
43d677:	54                   	push   %esp
43d678:	56                   	push   %esi
43d679:	e8 56 90 fc ff       	call   0x4066d4
43d67e:	85 c0                	test   %eax,%eax
43d680:	74 44                	je     0x43d6c6
43d682:	e8 a5 89 fc ff       	call   0x40602c
43d687:	3b 04 24             	cmp    (%esp),%eax
43d68a:	75 3a                	jne    0x43d6c6
43d68c:	a1 28 eb 46 00       	mov    0x46eb28,%eax
43d691:	e8 c2 6d fc ff       	call   0x404458
43d696:	50                   	push   %eax
43d697:	e8 50 8a fc ff       	call   0x4060ec
43d69c:	66 3b 05 24 eb 46 00 	cmp    0x46eb24,%ax
43d6a3:	75 15                	jne    0x43d6ba
43d6a5:	0f b7 05 24 eb 46 00 	movzwl 0x46eb24,%eax
43d6ac:	50                   	push   %eax
43d6ad:	56                   	push   %esi
43d6ae:	e8 99 8f fc ff       	call   0x40664c
43d6b3:	85 c0                	test   %eax,%eax
43d6b5:	0f 95 c3             	setne  %bl
43d6b8:	eb 0c                	jmp    0x43d6c6
43d6ba:	8b c6                	mov    %esi,%eax
43d6bc:	e8 9f f0 ff ff       	call   0x43c760
43d6c1:	85 c0                	test   %eax,%eax
43d6c3:	0f 95 c3             	setne  %bl
43d6c6:	8b c3                	mov    %ebx,%eax
43d6c8:	5a                   	pop    %edx
43d6c9:	5e                   	pop    %esi
43d6ca:	5b                   	pop    %ebx
43d6cb:	c3                   	ret
43d6cc:	53                   	push   %ebx
43d6cd:	ff 70 04             	push   0x4(%eax)
43d6d0:	ff 30                	push   (%eax)
43d6d2:	e8 45 92 fc ff       	call   0x40691c
43d6d7:	8b d8                	mov    %eax,%ebx
43d6d9:	85 db                	test   %ebx,%ebx
43d6db:	74 17                	je     0x43d6f4
43d6dd:	8b c3                	mov    %ebx,%eax
43d6df:	e8 88 ff ff ff       	call   0x43d66c
43d6e4:	84 c0                	test   %al,%al
43d6e6:	75 0c                	jne    0x43d6f4
43d6e8:	53                   	push   %ebx
43d6e9:	e8 56 8f fc ff       	call   0x406644
43d6ee:	8b d8                	mov    %eax,%ebx
43d6f0:	85 db                	test   %ebx,%ebx
43d6f2:	75 e9                	jne    0x43d6dd
43d6f4:	8b c3                	mov    %ebx,%eax
43d6f6:	5b                   	pop    %ebx
43d6f7:	c3                   	ret
43d6f8:	55                   	push   %ebp
43d6f9:	8b ec                	mov    %esp,%ebp
43d6fb:	53                   	push   %ebx
43d6fc:	56                   	push   %esi
43d6fd:	8b f2                	mov    %edx,%esi
43d6ff:	8b d8                	mov    %eax,%ebx
43d701:	84 c9                	test   %cl,%cl
43d703:	75 1f                	jne    0x43d724
43d705:	8b c3                	mov    %ebx,%eax
43d707:	e8 c0 ff ff ff       	call   0x43d6cc
43d70c:	89 06                	mov    %eax,(%esi)
43d70e:	6a 00                	push   $0x0
43d710:	53                   	push   %ebx
43d711:	8b 06                	mov    (%esi),%eax
43d713:	8b 0d 38 eb 46 00    	mov    0x46eb38,%ecx
43d719:	b2 05                	mov    $0x5,%dl
43d71b:	e8 f4 fe ff ff       	call   0x43d614
43d720:	8b d8                	mov    %eax,%ebx
43d722:	eb 19                	jmp    0x43d73d
43d724:	8b c3                	mov    %ebx,%eax
43d726:	8b 55 08             	mov    0x8(%ebp),%edx
43d729:	e8 2a fd ff ff       	call   0x43d458
43d72e:	8b d8                	mov    %eax,%ebx
43d730:	85 db                	test   %ebx,%ebx
43d732:	74 09                	je     0x43d73d
43d734:	8b c3                	mov    %ebx,%eax
43d736:	e8 b5 89 00 00       	call   0x4460f0
43d73b:	89 06                	mov    %eax,(%esi)
43d73d:	8b c3                	mov    %ebx,%eax
43d73f:	5e                   	pop    %esi
43d740:	5b                   	pop    %ebx
43d741:	5d                   	pop    %ebp
43d742:	c2 04 00             	ret    $0x4
43d745:	8d 40 00             	lea    0x0(%eax),%eax
43d748:	53                   	push   %ebx
43d749:	56                   	push   %esi
43d74a:	8b d8                	mov    %eax,%ebx
43d74c:	33 c0                	xor    %eax,%eax
43d74e:	8b 15 38 eb 46 00    	mov    0x46eb38,%edx
43d754:	8b 72 04             	mov    0x4(%edx),%esi
43d757:	85 f6                	test   %esi,%esi
43d759:	74 25                	je     0x43d780
43d75b:	56                   	push   %esi
43d75c:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d761:	83 c0 0c             	add    $0xc,%eax
43d764:	50                   	push   %eax
43d765:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d76a:	8b 40 08             	mov    0x8(%eax),%eax
43d76d:	8b 0d 38 eb 46 00    	mov    0x46eb38,%ecx
43d773:	8b d3                	mov    %ebx,%edx
43d775:	e8 9a fe ff ff       	call   0x43d614
43d77a:	83 f8 01             	cmp    $0x1,%eax
43d77d:	1b c0                	sbb    %eax,%eax
43d77f:	40                   	inc    %eax
43d780:	5e                   	pop    %esi
43d781:	5b                   	pop    %ebx
43d782:	c3                   	ret
43d783:	90                   	nop
43d784:	53                   	push   %ebx
43d785:	56                   	push   %esi
43d786:	57                   	push   %edi
43d787:	33 ff                	xor    %edi,%edi
43d789:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d78e:	8b 70 04             	mov    0x4(%eax),%esi
43d791:	85 f6                	test   %esi,%esi
43d793:	74 7c                	je     0x43d811
43d795:	80 be a7 01 00 00 00 	cmpb   $0x0,0x1a7(%esi)
43d79c:	74 73                	je     0x43d811
43d79e:	83 be 78 01 00 00 00 	cmpl   $0x0,0x178(%esi)
43d7a5:	74 6a                	je     0x43d811
43d7a7:	8b c6                	mov    %esi,%eax
43d7a9:	e8 de 73 00 00       	call   0x444b8c
43d7ae:	85 c0                	test   %eax,%eax
43d7b0:	74 5f                	je     0x43d811
43d7b2:	8b c6                	mov    %esi,%eax
43d7b4:	e8 d3 73 00 00       	call   0x444b8c
43d7b9:	48                   	dec    %eax
43d7ba:	75 18                	jne    0x43d7d4
43d7bc:	33 d2                	xor    %edx,%edx
43d7be:	8b 86 78 01 00 00    	mov    0x178(%esi),%eax
43d7c4:	e8 b3 65 fd ff       	call   0x413d7c
43d7c9:	8b 15 38 eb 46 00    	mov    0x46eb38,%edx
43d7cf:	3b 42 38             	cmp    0x38(%edx),%eax
43d7d2:	74 3d                	je     0x43d811
43d7d4:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d7d9:	83 c0 0c             	add    $0xc,%eax
43d7dc:	33 d2                	xor    %edx,%edx
43d7de:	e8 d1 09 00 00       	call   0x43e1b4
43d7e3:	8b d8                	mov    %eax,%ebx
43d7e5:	eb 22                	jmp    0x43d809
43d7e7:	8b d3                	mov    %ebx,%edx
43d7e9:	8b 86 78 01 00 00    	mov    0x178(%esi),%eax
43d7ef:	e8 e4 65 fd ff       	call   0x413dd8
43d7f4:	83 f8 ff             	cmp    $0xffffffff,%eax
43d7f7:	74 0d                	je     0x43d806
43d7f9:	8b d0                	mov    %eax,%edx
43d7fb:	8b c6                	mov    %esi,%eax
43d7fd:	e8 9e 73 00 00       	call   0x444ba0
43d802:	8b f8                	mov    %eax,%edi
43d804:	eb 0b                	jmp    0x43d811
43d806:	8b 5b 30             	mov    0x30(%ebx),%ebx
43d809:	85 db                	test   %ebx,%ebx
43d80b:	74 04                	je     0x43d811
43d80d:	3b f3                	cmp    %ebx,%esi
43d80f:	75 d6                	jne    0x43d7e7
43d811:	8b c7                	mov    %edi,%eax
43d813:	5f                   	pop    %edi
43d814:	5e                   	pop    %esi
43d815:	5b                   	pop    %ebx
43d816:	c3                   	ret
43d817:	90                   	nop
43d818:	53                   	push   %ebx
43d819:	56                   	push   %esi
43d81a:	57                   	push   %edi
43d81b:	83 c4 f0             	add    $0xfffffff0,%esp
43d81e:	8b f8                	mov    %eax,%edi
43d820:	80 3d 54 eb 46 00 00 	cmpb   $0x0,0x46eb54
43d827:	75 2d                	jne    0x43d856
43d829:	a1 44 eb 46 00       	mov    0x46eb44,%eax
43d82e:	2b 07                	sub    (%edi),%eax
43d830:	99                   	cltd
43d831:	33 c2                	xor    %edx,%eax
43d833:	2b c2                	sub    %edx,%eax
43d835:	3b 05 50 eb 46 00    	cmp    0x46eb50,%eax
43d83b:	7d 19                	jge    0x43d856
43d83d:	a1 48 eb 46 00       	mov    0x46eb48,%eax
43d842:	2b 47 04             	sub    0x4(%edi),%eax
43d845:	99                   	cltd
43d846:	33 c2                	xor    %edx,%eax
43d848:	2b c2                	sub    %edx,%eax
43d84a:	3b 05 50 eb 46 00    	cmp    0x46eb50,%eax
43d850:	0f 8c 89 02 00 00    	jl     0x43dadf
43d856:	a1 34 eb 46 00       	mov    0x46eb34,%eax
43d85b:	50                   	push   %eax
43d85c:	a1 34 eb 46 00       	mov    0x46eb34,%eax
43d861:	8a 88 9b 00 00 00    	mov    0x9b(%eax),%cl
43d867:	8d 54 24 04          	lea    0x4(%esp),%edx
43d86b:	8b c7                	mov    %edi,%eax
43d86d:	e8 86 fe ff ff       	call   0x43d6f8
43d872:	8b d8                	mov    %eax,%ebx
43d874:	80 3d 54 eb 46 00 00 	cmpb   $0x0,0x46eb54
43d87b:	75 26                	jne    0x43d8a3
43d87d:	83 3d 58 eb 46 00 00 	cmpl   $0x0,0x46eb58
43d884:	74 1d                	je     0x43d8a3
43d886:	a1 48 eb 46 00       	mov    0x46eb48,%eax
43d88b:	50                   	push   %eax
43d88c:	e8 1b 8d fc ff       	call   0x4065ac
43d891:	8b d0                	mov    %eax,%edx
43d893:	8b 0d 44 eb 46 00    	mov    0x46eb44,%ecx
43d899:	a1 58 eb 46 00       	mov    0x46eb58,%eax
43d89e:	e8 71 a3 00 00       	call   0x447c14
43d8a3:	a1 34 eb 46 00       	mov    0x46eb34,%eax
43d8a8:	80 b8 9b 00 00 00 00 	cmpb   $0x0,0x9b(%eax)
43d8af:	75 0e                	jne    0x43d8bf
43d8b1:	c6 05 54 eb 46 00 01 	movb   $0x1,0x46eb54
43d8b8:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
43d8bd:	eb 13                	jmp    0x43d8d2
43d8bf:	80 3d 54 eb 46 00 00 	cmpb   $0x0,0x46eb54
43d8c6:	0f 95 44 24 04       	setne  0x4(%esp)
43d8cb:	c6 05 54 eb 46 00 02 	movb   $0x2,0x46eb54
43d8d2:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d8d7:	3b 58 04             	cmp    0x4(%eax),%ebx
43d8da:	74 4b                	je     0x43d927
43d8dc:	b0 01                	mov    $0x1,%al
43d8de:	e8 65 fe ff ff       	call   0x43d748
43d8e3:	83 3d 38 eb 46 00 00 	cmpl   $0x0,0x46eb38
43d8ea:	0f 84 ef 01 00 00    	je     0x43dadf
43d8f0:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d8f5:	89 58 04             	mov    %ebx,0x4(%eax)
43d8f8:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d8fd:	8b 14 24             	mov    (%esp),%edx
43d900:	89 50 08             	mov    %edx,0x8(%eax)
43d903:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d908:	8b 17                	mov    (%edi),%edx
43d90a:	89 50 0c             	mov    %edx,0xc(%eax)
43d90d:	8b 57 04             	mov    0x4(%edi),%edx
43d910:	89 50 10             	mov    %edx,0x10(%eax)
43d913:	33 c0                	xor    %eax,%eax
43d915:	e8 2e fe ff ff       	call   0x43d748
43d91a:	83 3d 38 eb 46 00 00 	cmpl   $0x0,0x46eb38
43d921:	0f 84 b8 01 00 00    	je     0x43dadf
43d927:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d92c:	8b 17                	mov    (%edi),%edx
43d92e:	89 50 0c             	mov    %edx,0xc(%eax)
43d931:	8b 57 04             	mov    0x4(%edi),%edx
43d934:	89 50 10             	mov    %edx,0x10(%eax)
43d937:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d93c:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
43d940:	74 26                	je     0x43d968
43d942:	8d 4c 24 08          	lea    0x8(%esp),%ecx
43d946:	8b d7                	mov    %edi,%edx
43d948:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d94d:	8b 40 04             	mov    0x4(%eax),%eax
43d950:	e8 f7 1a 00 00       	call   0x43f44c
43d955:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d95a:	8b 54 24 08          	mov    0x8(%esp),%edx
43d95e:	89 50 14             	mov    %edx,0x14(%eax)
43d961:	8b 54 24 0c          	mov    0xc(%esp),%edx
43d965:	89 50 18             	mov    %edx,0x18(%eax)
43d968:	8b 47 04             	mov    0x4(%edi),%eax
43d96b:	50                   	push   %eax
43d96c:	b0 02                	mov    $0x2,%al
43d96e:	e8 d5 fd ff ff       	call   0x43d748
43d973:	8b d0                	mov    %eax,%edx
43d975:	8b 0f                	mov    (%edi),%ecx
43d977:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43d97c:	8b 30                	mov    (%eax),%esi
43d97e:	ff 56 04             	call   *0x4(%esi)
43d981:	8b f0                	mov    %eax,%esi
43d983:	83 3d 58 eb 46 00 00 	cmpl   $0x0,0x46eb58
43d98a:	74 6a                	je     0x43d9f6
43d98c:	85 db                	test   %ebx,%ebx
43d98e:	74 06                	je     0x43d996
43d990:	f6 43 51 20          	testb  $0x20,0x51(%ebx)
43d994:	74 41                	je     0x43d9d7
43d996:	8b d6                	mov    %esi,%edx
43d998:	a1 58 eb 46 00       	mov    0x46eb58,%eax
43d99d:	e8 2e a2 00 00       	call   0x447bd0
43d9a2:	a1 58 eb 46 00       	mov    0x46eb58,%eax
43d9a7:	80 78 6a 00          	cmpb   $0x0,0x6a(%eax)
43d9ab:	75 19                	jne    0x43d9c6
43d9ad:	8b 47 04             	mov    0x4(%edi),%eax
43d9b0:	50                   	push   %eax
43d9b1:	e8 f6 8b fc ff       	call   0x4065ac
43d9b6:	8b d0                	mov    %eax,%edx
43d9b8:	8b 0f                	mov    (%edi),%ecx
43d9ba:	a1 58 eb 46 00       	mov    0x46eb58,%eax
43d9bf:	e8 50 a2 00 00       	call   0x447c14
43d9c4:	eb 30                	jmp    0x43d9f6
43d9c6:	8b 4f 04             	mov    0x4(%edi),%ecx
43d9c9:	8b 17                	mov    (%edi),%edx
43d9cb:	a1 58 eb 46 00       	mov    0x46eb58,%eax
43d9d0:	e8 27 a3 00 00       	call   0x447cfc
43d9d5:	eb 1f                	jmp    0x43d9f6
43d9d7:	a1 58 eb 46 00       	mov    0x46eb58,%eax
43d9dc:	e8 8f a3 00 00       	call   0x447d70
43d9e1:	0f bf d6             	movswl %si,%edx
43d9e4:	a1 f0 dd 46 00       	mov    0x46ddf0,%eax
43d9e9:	8b 00                	mov    (%eax),%eax
43d9eb:	e8 d0 fb 01 00       	call   0x45d5c0
43d9f0:	50                   	push   %eax
43d9f1:	e8 3e 8e fc ff       	call   0x406834
43d9f6:	0f bf d6             	movswl %si,%edx
43d9f9:	a1 f0 dd 46 00       	mov    0x46ddf0,%eax
43d9fe:	8b 00                	mov    (%eax),%eax
43da00:	e8 bb fb 01 00       	call   0x45d5c0
43da05:	50                   	push   %eax
43da06:	e8 29 8e fc ff       	call   0x406834
43da0b:	80 3d 54 eb 46 00 02 	cmpb   $0x2,0x46eb54
43da12:	0f 85 c7 00 00 00    	jne    0x43dadf
43da18:	85 db                	test   %ebx,%ebx
43da1a:	75 1a                	jne    0x43da36
43da1c:	8b 57 04             	mov    0x4(%edi),%edx
43da1f:	52                   	push   %edx
43da20:	8b 0f                	mov    (%edi),%ecx
43da22:	a1 38 eb 46 00       	mov    0x46eb38,%eax
43da27:	8b 50 38             	mov    0x38(%eax),%edx
43da2a:	92                   	xchg   %eax,%edx
43da2b:	66 be e7 ff          	mov    $0xffe7,%si
43da2f:	e8 10 5a fc ff       	call   0x403444