43180e:	1b d2                	sbb    %edx,%edx
431810:	83 e2 f7             	and    $0xfffffff7,%edx
431813:	83 c2 09             	add    $0x9,%edx
431816:	41                   	inc    %ecx
431817:	89 30                	mov    %esi,(%eax)
431819:	8d 40 04             	lea    0x4(%eax),%eax
43181c:	3b ca                	cmp    %edx,%ecx
43181e:	75 f6                	jne    0x431816
431820:	5e                   	pop    %esi
431821:	c3                   	ret
431822:	55                   	push   %ebp
431823:	8b ec                	mov    %esp,%ebp
431825:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
431829:	75 27                	jne    0x431852
43182b:	56                   	push   %esi
43182c:	be 68 ae 46 00       	mov    $0x46ae68,%esi
431831:	83 3e 00             	cmpl   $0x0,(%esi)
431834:	74 10                	je     0x431846
431836:	83 3e ff             	cmpl   $0xffffffff,(%esi)
431839:	74 08                	je     0x431843
43183b:	ff 36                	push   (%esi)
43183d:	ff 15 b0 b1 44 00    	call   *0x44b1b0
431843:	83 26 00             	andl   $0x0,(%esi)
431846:	83 c6 04             	add    $0x4,%esi
431849:	81 fe 78 ae 46 00    	cmp    $0x46ae78,%esi
43184f:	75 e0                	jne    0x431831
431851:	5e                   	pop    %esi
431852:	5d                   	pop    %ebp
431853:	c3                   	ret
431854:	a1 08 a0 46 00       	mov    0x46a008,%eax
431859:	83 e0 1f             	and    $0x1f,%eax
43185c:	6a 20                	push   $0x20
43185e:	59                   	pop    %ecx
43185f:	2b c8                	sub    %eax,%ecx
431861:	33 c0                	xor    %eax,%eax
431863:	d3 c8                	ror    %cl,%eax
431865:	33 05 08 a0 46 00    	xor    0x46a008,%eax
43186b:	a3 9c ae 46 00       	mov    %eax,0x46ae9c
431870:	c3                   	ret
431871:	cc                   	int3
431872:	cc                   	int3
431873:	cc                   	int3
431874:	cc                   	int3
431875:	cc                   	int3
431876:	cc                   	int3
431877:	cc                   	int3
431878:	cc                   	int3
431879:	cc                   	int3
43187a:	cc                   	int3
43187b:	cc                   	int3
43187c:	cc                   	int3
43187d:	cc                   	int3
43187e:	cc                   	int3
43187f:	cc                   	int3
431880:	55                   	push   %ebp
431881:	8b ec                	mov    %esp,%ebp
431883:	53                   	push   %ebx
431884:	56                   	push   %esi
431885:	57                   	push   %edi
431886:	55                   	push   %ebp
431887:	6a 00                	push   $0x0
431889:	6a 00                	push   $0x0
43188b:	68 98 18 43 00       	push   $0x431898
431890:	ff 75 08             	push   0x8(%ebp)
431893:	e8 84 7c 01 00       	call   0x44951c
431898:	5d                   	pop    %ebp
431899:	5f                   	pop    %edi
43189a:	5e                   	pop    %esi
43189b:	5b                   	pop    %ebx
43189c:	8b e5                	mov    %ebp,%esp
43189e:	5d                   	pop    %ebp
43189f:	c3                   	ret
4318a0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4318a4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
4318ab:	b8 01 00 00 00       	mov    $0x1,%eax
4318b0:	74 32                	je     0x4318e4
4318b2:	8b 44 24 14          	mov    0x14(%esp),%eax
4318b6:	8b 48 fc             	mov    -0x4(%eax),%ecx
4318b9:	33 c8                	xor    %eax,%ecx
4318bb:	e8 76 c5 ff ff       	call   0x42de36
4318c0:	55                   	push   %ebp
4318c1:	8b 68 10             	mov    0x10(%eax),%ebp
4318c4:	8b 50 28             	mov    0x28(%eax),%edx
4318c7:	52                   	push   %edx
4318c8:	8b 50 24             	mov    0x24(%eax),%edx
4318cb:	52                   	push   %edx
4318cc:	e8 14 00 00 00       	call   0x4318e5
4318d1:	83 c4 08             	add    $0x8,%esp
4318d4:	5d                   	pop    %ebp
4318d5:	8b 44 24 08          	mov    0x8(%esp),%eax
4318d9:	8b 54 24 10          	mov    0x10(%esp),%edx
4318dd:	89 02                	mov    %eax,(%edx)
4318df:	b8 03 00 00 00       	mov    $0x3,%eax
4318e4:	c3                   	ret
4318e5:	53                   	push   %ebx
4318e6:	56                   	push   %esi
4318e7:	57                   	push   %edi
4318e8:	8b 44 24 10          	mov    0x10(%esp),%eax
4318ec:	55                   	push   %ebp
4318ed:	50                   	push   %eax
4318ee:	6a fe                	push   $0xfffffffe
4318f0:	68 a0 18 43 00       	push   $0x4318a0
4318f5:	64 ff 35 00 00 00 00 	push   %fs:0x0
4318fc:	a1 08 a0 46 00       	mov    0x46a008,%eax
431901:	33 c4                	xor    %esp,%eax
431903:	50                   	push   %eax
431904:	8d 44 24 04          	lea    0x4(%esp),%eax
431908:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43190e:	8b 44 24 28          	mov    0x28(%esp),%eax
431912:	8b 58 08             	mov    0x8(%eax),%ebx
431915:	8b 70 0c             	mov    0xc(%eax),%esi
431918:	83 fe ff             	cmp    $0xffffffff,%esi
43191b:	74 3a                	je     0x431957
43191d:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
431922:	74 06                	je     0x43192a
431924:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
431928:	76 2d                	jbe    0x431957
43192a:	8d 34 76             	lea    (%esi,%esi,2),%esi
43192d:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
431930:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
431934:	89 48 0c             	mov    %ecx,0xc(%eax)
431937:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
43193c:	75 17                	jne    0x431955
43193e:	68 01 01 00 00       	push   $0x101
431943:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
431947:	e8 49 00 00 00       	call   0x431995
43194c:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
431950:	e8 5f 00 00 00       	call   0x4319b4
431955:	eb b7                	jmp    0x43190e
431957:	8b 4c 24 04          	mov    0x4(%esp),%ecx
43195b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
431962:	83 c4 18             	add    $0x18,%esp
431965:	5f                   	pop    %edi
431966:	5e                   	pop    %esi
431967:	5b                   	pop    %ebx
431968:	c3                   	ret
431969:	33 c0                	xor    %eax,%eax
43196b:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
431972:	81 79 04 a0 18 43 00 	cmpl   $0x4318a0,0x4(%ecx)
431979:	75 10                	jne    0x43198b
43197b:	8b 51 0c             	mov    0xc(%ecx),%edx
43197e:	8b 52 0c             	mov    0xc(%edx),%edx
431981:	39 51 08             	cmp    %edx,0x8(%ecx)
431984:	75 05                	jne    0x43198b
431986:	b8 01 00 00 00       	mov    $0x1,%eax
43198b:	c3                   	ret
43198c:	53                   	push   %ebx
43198d:	51                   	push   %ecx
43198e:	bb 40 a0 46 00       	mov    $0x46a040,%ebx
431993:	eb 0b                	jmp    0x4319a0
431995:	53                   	push   %ebx
431996:	51                   	push   %ecx
431997:	bb 40 a0 46 00       	mov    $0x46a040,%ebx
43199c:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4319a0:	89 4b 08             	mov    %ecx,0x8(%ebx)
4319a3:	89 43 04             	mov    %eax,0x4(%ebx)
4319a6:	89 6b 0c             	mov    %ebp,0xc(%ebx)
4319a9:	55                   	push   %ebp
4319aa:	51                   	push   %ecx
4319ab:	50                   	push   %eax
4319ac:	58                   	pop    %eax
4319ad:	59                   	pop    %ecx
4319ae:	5d                   	pop    %ebp
4319af:	59                   	pop    %ecx
4319b0:	5b                   	pop    %ebx
4319b1:	c2 04 00             	ret    $0x4
4319b4:	ff d0                	call   *%eax
4319b6:	c3                   	ret
4319b7:	8b ff                	mov    %edi,%edi
4319b9:	55                   	push   %ebp
4319ba:	8b ec                	mov    %esp,%ebp
4319bc:	57                   	push   %edi
4319bd:	8b f9                	mov    %ecx,%edi
4319bf:	8b 4d 08             	mov    0x8(%ebp),%ecx
4319c2:	c6 47 0c 00          	movb   $0x0,0xc(%edi)
4319c6:	85 c9                	test   %ecx,%ecx
4319c8:	74 0a                	je     0x4319d4
4319ca:	8b 01                	mov    (%ecx),%eax
4319cc:	89 47 04             	mov    %eax,0x4(%edi)
4319cf:	8b 41 04             	mov    0x4(%ecx),%eax
4319d2:	eb 16                	jmp    0x4319ea
4319d4:	a1 14 b1 46 00       	mov    0x46b114,%eax
4319d9:	85 c0                	test   %eax,%eax
4319db:	75 12                	jne    0x4319ef
4319dd:	a1 18 a1 46 00       	mov    0x46a118,%eax
4319e2:	89 47 04             	mov    %eax,0x4(%edi)
4319e5:	a1 1c a1 46 00       	mov    0x46a11c,%eax
4319ea:	89 47 08             	mov    %eax,0x8(%edi)
4319ed:	eb 44                	jmp    0x431a33
4319ef:	56                   	push   %esi
4319f0:	e8 69 46 00 00       	call   0x43605e
4319f5:	8d 57 04             	lea    0x4(%edi),%edx
4319f8:	89 07                	mov    %eax,(%edi)
4319fa:	52                   	push   %edx
4319fb:	8d 77 08             	lea    0x8(%edi),%esi
4319fe:	8b 48 4c             	mov    0x4c(%eax),%ecx
431a01:	89 0a                	mov    %ecx,(%edx)
431a03:	8b 48 48             	mov    0x48(%eax),%ecx
431a06:	50                   	push   %eax
431a07:	89 0e                	mov    %ecx,(%esi)
431a09:	e8 9f 47 00 00       	call   0x4361ad
431a0e:	56                   	push   %esi
431a0f:	ff 37                	push   (%edi)
431a11:	e8 c4 47 00 00       	call   0x4361da
431a16:	8b 0f                	mov    (%edi),%ecx
431a18:	83 c4 10             	add    $0x10,%esp
431a1b:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
431a21:	5e                   	pop    %esi
431a22:	a8 02                	test   $0x2,%al
431a24:	75 0d                	jne    0x431a33
431a26:	83 c8 02             	or     $0x2,%eax
431a29:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
431a2f:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
431a33:	8b c7                	mov    %edi,%eax
431a35:	5f                   	pop    %edi
431a36:	5d                   	pop    %ebp
431a37:	c2 04 00             	ret    $0x4
431a3a:	8b ff                	mov    %edi,%edi
431a3c:	55                   	push   %ebp
431a3d:	8b ec                	mov    %esp,%ebp
431a3f:	51                   	push   %ecx
431a40:	8b 45 08             	mov    0x8(%ebp),%eax
431a43:	85 c0                	test   %eax,%eax
431a45:	75 05                	jne    0x431a4c
431a47:	8b 45 10             	mov    0x10(%ebp),%eax
431a4a:	8b 00                	mov    (%eax),%eax
431a4c:	0f b7 08             	movzwl (%eax),%ecx
431a4f:	33 d2                	xor    %edx,%edx
431a51:	53                   	push   %ebx
431a52:	56                   	push   %esi
431a53:	57                   	push   %edi
431a54:	8b 7d 0c             	mov    0xc(%ebp),%edi
431a57:	66 85 c9             	test   %cx,%cx
431a5a:	74 30                	je     0x431a8c
431a5c:	0f b7 1f             	movzwl (%edi),%ebx
431a5f:	8b d7                	mov    %edi,%edx
431a61:	66 85 db             	test   %bx,%bx
431a64:	74 12                	je     0x431a78
431a66:	8b f3                	mov    %ebx,%esi
431a68:	66 3b f1             	cmp    %cx,%si
431a6b:	74 0b                	je     0x431a78
431a6d:	83 c2 02             	add    $0x2,%edx
431a70:	0f b7 32             	movzwl (%edx),%esi
431a73:	66 85 f6             	test   %si,%si
431a76:	75 f0                	jne    0x431a68
431a78:	33 c9                	xor    %ecx,%ecx
431a7a:	66 39 0a             	cmp    %cx,(%edx)
431a7d:	74 0b                	je     0x431a8a
431a7f:	83 c0 02             	add    $0x2,%eax
431a82:	0f b7 08             	movzwl (%eax),%ecx
431a85:	66 85 c9             	test   %cx,%cx
431a88:	75 d5                	jne    0x431a5f
431a8a:	33 d2                	xor    %edx,%edx
431a8c:	8b f0                	mov    %eax,%esi
431a8e:	66 39 10             	cmp    %dx,(%eax)
431a91:	74 3c                	je     0x431acf
431a93:	0f b7 1f             	movzwl (%edi),%ebx
431a96:	8b cf                	mov    %edi,%ecx
431a98:	66 85 db             	test   %bx,%bx
431a9b:	74 1b                	je     0x431ab8
431a9d:	0f b7 10             	movzwl (%eax),%edx
431aa0:	89 55 fc             	mov    %edx,-0x4(%ebp)
431aa3:	8b d3                	mov    %ebx,%edx
431aa5:	66 3b 55 fc          	cmp    -0x4(%ebp),%dx
431aa9:	74 0b                	je     0x431ab6
431aab:	83 c1 02             	add    $0x2,%ecx
431aae:	0f b7 11             	movzwl (%ecx),%edx
431ab1:	66 85 d2             	test   %dx,%dx
431ab4:	75 ef                	jne    0x431aa5
431ab6:	33 d2                	xor    %edx,%edx
431ab8:	66 39 11             	cmp    %dx,(%ecx)
431abb:	75 0a                	jne    0x431ac7
431abd:	83 c0 02             	add    $0x2,%eax
431ac0:	66 39 10             	cmp    %dx,(%eax)
431ac3:	75 d1                	jne    0x431a96
431ac5:	eb 08                	jmp    0x431acf
431ac7:	33 c9                	xor    %ecx,%ecx
431ac9:	66 89 08             	mov    %cx,(%eax)
431acc:	83 c0 02             	add    $0x2,%eax
431acf:	8b 4d 10             	mov    0x10(%ebp),%ecx
431ad2:	5f                   	pop    %edi
431ad3:	89 01                	mov    %eax,(%ecx)
431ad5:	2b c6                	sub    %esi,%eax
431ad7:	f7 d8                	neg    %eax
431ad9:	1b c0                	sbb    %eax,%eax
431adb:	23 c6                	and    %esi,%eax
431add:	5e                   	pop    %esi
431ade:	5b                   	pop    %ebx
431adf:	8b e5                	mov    %ebp,%esp
431ae1:	5d                   	pop    %ebp
431ae2:	c3                   	ret
431ae3:	8b ff                	mov    %edi,%edi
431ae5:	55                   	push   %ebp
431ae6:	8b ec                	mov    %esp,%ebp
431ae8:	8b 45 10             	mov    0x10(%ebp),%eax
431aeb:	85 c0                	test   %eax,%eax
431aed:	75 14                	jne    0x431b03
431aef:	e8 42 23 00 00       	call   0x433e36
431af4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
431afa:	e8 7b 22 00 00       	call   0x433d7a
431aff:	33 c0                	xor    %eax,%eax
431b01:	5d                   	pop    %ebp
431b02:	c3                   	ret
431b03:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
431b07:	74 e6                	je     0x431aef
431b09:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
431b0d:	75 05                	jne    0x431b14
431b0f:	83 38 00             	cmpl   $0x0,(%eax)
431b12:	74 db                	je     0x431aef
431b14:	50                   	push   %eax
431b15:	ff 75 0c             	push   0xc(%ebp)
431b18:	ff 75 08             	push   0x8(%ebp)
431b1b:	e8 1a ff ff ff       	call   0x431a3a
431b20:	83 c4 0c             	add    $0xc,%esp
431b23:	5d                   	pop    %ebp
431b24:	c3                   	ret
431b25:	8b ff                	mov    %edi,%edi
431b27:	55                   	push   %ebp
431b28:	8b ec                	mov    %esp,%ebp
431b2a:	81 ec 84 04 00 00    	sub    $0x484,%esp
431b30:	a1 08 a0 46 00       	mov    0x46a008,%eax
431b35:	33 c5                	xor    %ebp,%eax
431b37:	89 45 fc             	mov    %eax,-0x4(%ebp)
431b3a:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
431b3e:	8b 45 10             	mov    0x10(%ebp),%eax
431b41:	53                   	push   %ebx
431b42:	8b 5d 14             	mov    0x14(%ebp),%ebx
431b45:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
431b4b:	75 18                	jne    0x431b65
431b4d:	e8 e4 22 00 00       	call   0x433e36
431b52:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
431b58:	e8 1d 22 00 00       	call   0x433d7a
431b5d:	83 c8 ff             	or     $0xffffffff,%eax
431b60:	e9 11 01 00 00       	jmp    0x431c76
431b65:	85 db                	test   %ebx,%ebx
431b67:	74 04                	je     0x431b6d
431b69:	85 c0                	test   %eax,%eax
431b6b:	74 e0                	je     0x431b4d
431b6d:	56                   	push   %esi
431b6e:	57                   	push   %edi
431b6f:	ff 75 1c             	push   0x1c(%ebp)
431b72:	8d 8d 7c fb ff ff    	lea    -0x484(%ebp),%ecx
431b78:	e8 3a fe ff ff       	call   0x4319b7
431b7d:	8b 4d 08             	mov    0x8(%ebp),%ecx
431b80:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
431b86:	33 c0                	xor    %eax,%eax
431b88:	33 d2                	xor    %edx,%edx
431b8a:	ab                   	stos   %eax,%es:(%edi)
431b8b:	ab                   	stos   %eax,%es:(%edi)
431b8c:	ab                   	stos   %eax,%es:(%edi)