4438a6:	66 3b f0             	cmp    %ax,%si
4438a9:	74 c3                	je     0x44386e
4438ab:	eb 38                	jmp    0x4438e5
4438ad:	8d 45 f0             	lea    -0x10(%ebp),%eax
4438b0:	50                   	push   %eax
4438b1:	0f b7 03             	movzwl (%ebx),%eax
4438b4:	50                   	push   %eax
4438b5:	e8 c8 d3 fe ff       	call   0x430c82
4438ba:	0f b7 f0             	movzwl %ax,%esi
4438bd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4438c0:	50                   	push   %eax
4438c1:	0f b7 07             	movzwl (%edi),%eax
4438c4:	50                   	push   %eax
4438c5:	e8 b8 d3 fe ff       	call   0x430c82
4438ca:	83 c4 10             	add    $0x10,%esp
4438cd:	83 c3 02             	add    $0x2,%ebx
4438d0:	83 c7 02             	add    $0x2,%edi
4438d3:	ff 4d 10             	decl   0x10(%ebp)
4438d6:	0f b7 c0             	movzwl %ax,%eax
4438d9:	74 0a                	je     0x4438e5
4438db:	66 85 f6             	test   %si,%si
4438de:	74 05                	je     0x4438e5
4438e0:	66 3b f0             	cmp    %ax,%si
4438e3:	74 c8                	je     0x4438ad
4438e5:	0f b7 c8             	movzwl %ax,%ecx
4438e8:	0f b7 c6             	movzwl %si,%eax
4438eb:	2b c1                	sub    %ecx,%eax
4438ed:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4438f1:	5e                   	pop    %esi
4438f2:	74 07                	je     0x4438fb
4438f4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4438f7:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4438fb:	5f                   	pop    %edi
4438fc:	5b                   	pop    %ebx
4438fd:	c9                   	leave
4438fe:	c3                   	ret
4438ff:	8b ff                	mov    %edi,%edi
443901:	55                   	push   %ebp
443902:	8b ec                	mov    %esp,%ebp
443904:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
44390b:	56                   	push   %esi
44390c:	75 79                	jne    0x443987
44390e:	33 c0                	xor    %eax,%eax
443910:	39 45 10             	cmp    %eax,0x10(%ebp)
443913:	0f 84 81 00 00 00    	je     0x44399a
443919:	8b 75 08             	mov    0x8(%ebp),%esi
44391c:	85 f6                	test   %esi,%esi
44391e:	75 17                	jne    0x443937
443920:	e8 83 10 ff ff       	call   0x4349a8
443925:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44392b:	e8 3e 0a ff ff       	call   0x43436e
443930:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
443935:	eb 63                	jmp    0x44399a
443937:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44393a:	85 c9                	test   %ecx,%ecx
44393c:	74 e2                	je     0x443920
44393e:	2b f1                	sub    %ecx,%esi
443940:	0f b7 04 0e          	movzwl (%esi,%ecx,1),%eax
443944:	83 f8 41             	cmp    $0x41,%eax
443947:	72 0d                	jb     0x443956
443949:	83 f8 5a             	cmp    $0x5a,%eax
44394c:	77 08                	ja     0x443956
44394e:	83 c0 20             	add    $0x20,%eax
443951:	0f b7 d0             	movzwl %ax,%edx
443954:	eb 02                	jmp    0x443958
443956:	8b d0                	mov    %eax,%edx
443958:	0f b7 01             	movzwl (%ecx),%eax
44395b:	83 f8 41             	cmp    $0x41,%eax
44395e:	72 0b                	jb     0x44396b
443960:	83 f8 5a             	cmp    $0x5a,%eax
443963:	77 06                	ja     0x44396b
443965:	83 c0 20             	add    $0x20,%eax
443968:	0f b7 c0             	movzwl %ax,%eax
44396b:	83 c1 02             	add    $0x2,%ecx
44396e:	ff 4d 10             	decl   0x10(%ebp)
443971:	74 0a                	je     0x44397d
443973:	66 85 d2             	test   %dx,%dx
443976:	74 05                	je     0x44397d
443978:	66 3b d0             	cmp    %ax,%dx
44397b:	74 c3                	je     0x443940
44397d:	0f b7 c8             	movzwl %ax,%ecx
443980:	0f b7 c2             	movzwl %dx,%eax
443983:	2b c1                	sub    %ecx,%eax
443985:	eb 13                	jmp    0x44399a
443987:	6a 00                	push   $0x0
443989:	ff 75 10             	push   0x10(%ebp)
44398c:	ff 75 0c             	push   0xc(%ebp)
44398f:	ff 75 08             	push   0x8(%ebp)
443992:	e8 83 fe ff ff       	call   0x44381a
443997:	83 c4 10             	add    $0x10,%esp
44399a:	5e                   	pop    %esi
44399b:	5d                   	pop    %ebp
44399c:	c3                   	ret
44399d:	cc                   	int3
44399e:	cc                   	int3
44399f:	cc                   	int3
4439a0:	55                   	push   %ebp
4439a1:	8b ec                	mov    %esp,%ebp
4439a3:	53                   	push   %ebx
4439a4:	56                   	push   %esi
4439a5:	57                   	push   %edi
4439a6:	55                   	push   %ebp
4439a7:	6a 00                	push   $0x0
4439a9:	6a 00                	push   $0x0
4439ab:	68 b8 39 44 00       	push   $0x4439b8
4439b0:	ff 75 08             	push   0x8(%ebp)
4439b3:	e8 98 48 00 00       	call   0x448250
4439b8:	5d                   	pop    %ebp
4439b9:	5f                   	pop    %edi
4439ba:	5e                   	pop    %esi
4439bb:	5b                   	pop    %ebx
4439bc:	8b e5                	mov    %ebp,%esp
4439be:	5d                   	pop    %ebp
4439bf:	c3                   	ret
4439c0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4439c4:	f7 41 04 06 00 00 00 	testl  $0x6,0x4(%ecx)
4439cb:	b8 01 00 00 00       	mov    $0x1,%eax
4439d0:	74 32                	je     0x443a04
4439d2:	8b 44 24 14          	mov    0x14(%esp),%eax
4439d6:	8b 48 fc             	mov    -0x4(%eax),%ecx
4439d9:	33 c8                	xor    %eax,%ecx
4439db:	e8 b1 af ff ff       	call   0x43e991
4439e0:	55                   	push   %ebp
4439e1:	8b 68 10             	mov    0x10(%eax),%ebp
4439e4:	8b 50 28             	mov    0x28(%eax),%edx
4439e7:	52                   	push   %edx
4439e8:	8b 50 24             	mov    0x24(%eax),%edx
4439eb:	52                   	push   %edx
4439ec:	e8 14 00 00 00       	call   0x443a05
4439f1:	83 c4 08             	add    $0x8,%esp
4439f4:	5d                   	pop    %ebp
4439f5:	8b 44 24 08          	mov    0x8(%esp),%eax
4439f9:	8b 54 24 10          	mov    0x10(%esp),%edx
4439fd:	89 02                	mov    %eax,(%edx)
4439ff:	b8 03 00 00 00       	mov    $0x3,%eax
443a04:	c3                   	ret
443a05:	53                   	push   %ebx
443a06:	56                   	push   %esi
443a07:	57                   	push   %edi
443a08:	8b 44 24 10          	mov    0x10(%esp),%eax
443a0c:	55                   	push   %ebp
443a0d:	50                   	push   %eax
443a0e:	6a fe                	push   $0xfffffffe
443a10:	68 c0 39 44 00       	push   $0x4439c0
443a15:	64 ff 35 00 00 00 00 	push   %fs:0x0
443a1c:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
443a21:	33 c4                	xor    %esp,%eax
443a23:	50                   	push   %eax
443a24:	8d 44 24 04          	lea    0x4(%esp),%eax
443a28:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
443a2e:	8b 44 24 28          	mov    0x28(%esp),%eax
443a32:	8b 58 08             	mov    0x8(%eax),%ebx
443a35:	8b 70 0c             	mov    0xc(%eax),%esi
443a38:	83 fe ff             	cmp    $0xffffffff,%esi
443a3b:	74 3a                	je     0x443a77
443a3d:	83 7c 24 2c ff       	cmpl   $0xffffffff,0x2c(%esp)
443a42:	74 06                	je     0x443a4a
443a44:	3b 74 24 2c          	cmp    0x2c(%esp),%esi
443a48:	76 2d                	jbe    0x443a77
443a4a:	8d 34 76             	lea    (%esi,%esi,2),%esi
443a4d:	8b 0c b3             	mov    (%ebx,%esi,4),%ecx
443a50:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
443a54:	89 48 0c             	mov    %ecx,0xc(%eax)
443a57:	83 7c b3 04 00       	cmpl   $0x0,0x4(%ebx,%esi,4)
443a5c:	75 17                	jne    0x443a75
443a5e:	68 01 01 00 00       	push   $0x101
443a63:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
443a67:	e8 49 00 00 00       	call   0x443ab5
443a6c:	8b 44 b3 08          	mov    0x8(%ebx,%esi,4),%eax
443a70:	e8 5f 00 00 00       	call   0x443ad4
443a75:	eb b7                	jmp    0x443a2e
443a77:	8b 4c 24 04          	mov    0x4(%esp),%ecx
443a7b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
443a82:	83 c4 18             	add    $0x18,%esp
443a85:	5f                   	pop    %edi
443a86:	5e                   	pop    %esi
443a87:	5b                   	pop    %ebx
443a88:	c3                   	ret
443a89:	33 c0                	xor    %eax,%eax
443a8b:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
443a92:	81 79 04 c0 39 44 00 	cmpl   $0x4439c0,0x4(%ecx)
443a99:	75 10                	jne    0x443aab
443a9b:	8b 51 0c             	mov    0xc(%ecx),%edx
443a9e:	8b 52 0c             	mov    0xc(%edx),%edx
443aa1:	39 51 08             	cmp    %edx,0x8(%ecx)
443aa4:	75 05                	jne    0x443aab
443aa6:	b8 01 00 00 00       	mov    $0x1,%eax
443aab:	c3                   	ret
443aac:	53                   	push   %ebx
443aad:	51                   	push   %ecx
443aae:	bb c0 fe 46 00       	mov    $0x46fec0,%ebx
443ab3:	eb 0b                	jmp    0x443ac0
443ab5:	53                   	push   %ebx
443ab6:	51                   	push   %ecx
443ab7:	bb c0 fe 46 00       	mov    $0x46fec0,%ebx
443abc:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
443ac0:	89 4b 08             	mov    %ecx,0x8(%ebx)
443ac3:	89 43 04             	mov    %eax,0x4(%ebx)
443ac6:	89 6b 0c             	mov    %ebp,0xc(%ebx)
443ac9:	55                   	push   %ebp
443aca:	51                   	push   %ecx
443acb:	50                   	push   %eax
443acc:	58                   	pop    %eax
443acd:	59                   	pop    %ecx
443ace:	5d                   	pop    %ebp
443acf:	59                   	pop    %ecx
443ad0:	5b                   	pop    %ebx
443ad1:	c2 04 00             	ret    $0x4
443ad4:	ff d0                	call   *%eax
443ad6:	c3                   	ret
443ad7:	8b ff                	mov    %edi,%edi
443ad9:	55                   	push   %ebp
443ada:	8b ec                	mov    %esp,%ebp
443adc:	83 ec 10             	sub    $0x10,%esp
443adf:	ff 75 0c             	push   0xc(%ebp)
443ae2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443ae5:	e8 00 d1 fe ff       	call   0x430bea
443aea:	8b 45 f0             	mov    -0x10(%ebp),%eax
443aed:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
443af4:	7e 16                	jle    0x443b0c
443af6:	8d 45 f0             	lea    -0x10(%ebp),%eax
443af9:	50                   	push   %eax
443afa:	68 03 01 00 00       	push   $0x103
443aff:	ff 75 08             	push   0x8(%ebp)
443b02:	e8 ed df ff ff       	call   0x441af4
443b07:	83 c4 0c             	add    $0xc,%esp
443b0a:	eb 12                	jmp    0x443b1e
443b0c:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
443b12:	8b 4d 08             	mov    0x8(%ebp),%ecx
443b15:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
443b19:	25 03 01 00 00       	and    $0x103,%eax
443b1e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
443b22:	74 07                	je     0x443b2b
443b24:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443b27:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
443b2b:	c9                   	leave
443b2c:	c3                   	ret
443b2d:	8b ff                	mov    %edi,%edi
443b2f:	55                   	push   %ebp
443b30:	8b ec                	mov    %esp,%ebp
443b32:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
443b39:	75 14                	jne    0x443b4f
443b3b:	8b 45 08             	mov    0x8(%ebp),%eax
443b3e:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
443b44:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
443b48:	25 03 01 00 00       	and    $0x103,%eax
443b4d:	5d                   	pop    %ebp
443b4e:	c3                   	ret
443b4f:	6a 00                	push   $0x0
443b51:	ff 75 08             	push   0x8(%ebp)
443b54:	e8 7e ff ff ff       	call   0x443ad7
443b59:	59                   	pop    %ecx
443b5a:	59                   	pop    %ecx
443b5b:	5d                   	pop    %ebp
443b5c:	c3                   	ret
443b5d:	8b ff                	mov    %edi,%edi
443b5f:	55                   	push   %ebp
443b60:	8b ec                	mov    %esp,%ebp
443b62:	83 ec 10             	sub    $0x10,%esp
443b65:	ff 75 0c             	push   0xc(%ebp)
443b68:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443b6b:	e8 7a d0 fe ff       	call   0x430bea
443b70:	8b 45 f0             	mov    -0x10(%ebp),%eax
443b73:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
443b7a:	7e 13                	jle    0x443b8f
443b7c:	8d 45 f0             	lea    -0x10(%ebp),%eax
443b7f:	50                   	push   %eax
443b80:	6a 01                	push   $0x1
443b82:	ff 75 08             	push   0x8(%ebp)
443b85:	e8 6a df ff ff       	call   0x441af4
443b8a:	83 c4 0c             	add    $0xc,%esp
443b8d:	eb 10                	jmp    0x443b9f
443b8f:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
443b95:	8b 4d 08             	mov    0x8(%ebp),%ecx
443b98:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
443b9c:	83 e0 01             	and    $0x1,%eax
443b9f:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
443ba3:	74 07                	je     0x443bac
443ba5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443ba8:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
443bac:	c9                   	leave
443bad:	c3                   	ret
443bae:	8b ff                	mov    %edi,%edi
443bb0:	55                   	push   %ebp
443bb1:	8b ec                	mov    %esp,%ebp
443bb3:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
443bba:	75 12                	jne    0x443bce
443bbc:	8b 45 08             	mov    0x8(%ebp),%eax
443bbf:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
443bc5:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
443bc9:	83 e0 01             	and    $0x1,%eax
443bcc:	5d                   	pop    %ebp
443bcd:	c3                   	ret
443bce:	6a 00                	push   $0x0
443bd0:	ff 75 08             	push   0x8(%ebp)
443bd3:	e8 85 ff ff ff       	call   0x443b5d
443bd8:	59                   	pop    %ecx
443bd9:	59                   	pop    %ecx
443bda:	5d                   	pop    %ebp
443bdb:	c3                   	ret
443bdc:	8b ff                	mov    %edi,%edi
443bde:	55                   	push   %ebp
443bdf:	8b ec                	mov    %esp,%ebp
443be1:	83 ec 10             	sub    $0x10,%esp
443be4:	ff 75 0c             	push   0xc(%ebp)
443be7:	8d 4d f0             	lea    -0x10(%ebp),%ecx
443bea:	e8 fb cf fe ff       	call   0x430bea
443bef:	8b 45 f0             	mov    -0x10(%ebp),%eax
443bf2:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
443bf9:	7e 13                	jle    0x443c0e
443bfb:	8d 45 f0             	lea    -0x10(%ebp),%eax
443bfe:	50                   	push   %eax
443bff:	6a 02                	push   $0x2
443c01:	ff 75 08             	push   0x8(%ebp)
443c04:	e8 eb de ff ff       	call   0x441af4
443c09:	83 c4 0c             	add    $0xc,%esp
443c0c:	eb 10                	jmp    0x443c1e
443c0e:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
443c14:	8b 4d 08             	mov    0x8(%ebp),%ecx
443c17:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
443c1b:	83 e0 02             	and    $0x2,%eax
443c1e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
443c22:	74 07                	je     0x443c2b
443c24:	8b 4d f8             	mov    -0x8(%ebp),%ecx
443c27:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
443c2b:	c9                   	leave
443c2c:	c3                   	ret
443c2d:	8b ff                	mov    %edi,%edi
443c2f:	55                   	push   %ebp
443c30:	8b ec                	mov    %esp,%ebp
443c32:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
443c39:	75 12                	jne    0x443c4d
443c3b:	8b 45 08             	mov    0x8(%ebp),%eax
443c3e:	8b 0d 08 fe 46 00    	mov    0x46fe08,%ecx
443c44:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
443c48:	83 e0 02             	and    $0x2,%eax
443c4b:	5d                   	pop    %ebp
443c4c:	c3                   	ret
443c4d:	6a 00                	push   $0x0
443c4f:	ff 75 08             	push   0x8(%ebp)
443c52:	e8 85 ff ff ff       	call   0x443bdc
443c57:	59                   	pop    %ecx
443c58:	59                   	pop    %ecx
443c59:	5d                   	pop    %ebp
443c5a:	c3                   	ret
443c5b:	8b ff                	mov    %edi,%edi
443c5d:	55                   	push   %ebp
443c5e:	8b ec                	mov    %esp,%ebp
443c60:	83 ec 10             	sub    $0x10,%esp
443c63:	ff 75 0c             	push   0xc(%ebp)