43b648:	8b c3                	mov    %ebx,%eax
43b64a:	66 be cf ff          	mov    $0xffcf,%si
43b64e:	e8 95 7f fc ff       	call   0x4035e8
43b653:	5f                   	pop    %edi
43b654:	5e                   	pop    %esi
43b655:	5b                   	pop    %ebx
43b656:	5d                   	pop    %ebp
43b657:	c2 08 00             	ret    $0x8
43b65a:	8b c0                	mov    %eax,%eax
43b65c:	53                   	push   %ebx
43b65d:	56                   	push   %esi
43b65e:	83 c4 f0             	add    $0xfffffff0,%esp
43b661:	8b f0                	mov    %eax,%esi
43b663:	80 7e 62 00          	cmpb   $0x0,0x62(%esi)
43b667:	0f 85 01 01 00 00    	jne    0x43b76e
43b66d:	f6 46 1c 01          	testb  $0x1,0x1c(%esi)
43b671:	0f 85 f7 00 00 00    	jne    0x43b76e
43b677:	8a 5e 61             	mov    0x61(%esi),%bl
43b67a:	a0 74 b7 43 00       	mov    0x43b774,%al
43b67f:	3a c3                	cmp    %bl,%al
43b681:	75 15                	jne    0x43b698
43b683:	33 c0                	xor    %eax,%eax
43b685:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43b68b:	33 c0                	xor    %eax,%eax
43b68d:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43b693:	e9 d6 00 00 00       	jmp    0x43b76e
43b698:	f6 c3 04             	test   $0x4,%bl
43b69b:	74 1b                	je     0x43b6b8
43b69d:	f6 c3 01             	test   $0x1,%bl
43b6a0:	74 0b                	je     0x43b6ad
43b6a2:	8b 46 48             	mov    0x48(%esi),%eax
43b6a5:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
43b6ab:	eb 1e                	jmp    0x43b6cb
43b6ad:	8b 46 40             	mov    0x40(%esi),%eax
43b6b0:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
43b6b6:	eb 13                	jmp    0x43b6cb
43b6b8:	8b 46 48             	mov    0x48(%esi),%eax
43b6bb:	d1 f8                	sar    $1,%eax
43b6bd:	79 03                	jns    0x43b6c2
43b6bf:	83 d0 00             	adc    $0x0,%eax
43b6c2:	03 46 40             	add    0x40(%esi),%eax
43b6c5:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
43b6cb:	f6 c3 08             	test   $0x8,%bl
43b6ce:	74 1b                	je     0x43b6eb
43b6d0:	f6 c3 02             	test   $0x2,%bl
43b6d3:	74 0b                	je     0x43b6e0
43b6d5:	8b 46 4c             	mov    0x4c(%esi),%eax
43b6d8:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
43b6de:	eb 1e                	jmp    0x43b6fe
43b6e0:	8b 46 44             	mov    0x44(%esi),%eax
43b6e3:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
43b6e9:	eb 13                	jmp    0x43b6fe
43b6eb:	8b 46 4c             	mov    0x4c(%esi),%eax
43b6ee:	d1 f8                	sar    $1,%eax
43b6f0:	79 03                	jns    0x43b6f5
43b6f2:	83 d0 00             	adc    $0x0,%eax
43b6f5:	03 46 44             	add    0x44(%esi),%eax
43b6f8:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
43b6fe:	8b 5e 30             	mov    0x30(%esi),%ebx
43b701:	85 db                	test   %ebx,%ebx
43b703:	74 69                	je     0x43b76e
43b705:	f6 43 1c 02          	testb  $0x2,0x1c(%ebx)
43b709:	74 20                	je     0x43b72b
43b70b:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
43b70f:	75 5d                	jne    0x43b76e
43b711:	8b 83 fa 01 00 00    	mov    0x1fa(%ebx),%eax
43b717:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43b71d:	8b 83 fe 01 00 00    	mov    0x1fe(%ebx),%eax
43b723:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43b729:	eb 43                	jmp    0x43b76e
43b72b:	8b c3                	mov    %ebx,%eax
43b72d:	e8 96 72 00 00       	call   0x4429c8
43b732:	84 c0                	test   %al,%al
43b734:	74 20                	je     0x43b756
43b736:	8b d4                	mov    %esp,%edx
43b738:	8b 46 30             	mov    0x30(%esi),%eax
43b73b:	8b 08                	mov    (%eax),%ecx
43b73d:	ff 51 44             	call   *0x44(%ecx)
43b740:	8b 44 24 08          	mov    0x8(%esp),%eax
43b744:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43b74a:	8b 44 24 0c          	mov    0xc(%esp),%eax
43b74e:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43b754:	eb 18                	jmp    0x43b76e
43b756:	8b 46 30             	mov    0x30(%esi),%eax
43b759:	8b 40 48             	mov    0x48(%eax),%eax
43b75c:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
43b762:	8b 46 30             	mov    0x30(%esi),%eax
43b765:	8b 40 4c             	mov    0x4c(%eax),%eax
43b768:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
43b76e:	83 c4 10             	add    $0x10,%esp
43b771:	5e                   	pop    %esi
43b772:	5b                   	pop    %ebx
43b773:	c3                   	ret
43b774:	03 00                	add    (%eax),%eax
43b776:	00 00                	add    %al,(%eax)
43b778:	53                   	push   %ebx
43b779:	56                   	push   %esi
43b77a:	8b f0                	mov    %eax,%esi
43b77c:	8b 46 48             	mov    0x48(%esi),%eax
43b77f:	50                   	push   %eax
43b780:	8b 46 4c             	mov    0x4c(%esi),%eax
43b783:	50                   	push   %eax
43b784:	8b 4e 44             	mov    0x44(%esi),%ecx
43b787:	8b c6                	mov    %esi,%eax
43b789:	8b 18                	mov    (%eax),%ebx
43b78b:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43b791:	80 8e 98 00 00 00 01 	orb    $0x1,0x98(%esi)
43b798:	5e                   	pop    %esi
43b799:	5b                   	pop    %ebx
43b79a:	c3                   	ret
43b79b:	90                   	nop
43b79c:	53                   	push   %ebx
43b79d:	56                   	push   %esi
43b79e:	8b f0                	mov    %eax,%esi
43b7a0:	8b 46 48             	mov    0x48(%esi),%eax
43b7a3:	50                   	push   %eax
43b7a4:	8b 46 4c             	mov    0x4c(%esi),%eax
43b7a7:	50                   	push   %eax
43b7a8:	8b ca                	mov    %edx,%ecx
43b7aa:	8b c6                	mov    %esi,%eax
43b7ac:	8b 56 40             	mov    0x40(%esi),%edx
43b7af:	8b 18                	mov    (%eax),%ebx
43b7b1:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43b7b7:	80 8e 98 00 00 00 02 	orb    $0x2,0x98(%esi)
43b7be:	5e                   	pop    %esi
43b7bf:	5b                   	pop    %ebx
43b7c0:	c3                   	ret
43b7c1:	8d 40 00             	lea    0x0(%eax),%eax
43b7c4:	53                   	push   %ebx
43b7c5:	56                   	push   %esi
43b7c6:	8b f0                	mov    %eax,%esi
43b7c8:	52                   	push   %edx
43b7c9:	8b 46 4c             	mov    0x4c(%esi),%eax
43b7cc:	50                   	push   %eax
43b7cd:	8b 4e 44             	mov    0x44(%esi),%ecx
43b7d0:	8b c6                	mov    %esi,%eax
43b7d2:	8b 56 40             	mov    0x40(%esi),%edx
43b7d5:	8b 18                	mov    (%eax),%ebx
43b7d7:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43b7dd:	80 8e 98 00 00 00 04 	orb    $0x4,0x98(%esi)
43b7e4:	5e                   	pop    %esi
43b7e5:	5b                   	pop    %ebx
43b7e6:	c3                   	ret
43b7e7:	90                   	nop
43b7e8:	53                   	push   %ebx
43b7e9:	56                   	push   %esi
43b7ea:	8b f0                	mov    %eax,%esi
43b7ec:	8b 46 48             	mov    0x48(%esi),%eax
43b7ef:	50                   	push   %eax
43b7f0:	52                   	push   %edx
43b7f1:	8b 4e 44             	mov    0x44(%esi),%ecx
43b7f4:	8b c6                	mov    %esi,%eax
43b7f6:	8b 56 40             	mov    0x40(%esi),%edx
43b7f9:	8b 18                	mov    (%eax),%ebx
43b7fb:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43b801:	80 8e 98 00 00 00 08 	orb    $0x8,0x98(%esi)
43b808:	5e                   	pop    %esi
43b809:	5b                   	pop    %ebx
43b80a:	c3                   	ret
43b80b:	90                   	nop
43b80c:	55                   	push   %ebp
43b80d:	8b ec                	mov    %esp,%ebp
43b80f:	83 c4 ec             	add    $0xffffffec,%esp
43b812:	53                   	push   %ebx
43b813:	56                   	push   %esi
43b814:	57                   	push   %edi
43b815:	8b f1                	mov    %ecx,%esi
43b817:	8d 7d ec             	lea    -0x14(%ebp),%edi
43b81a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43b81b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43b81c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43b81d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43b81e:	8b da                	mov    %edx,%ebx
43b820:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b823:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b826:	3b 98 a0 00 00 00    	cmp    0xa0(%eax),%ebx
43b82c:	74 44                	je     0x43b872
43b82e:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b831:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
43b837:	85 c0                	test   %eax,%eax
43b839:	74 17                	je     0x43b852
43b83b:	83 b8 78 01 00 00 00 	cmpl   $0x0,0x178(%eax)
43b842:	74 0e                	je     0x43b852
43b844:	8b 80 78 01 00 00    	mov    0x178(%eax),%eax
43b84a:	8b 55 fc             	mov    -0x4(%ebp),%edx
43b84d:	e8 3a 07 fe ff       	call   0x41bf8c
43b852:	85 db                	test   %ebx,%ebx
43b854:	74 1c                	je     0x43b872
43b856:	83 fb ff             	cmp    $0xffffffff,%ebx
43b859:	74 17                	je     0x43b872
43b85b:	83 bb 78 01 00 00 00 	cmpl   $0x0,0x178(%ebx)
43b862:	74 0e                	je     0x43b872
43b864:	8b 83 78 01 00 00    	mov    0x178(%ebx),%eax
43b86a:	8b 55 fc             	mov    -0x4(%ebp),%edx
43b86d:	e8 22 04 fe ff       	call   0x41bc94
43b872:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b875:	66 81 48 54 00 04    	orw    $0x400,0x54(%eax)
43b87b:	33 d2                	xor    %edx,%edx
43b87d:	55                   	push   %ebp
43b87e:	68 07 b9 43 00       	push   $0x43b907
43b883:	64 ff 32             	push   %fs:(%edx)
43b886:	64 89 22             	mov    %esp,%fs:(%edx)
43b889:	83 fb ff             	cmp    $0xffffffff,%ebx
43b88c:	74 11                	je     0x43b89f
43b88e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43b891:	8b d3                	mov    %ebx,%edx
43b893:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b896:	66 be e4 ff          	mov    $0xffe4,%si
43b89a:	e8 49 7d fc ff       	call   0x4035e8
43b89f:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b8a2:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
43b8a8:	3b d8                	cmp    %eax,%ebx
43b8aa:	74 44                	je     0x43b8f0
43b8ac:	8b f8                	mov    %eax,%edi
43b8ae:	83 fb ff             	cmp    $0xffffffff,%ebx
43b8b1:	74 20                	je     0x43b8d3
43b8b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b8b6:	89 98 a0 00 00 00    	mov    %ebx,0xa0(%eax)
43b8bc:	85 db                	test   %ebx,%ebx
43b8be:	74 1e                	je     0x43b8de
43b8c0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43b8c3:	8b 55 fc             	mov    -0x4(%ebp),%edx
43b8c6:	8b c3                	mov    %ebx,%eax
43b8c8:	66 be c5 ff          	mov    $0xffc5,%si
43b8cc:	e8 17 7d fc ff       	call   0x4035e8
43b8d1:	eb 0b                	jmp    0x43b8de
43b8d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b8d6:	33 d2                	xor    %edx,%edx
43b8d8:	89 90 a0 00 00 00    	mov    %edx,0xa0(%eax)
43b8de:	85 ff                	test   %edi,%edi
43b8e0:	74 0e                	je     0x43b8f0
43b8e2:	8b 55 fc             	mov    -0x4(%ebp),%edx
43b8e5:	8b c7                	mov    %edi,%eax
43b8e7:	66 be bf ff          	mov    $0xffbf,%si
43b8eb:	e8 f8 7c fc ff       	call   0x4035e8
43b8f0:	33 c0                	xor    %eax,%eax
43b8f2:	5a                   	pop    %edx
43b8f3:	59                   	pop    %ecx
43b8f4:	59                   	pop    %ecx
43b8f5:	64 89 10             	mov    %edx,%fs:(%eax)
43b8f8:	68 0e b9 43 00       	push   $0x43b90e
43b8fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b900:	66 81 60 54 ff fb    	andw   $0xfbff,0x54(%eax)
43b906:	c3                   	ret
43b907:	e9 5c 82 fc ff       	jmp    0x403b68
43b90c:	eb ef                	jmp    0x43b8fd
43b90e:	5f                   	pop    %edi
43b90f:	5e                   	pop    %esi
43b910:	5b                   	pop    %ebx
43b911:	8b e5                	mov    %ebp,%esp
43b913:	5d                   	pop    %ebp
43b914:	c3                   	ret
43b915:	8d 40 00             	lea    0x0(%eax),%eax
43b918:	53                   	push   %ebx
43b919:	56                   	push   %esi
43b91a:	57                   	push   %edi
43b91b:	8b f9                	mov    %ecx,%edi
43b91d:	8b f2                	mov    %edx,%esi
43b91f:	8b d8                	mov    %eax,%ebx
43b921:	8b c3                	mov    %ebx,%eax
43b923:	8b 15 b0 80 43 00    	mov    0x4380b0,%edx
43b929:	e8 4a 7c fc ff       	call   0x403578
43b92e:	84 c0                	test   %al,%al
43b930:	75 0c                	jne    0x43b93e
43b932:	33 c9                	xor    %ecx,%ecx
43b934:	8a 53 57             	mov    0x57(%ebx),%dl
43b937:	8b c3                	mov    %ebx,%eax
43b939:	e8 02 0b 00 00       	call   0x43c440
43b93e:	3b 73 30             	cmp    0x30(%ebx),%esi
43b941:	74 0b                	je     0x43b94e
43b943:	8b d7                	mov    %edi,%edx
43b945:	8b c3                	mov    %ebx,%eax
43b947:	e8 f8 18 00 00       	call   0x43d244
43b94c:	eb 09                	jmp    0x43b957
43b94e:	8b d7                	mov    %edi,%edx
43b950:	8b c3                	mov    %ebx,%eax
43b952:	e8 71 00 00 00       	call   0x43b9c8
43b957:	85 f6                	test   %esi,%esi
43b959:	74 05                	je     0x43b960
43b95b:	83 fe ff             	cmp    $0xffffffff,%esi
43b95e:	75 09                	jne    0x43b969
43b960:	33 d2                	xor    %edx,%edx
43b962:	8b c3                	mov    %ebx,%eax
43b964:	8b 08                	mov    (%eax),%ecx
43b966:	ff 51 68             	call   *0x68(%ecx)
43b969:	5f                   	pop    %edi
43b96a:	5e                   	pop    %esi
43b96b:	5b                   	pop    %ebx
43b96c:	c3                   	ret
43b96d:	8d 40 00             	lea    0x0(%eax),%eax
43b970:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
43b974:	75 07                	jne    0x43b97d
43b976:	c6 80 50 01 00 00 01 	movb   $0x1,0x150(%eax)
43b97d:	89 90 58 01 00 00    	mov    %edx,0x158(%eax)
43b983:	c3                   	ret
43b984:	53                   	push   %ebx
43b985:	56                   	push   %esi
43b986:	8b f2                	mov    %edx,%esi
43b988:	8b d8                	mov    %eax,%ebx
43b98a:	f6 43 1c 01          	testb  $0x1,0x1c(%ebx)
43b98e:	75 07                	jne    0x43b997
43b990:	c6 83 50 01 00 00 00 	movb   $0x0,0x150(%ebx)
43b997:	8d 83 54 01 00 00    	lea    0x154(%ebx),%eax
43b99d:	8b d6                	mov    %esi,%edx
43b99f:	e8 14 88 fc ff       	call   0x4041b8
43b9a4:	5e                   	pop    %esi
43b9a5:	5b                   	pop    %ebx
43b9a6:	c3                   	ret
43b9a7:	90                   	nop
43b9a8:	8b 48 40             	mov    0x40(%eax),%ecx
43b9ab:	89 0a                	mov    %ecx,(%edx)
43b9ad:	8b 48 44             	mov    0x44(%eax),%ecx
43b9b0:	89 4a 04             	mov    %ecx,0x4(%edx)
43b9b3:	8b 48 40             	mov    0x40(%eax),%ecx
43b9b6:	03 48 48             	add    0x48(%eax),%ecx
43b9b9:	89 4a 08             	mov    %ecx,0x8(%edx)
43b9bc:	8b 48 44             	mov    0x44(%eax),%ecx
43b9bf:	03 48 4c             	add    0x4c(%eax),%ecx
43b9c2:	89 4a 0c             	mov    %ecx,0xc(%edx)
43b9c5:	c3                   	ret
43b9c6:	8b c0                	mov    %eax,%eax
43b9c8:	53                   	push   %ebx
43b9c9:	56                   	push   %esi
43b9ca:	57                   	push   %edi
43b9cb:	55                   	push   %ebp
43b9cc:	8b f0                	mov    %eax,%esi
43b9ce:	8b 42 08             	mov    0x8(%edx),%eax
43b9d1:	8b 3a                	mov    (%edx),%edi
43b9d3:	2b c7                	sub    %edi,%eax
43b9d5:	50                   	push   %eax
43b9d6:	8b 42 0c             	mov    0xc(%edx),%eax
43b9d9:	8b 6a 04             	mov    0x4(%edx),%ebp
43b9dc:	2b c5                	sub    %ebp,%eax
43b9de:	50                   	push   %eax
43b9df:	8b cd                	mov    %ebp,%ecx
43b9e1:	8b d7                	mov    %edi,%edx
43b9e3:	8b c6                	mov    %esi,%eax
43b9e5:	8b 18                	mov    (%eax),%ebx
43b9e7:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43b9ed:	5d                   	pop    %ebp
43b9ee:	5f                   	pop    %edi
43b9ef:	5e                   	pop    %esi
43b9f0:	5b                   	pop    %ebx
43b9f1:	c3                   	ret
43b9f2:	8b c0                	mov    %eax,%eax
43b9f4:	33 c9                	xor    %ecx,%ecx
43b9f6:	89 0a                	mov    %ecx,(%edx)
43b9f8:	33 c9                	xor    %ecx,%ecx
43b9fa:	89 4a 04             	mov    %ecx,0x4(%edx)
43b9fd:	8b 48 48             	mov    0x48(%eax),%ecx