4359b5:	73 0d                	jae    0x4359c4
4359b7:	0f b7 c6             	movzwl %si,%eax
4359ba:	2d 66 0b 00 00       	sub    $0xb66,%eax
4359bf:	e9 3a 01 00 00       	jmp    0x435afe
4359c4:	b8 66 0c 00 00       	mov    $0xc66,%eax
4359c9:	66 3b f0             	cmp    %ax,%si
4359cc:	0f 82 31 01 00 00    	jb     0x435b03
4359d2:	83 c0 0a             	add    $0xa,%eax
4359d5:	66 3b f0             	cmp    %ax,%si
4359d8:	73 0d                	jae    0x4359e7
4359da:	0f b7 c6             	movzwl %si,%eax
4359dd:	2d 66 0c 00 00       	sub    $0xc66,%eax
4359e2:	e9 17 01 00 00       	jmp    0x435afe
4359e7:	b8 e6 0c 00 00       	mov    $0xce6,%eax
4359ec:	66 3b f0             	cmp    %ax,%si
4359ef:	0f 82 0e 01 00 00    	jb     0x435b03
4359f5:	83 c0 0a             	add    $0xa,%eax
4359f8:	66 3b f0             	cmp    %ax,%si
4359fb:	73 0d                	jae    0x435a0a
4359fd:	0f b7 c6             	movzwl %si,%eax
435a00:	2d e6 0c 00 00       	sub    $0xce6,%eax
435a05:	e9 f4 00 00 00       	jmp    0x435afe
435a0a:	b8 66 0d 00 00       	mov    $0xd66,%eax
435a0f:	66 3b f0             	cmp    %ax,%si
435a12:	0f 82 eb 00 00 00    	jb     0x435b03
435a18:	83 c0 0a             	add    $0xa,%eax
435a1b:	66 3b f0             	cmp    %ax,%si
435a1e:	73 0d                	jae    0x435a2d
435a20:	0f b7 c6             	movzwl %si,%eax
435a23:	2d 66 0d 00 00       	sub    $0xd66,%eax
435a28:	e9 d1 00 00 00       	jmp    0x435afe
435a2d:	b8 50 0e 00 00       	mov    $0xe50,%eax
435a32:	66 3b f0             	cmp    %ax,%si
435a35:	0f 82 c8 00 00 00    	jb     0x435b03
435a3b:	83 c0 0a             	add    $0xa,%eax
435a3e:	66 3b f0             	cmp    %ax,%si
435a41:	73 0d                	jae    0x435a50
435a43:	0f b7 c6             	movzwl %si,%eax
435a46:	2d 50 0e 00 00       	sub    $0xe50,%eax
435a4b:	e9 ae 00 00 00       	jmp    0x435afe
435a50:	b8 d0 0e 00 00       	mov    $0xed0,%eax
435a55:	66 3b f0             	cmp    %ax,%si
435a58:	0f 82 a5 00 00 00    	jb     0x435b03
435a5e:	83 c0 0a             	add    $0xa,%eax
435a61:	66 3b f0             	cmp    %ax,%si
435a64:	73 0d                	jae    0x435a73
435a66:	0f b7 c6             	movzwl %si,%eax
435a69:	2d d0 0e 00 00       	sub    $0xed0,%eax
435a6e:	e9 8b 00 00 00       	jmp    0x435afe
435a73:	b8 20 0f 00 00       	mov    $0xf20,%eax
435a78:	66 3b f0             	cmp    %ax,%si
435a7b:	0f 82 82 00 00 00    	jb     0x435b03
435a81:	83 c0 0a             	add    $0xa,%eax
435a84:	66 3b f0             	cmp    %ax,%si
435a87:	73 0a                	jae    0x435a93
435a89:	0f b7 c6             	movzwl %si,%eax
435a8c:	2d 20 0f 00 00       	sub    $0xf20,%eax
435a91:	eb 6b                	jmp    0x435afe
435a93:	b8 40 10 00 00       	mov    $0x1040,%eax
435a98:	66 3b f0             	cmp    %ax,%si
435a9b:	72 66                	jb     0x435b03
435a9d:	83 c0 0a             	add    $0xa,%eax
435aa0:	66 3b f0             	cmp    %ax,%si
435aa3:	73 0a                	jae    0x435aaf
435aa5:	0f b7 c6             	movzwl %si,%eax
435aa8:	2d 40 10 00 00       	sub    $0x1040,%eax
435aad:	eb 4f                	jmp    0x435afe
435aaf:	b8 e0 17 00 00       	mov    $0x17e0,%eax
435ab4:	66 3b f0             	cmp    %ax,%si
435ab7:	72 4a                	jb     0x435b03
435ab9:	83 c0 0a             	add    $0xa,%eax
435abc:	66 3b f0             	cmp    %ax,%si
435abf:	73 0a                	jae    0x435acb
435ac1:	0f b7 c6             	movzwl %si,%eax
435ac4:	2d e0 17 00 00       	sub    $0x17e0,%eax
435ac9:	eb 33                	jmp    0x435afe
435acb:	b8 10 18 00 00       	mov    $0x1810,%eax
435ad0:	66 3b f0             	cmp    %ax,%si
435ad3:	72 2e                	jb     0x435b03
435ad5:	83 c0 0a             	add    $0xa,%eax
435ad8:	66 3b f0             	cmp    %ax,%si
435adb:	73 26                	jae    0x435b03
435add:	0f b7 c6             	movzwl %si,%eax
435ae0:	2d 10 18 00 00       	sub    $0x1810,%eax
435ae5:	eb 17                	jmp    0x435afe
435ae7:	b8 1a ff 00 00       	mov    $0xff1a,%eax
435aec:	66 3b f0             	cmp    %ax,%si
435aef:	73 0a                	jae    0x435afb
435af1:	0f b7 c6             	movzwl %si,%eax
435af4:	2d 10 ff 00 00       	sub    $0xff10,%eax
435af9:	eb 03                	jmp    0x435afe
435afb:	83 c8 ff             	or     $0xffffffff,%eax
435afe:	83 f8 ff             	cmp    $0xffffffff,%eax
435b01:	75 30                	jne    0x435b33
435b03:	6a 41                	push   $0x41
435b05:	58                   	pop    %eax
435b06:	66 3b c6             	cmp    %si,%ax
435b09:	77 08                	ja     0x435b13
435b0b:	6a 5a                	push   $0x5a
435b0d:	58                   	pop    %eax
435b0e:	66 3b f0             	cmp    %ax,%si
435b11:	76 09                	jbe    0x435b1c
435b13:	8d 46 9f             	lea    -0x61(%esi),%eax
435b16:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
435b1a:	77 14                	ja     0x435b30
435b1c:	8d 46 9f             	lea    -0x61(%esi),%eax
435b1f:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
435b23:	0f b7 c6             	movzwl %si,%eax
435b26:	77 03                	ja     0x435b2b
435b28:	83 e8 20             	sub    $0x20,%eax
435b2b:	83 c0 c9             	add    $0xffffffc9,%eax
435b2e:	eb 03                	jmp    0x435b33
435b30:	83 c8 ff             	or     $0xffffffff,%eax
435b33:	83 f8 ff             	cmp    $0xffffffff,%eax
435b36:	74 31                	je     0x435b69
435b38:	3b 45 14             	cmp    0x14(%ebp),%eax
435b3b:	73 2c                	jae    0x435b69
435b3d:	8b 75 f8             	mov    -0x8(%ebp),%esi
435b40:	83 cb 08             	or     $0x8,%ebx
435b43:	3b f1                	cmp    %ecx,%esi
435b45:	72 0b                	jb     0x435b52
435b47:	75 04                	jne    0x435b4d
435b49:	3b c2                	cmp    %edx,%eax
435b4b:	76 05                	jbe    0x435b52
435b4d:	83 cb 04             	or     $0x4,%ebx
435b50:	eb 09                	jmp    0x435b5b
435b52:	0f af 75 14          	imul   0x14(%ebp),%esi
435b56:	03 f0                	add    %eax,%esi
435b58:	89 75 f8             	mov    %esi,-0x8(%ebp)
435b5b:	0f b7 37             	movzwl (%edi),%esi
435b5e:	83 c7 02             	add    $0x2,%edi
435b61:	89 7d 0c             	mov    %edi,0xc(%ebp)
435b64:	e9 39 fd ff ff       	jmp    0x4358a2
435b69:	56                   	push   %esi
435b6a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
435b6d:	e8 92 00 00 00       	call   0x435c04
435b72:	f6 c3 08             	test   $0x8,%bl
435b75:	75 0a                	jne    0x435b81
435b77:	8b 45 f4             	mov    -0xc(%ebp),%eax
435b7a:	33 db                	xor    %ebx,%ebx
435b7c:	89 45 0c             	mov    %eax,0xc(%ebp)
435b7f:	eb 41                	jmp    0x435bc2
435b81:	8b 75 f8             	mov    -0x8(%ebp),%esi
435b84:	56                   	push   %esi
435b85:	53                   	push   %ebx
435b86:	e8 11 f7 ff ff       	call   0x43529c
435b8b:	59                   	pop    %ecx
435b8c:	59                   	pop    %ecx
435b8d:	84 c0                	test   %al,%al
435b8f:	74 28                	je     0x435bb9
435b91:	e8 a0 e2 ff ff       	call   0x433e36
435b96:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
435b9c:	f6 c3 01             	test   $0x1,%bl
435b9f:	75 05                	jne    0x435ba6
435ba1:	83 ce ff             	or     $0xffffffff,%esi
435ba4:	eb 1a                	jmp    0x435bc0
435ba6:	f6 c3 02             	test   $0x2,%bl
435ba9:	74 07                	je     0x435bb2
435bab:	bb 00 00 00 80       	mov    $0x80000000,%ebx
435bb0:	eb 10                	jmp    0x435bc2
435bb2:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
435bb7:	eb 09                	jmp    0x435bc2
435bb9:	f6 c3 02             	test   $0x2,%bl
435bbc:	74 02                	je     0x435bc0
435bbe:	f7 de                	neg    %esi
435bc0:	8b de                	mov    %esi,%ebx
435bc2:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
435bc6:	5e                   	pop    %esi
435bc7:	0f 84 65 f9 ff ff    	je     0x435532
435bcd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
435bd0:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
435bd7:	e9 56 f9 ff ff       	jmp    0x435532
435bdc:	8b ff                	mov    %edi,%edi
435bde:	55                   	push   %ebp
435bdf:	8b ec                	mov    %esp,%ebp
435be1:	ff 09                	decl   (%ecx)
435be3:	8a 45 08             	mov    0x8(%ebp),%al
435be6:	8b 09                	mov    (%ecx),%ecx
435be8:	84 c0                	test   %al,%al
435bea:	74 14                	je     0x435c00
435bec:	38 01                	cmp    %al,(%ecx)
435bee:	74 10                	je     0x435c00
435bf0:	e8 41 e2 ff ff       	call   0x433e36
435bf5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
435bfb:	e8 7a e1 ff ff       	call   0x433d7a
435c00:	5d                   	pop    %ebp
435c01:	c2 04 00             	ret    $0x4
435c04:	8b ff                	mov    %edi,%edi
435c06:	55                   	push   %ebp
435c07:	8b ec                	mov    %esp,%ebp
435c09:	83 01 fe             	addl   $0xfffffffe,(%ecx)
435c0c:	66 8b 45 08          	mov    0x8(%ebp),%ax
435c10:	8b 09                	mov    (%ecx),%ecx
435c12:	66 85 c0             	test   %ax,%ax
435c15:	74 15                	je     0x435c2c
435c17:	66 39 01             	cmp    %ax,(%ecx)
435c1a:	74 10                	je     0x435c2c
435c1c:	e8 15 e2 ff ff       	call   0x433e36
435c21:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
435c27:	e8 4e e1 ff ff       	call   0x433d7a
435c2c:	5d                   	pop    %ebp
435c2d:	c2 04 00             	ret    $0x4
435c30:	8b ff                	mov    %edi,%edi
435c32:	55                   	push   %ebp
435c33:	8b ec                	mov    %esp,%ebp
435c35:	8b 45 10             	mov    0x10(%ebp),%eax
435c38:	85 c0                	test   %eax,%eax
435c3a:	74 0d                	je     0x435c49
435c3c:	8b 00                	mov    (%eax),%eax
435c3e:	8b 08                	mov    (%eax),%ecx
435c40:	8b 45 08             	mov    0x8(%ebp),%eax
435c43:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
435c47:	eb 0c                	jmp    0x435c55
435c49:	e8 6a 31 00 00       	call   0x438db8
435c4e:	8b 4d 08             	mov    0x8(%ebp),%ecx
435c51:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
435c55:	23 45 0c             	and    0xc(%ebp),%eax
435c58:	5d                   	pop    %ebp
435c59:	c3                   	ret
435c5a:	8b ff                	mov    %edi,%edi
435c5c:	55                   	push   %ebp
435c5d:	8b ec                	mov    %esp,%ebp
435c5f:	8b 4d 10             	mov    0x10(%ebp),%ecx
435c62:	85 c9                	test   %ecx,%ecx
435c64:	74 16                	je     0x435c7c
435c66:	8b 01                	mov    (%ecx),%eax
435c68:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
435c6c:	7e 0e                	jle    0x435c7c
435c6e:	51                   	push   %ecx
435c6f:	ff 75 0c             	push   0xc(%ebp)
435c72:	ff 75 08             	push   0x8(%ebp)
435c75:	e8 d4 42 00 00       	call   0x439f4e
435c7a:	eb 0c                	jmp    0x435c88
435c7c:	51                   	push   %ecx
435c7d:	ff 75 0c             	push   0xc(%ebp)
435c80:	ff 75 08             	push   0x8(%ebp)
435c83:	e8 a8 ff ff ff       	call   0x435c30
435c88:	83 c4 0c             	add    $0xc,%esp
435c8b:	5d                   	pop    %ebp
435c8c:	c3                   	ret
435c8d:	8b ff                	mov    %edi,%edi
435c8f:	55                   	push   %ebp
435c90:	8b ec                	mov    %esp,%ebp
435c92:	51                   	push   %ecx
435c93:	51                   	push   %ecx
435c94:	66 8b 45 08          	mov    0x8(%ebp),%ax
435c98:	b9 ff ff 00 00       	mov    $0xffff,%ecx
435c9d:	66 3b c1             	cmp    %cx,%ax
435ca0:	75 04                	jne    0x435ca6
435ca2:	33 c0                	xor    %eax,%eax
435ca4:	eb 42                	jmp    0x435ce8
435ca6:	b9 00 01 00 00       	mov    $0x100,%ecx
435cab:	66 3b c1             	cmp    %cx,%ax
435cae:	73 0e                	jae    0x435cbe
435cb0:	0f b7 c8             	movzwl %ax,%ecx
435cb3:	a1 f4 a6 46 00       	mov    0x46a6f4,%eax
435cb8:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
435cbc:	eb 24                	jmp    0x435ce2
435cbe:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
435cc2:	33 c0                	xor    %eax,%eax
435cc4:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
435cc8:	8d 45 fc             	lea    -0x4(%ebp),%eax
435ccb:	50                   	push   %eax
435ccc:	6a 01                	push   $0x1
435cce:	8d 45 f8             	lea    -0x8(%ebp),%eax
435cd1:	50                   	push   %eax
435cd2:	6a 01                	push   $0x1
435cd4:	ff 15 e8 b1 44 00    	call   *0x44b1e8
435cda:	85 c0                	test   %eax,%eax
435cdc:	74 c4                	je     0x435ca2
435cde:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
435ce2:	0f b7 4d 0c          	movzwl 0xc(%ebp),%ecx
435ce6:	23 c1                	and    %ecx,%eax
435ce8:	8b e5                	mov    %ebp,%esp
435cea:	5d                   	pop    %ebp
435ceb:	c3                   	ret
435cec:	6a 08                	push   $0x8
435cee:	68 e0 7d 46 00       	push   $0x467de0
435cf3:	e8 38 8b ff ff       	call   0x42e830
435cf8:	8b 45 08             	mov    0x8(%ebp),%eax
435cfb:	ff 30                	push   (%eax)
435cfd:	e8 34 29 00 00       	call   0x438636
435d02:	59                   	pop    %ecx
435d03:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
435d07:	8b 4d 0c             	mov    0xc(%ebp),%ecx
435d0a:	8b 41 04             	mov    0x4(%ecx),%eax
435d0d:	8b 00                	mov    (%eax),%eax
435d0f:	ff 30                	push   (%eax)
435d11:	8b 01                	mov    (%ecx),%eax
435d13:	ff 30                	push   (%eax)
435d15:	e8 f9 02 00 00       	call   0x436013
435d1a:	59                   	pop    %ecx
435d1b:	59                   	pop    %ecx
435d1c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
435d23:	e8 08 00 00 00       	call   0x435d30
435d28:	e8 49 8b ff ff       	call   0x42e876
435d2d:	c2 0c 00             	ret    $0xc
435d30:	8b 45 10             	mov    0x10(%ebp),%eax
435d33:	ff 30                	push   (%eax)
435d35:	e8 44 29 00 00       	call   0x43867e
435d3a:	59                   	pop    %ecx
435d3b:	c3                   	ret
435d3c:	6a 08                	push   $0x8
435d3e:	68 00 7e 46 00       	push   $0x467e00
435d43:	e8 e8 8a ff ff       	call   0x42e830
435d48:	8b 45 08             	mov    0x8(%ebp),%eax
435d4b:	ff 30                	push   (%eax)
435d4d:	e8 e4 28 00 00       	call   0x438636
435d52:	59                   	pop    %ecx
435d53:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
435d57:	8b 45 0c             	mov    0xc(%ebp),%eax
435d5a:	8b 00                	mov    (%eax),%eax
435d5c:	8b 00                	mov    (%eax),%eax
435d5e:	8b 48 48             	mov    0x48(%eax),%ecx
435d61:	85 c9                	test   %ecx,%ecx
435d63:	74 18                	je     0x435d7d
435d65:	83 c8 ff             	or     $0xffffffff,%eax
435d68:	f0 0f c1 01          	lock xadd %eax,(%ecx)
435d6c:	75 0f                	jne    0x435d7d
435d6e:	81 f9 d0 a4 46 00    	cmp    $0x46a4d0,%ecx
435d74:	74 07                	je     0x435d7d
435d76:	51                   	push   %ecx
435d77:	e8 9e f3 ff ff       	call   0x43511a
435d7c:	59                   	pop    %ecx
435d7d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
435d84:	e8 08 00 00 00       	call   0x435d91
435d89:	e8 e8 8a ff ff       	call   0x42e876
435d8e:	c2 0c 00             	ret    $0xc
435d91:	8b 45 10             	mov    0x10(%ebp),%eax
435d94:	ff 30                	push   (%eax)
435d96:	e8 e3 28 00 00       	call   0x43867e
435d9b:	59                   	pop    %ecx
435d9c:	c3                   	ret
435d9d:	6a 08                	push   $0x8
435d9f:	68 20 7e 46 00       	push   $0x467e20
435da4:	e8 87 8a ff ff       	call   0x42e830
435da9:	8b 45 08             	mov    0x8(%ebp),%eax
435dac:	ff 30                	push   (%eax)
435dae:	e8 83 28 00 00       	call   0x438636
435db3:	59                   	pop    %ecx
435db4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
435db8:	6a 00                	push   $0x0
435dba:	8b 45 0c             	mov    0xc(%ebp),%eax
435dbd:	8b 00                	mov    (%eax),%eax
435dbf:	ff 30                	push   (%eax)
435dc1:	e8 4d 02 00 00       	call   0x436013
435dc6:	59                   	pop    %ecx
435dc7:	59                   	pop    %ecx
435dc8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
435dcf:	e8 08 00 00 00       	call   0x435ddc