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
435dd4:	e8 9d 8a ff ff       	call   0x42e876
435dd9:	c2 0c 00             	ret    $0xc
435ddc:	8b 45 10             	mov    0x10(%ebp),%eax
435ddf:	ff 30                	push   (%eax)
435de1:	e8 98 28 00 00       	call   0x43867e
435de6:	59                   	pop    %ecx
435de7:	c3                   	ret
435de8:	6a 08                	push   $0x8
435dea:	68 c0 7d 46 00       	push   $0x467dc0
435def:	e8 3c 8a ff ff       	call   0x42e830
435df4:	8b 45 08             	mov    0x8(%ebp),%eax
435df7:	ff 30                	push   (%eax)
435df9:	e8 38 28 00 00       	call   0x438636
435dfe:	59                   	pop    %ecx
435dff:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
435e03:	8b 45 0c             	mov    0xc(%ebp),%eax
435e06:	8b 00                	mov    (%eax),%eax
435e08:	8b 00                	mov    (%eax),%eax
435e0a:	8b 40 48             	mov    0x48(%eax),%eax
435e0d:	f0 ff 00             	lock incl (%eax)
435e10:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
435e17:	e8 08 00 00 00       	call   0x435e24
435e1c:	e8 55 8a ff ff       	call   0x42e876
435e21:	c2 0c 00             	ret    $0xc
435e24:	8b 45 10             	mov    0x10(%ebp),%eax
435e27:	ff 30                	push   (%eax)
435e29:	e8 50 28 00 00       	call   0x43867e
435e2e:	59                   	pop    %ecx
435e2f:	c3                   	ret
435e30:	8b ff                	mov    %edi,%edi
435e32:	55                   	push   %ebp
435e33:	8b ec                	mov    %esp,%ebp
435e35:	83 ec 0c             	sub    $0xc,%esp
435e38:	8b 45 08             	mov    0x8(%ebp),%eax
435e3b:	8d 4d ff             	lea    -0x1(%ebp),%ecx
435e3e:	89 45 f8             	mov    %eax,-0x8(%ebp)
435e41:	89 45 f4             	mov    %eax,-0xc(%ebp)
435e44:	8d 45 f8             	lea    -0x8(%ebp),%eax
435e47:	50                   	push   %eax
435e48:	ff 75 0c             	push   0xc(%ebp)
435e4b:	8d 45 f4             	lea    -0xc(%ebp),%eax
435e4e:	50                   	push   %eax
435e4f:	e8 e8 fe ff ff       	call   0x435d3c
435e54:	8b e5                	mov    %ebp,%esp
435e56:	5d                   	pop    %ebp
435e57:	c3                   	ret
435e58:	8b ff                	mov    %edi,%edi
435e5a:	55                   	push   %ebp
435e5b:	8b ec                	mov    %esp,%ebp
435e5d:	83 ec 0c             	sub    $0xc,%esp
435e60:	8b 45 08             	mov    0x8(%ebp),%eax
435e63:	8d 4d ff             	lea    -0x1(%ebp),%ecx
435e66:	89 45 f8             	mov    %eax,-0x8(%ebp)
435e69:	89 45 f4             	mov    %eax,-0xc(%ebp)
435e6c:	8d 45 f8             	lea    -0x8(%ebp),%eax
435e6f:	50                   	push   %eax
435e70:	ff 75 0c             	push   0xc(%ebp)
435e73:	8d 45 f4             	lea    -0xc(%ebp),%eax
435e76:	50                   	push   %eax
435e77:	e8 70 fe ff ff       	call   0x435cec
435e7c:	8b e5                	mov    %ebp,%esp
435e7e:	5d                   	pop    %ebp
435e7f:	c3                   	ret
435e80:	8b ff                	mov    %edi,%edi
435e82:	55                   	push   %ebp
435e83:	8b ec                	mov    %esp,%ebp
435e85:	83 ec 0c             	sub    $0xc,%esp
435e88:	8b 45 08             	mov    0x8(%ebp),%eax
435e8b:	8d 4d ff             	lea    -0x1(%ebp),%ecx
435e8e:	89 45 f8             	mov    %eax,-0x8(%ebp)
435e91:	89 45 f4             	mov    %eax,-0xc(%ebp)
435e94:	8d 45 f8             	lea    -0x8(%ebp),%eax
435e97:	50                   	push   %eax
435e98:	ff 75 0c             	push   0xc(%ebp)
435e9b:	8d 45 f4             	lea    -0xc(%ebp),%eax
435e9e:	50                   	push   %eax
435e9f:	e8 f9 fe ff ff       	call   0x435d9d
435ea4:	8b e5                	mov    %ebp,%esp
435ea6:	5d                   	pop    %ebp
435ea7:	c3                   	ret
435ea8:	8b ff                	mov    %edi,%edi
435eaa:	55                   	push   %ebp
435eab:	8b ec                	mov    %esp,%ebp
435ead:	83 ec 0c             	sub    $0xc,%esp
435eb0:	8b 45 08             	mov    0x8(%ebp),%eax
435eb3:	8d 4d ff             	lea    -0x1(%ebp),%ecx
435eb6:	89 45 f8             	mov    %eax,-0x8(%ebp)
435eb9:	89 45 f4             	mov    %eax,-0xc(%ebp)
435ebc:	8d 45 f8             	lea    -0x8(%ebp),%eax
435ebf:	50                   	push   %eax
435ec0:	ff 75 0c             	push   0xc(%ebp)
435ec3:	8d 45 f4             	lea    -0xc(%ebp),%eax
435ec6:	50                   	push   %eax
435ec7:	e8 1c ff ff ff       	call   0x435de8
435ecc:	8b e5                	mov    %ebp,%esp
435ece:	5d                   	pop    %ebp
435ecf:	c3                   	ret
435ed0:	8b ff                	mov    %edi,%edi
435ed2:	55                   	push   %ebp
435ed3:	8b ec                	mov    %esp,%ebp
435ed5:	51                   	push   %ecx
435ed6:	51                   	push   %ecx
435ed7:	8b 45 08             	mov    0x8(%ebp),%eax
435eda:	33 c9                	xor    %ecx,%ecx
435edc:	41                   	inc    %ecx
435edd:	6a 43                	push   $0x43
435edf:	89 48 18             	mov    %ecx,0x18(%eax)
435ee2:	8b 45 08             	mov    0x8(%ebp),%eax
435ee5:	c7 00 c0 16 46 00    	movl   $0x4616c0,(%eax)
435eeb:	8b 45 08             	mov    0x8(%ebp),%eax
435eee:	89 88 50 03 00 00    	mov    %ecx,0x350(%eax)
435ef4:	8b 45 08             	mov    0x8(%ebp),%eax
435ef7:	59                   	pop    %ecx
435ef8:	c7 40 48 d0 a4 46 00 	movl   $0x46a4d0,0x48(%eax)
435eff:	8b 45 08             	mov    0x8(%ebp),%eax
435f02:	66 89 48 6c          	mov    %cx,0x6c(%eax)
435f06:	8b 45 08             	mov    0x8(%ebp),%eax
435f09:	66 89 88 72 01 00 00 	mov    %cx,0x172(%eax)
435f10:	8b 45 08             	mov    0x8(%ebp),%eax
435f13:	83 a0 4c 03 00 00 00 	andl   $0x0,0x34c(%eax)
435f1a:	8d 45 08             	lea    0x8(%ebp),%eax
435f1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
435f20:	8d 45 fc             	lea    -0x4(%ebp),%eax
435f23:	50                   	push   %eax
435f24:	6a 05                	push   $0x5
435f26:	e8 7d ff ff ff       	call   0x435ea8
435f2b:	8d 45 08             	lea    0x8(%ebp),%eax
435f2e:	89 45 f8             	mov    %eax,-0x8(%ebp)
435f31:	8d 45 0c             	lea    0xc(%ebp),%eax
435f34:	89 45 fc             	mov    %eax,-0x4(%ebp)
435f37:	8d 45 f8             	lea    -0x8(%ebp),%eax
435f3a:	50                   	push   %eax
435f3b:	6a 04                	push   $0x4
435f3d:	e8 16 ff ff ff       	call   0x435e58
435f42:	83 c4 10             	add    $0x10,%esp
435f45:	8b e5                	mov    %ebp,%esp
435f47:	5d                   	pop    %ebp
435f48:	c3                   	ret
435f49:	8b ff                	mov    %edi,%edi
435f4b:	55                   	push   %ebp
435f4c:	8b ec                	mov    %esp,%ebp
435f4e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
435f52:	74 12                	je     0x435f66
435f54:	ff 75 08             	push   0x8(%ebp)
435f57:	e8 0e 00 00 00       	call   0x435f6a
435f5c:	ff 75 08             	push   0x8(%ebp)
435f5f:	e8 b6 f1 ff ff       	call   0x43511a
435f64:	59                   	pop    %ecx
435f65:	59                   	pop    %ecx
435f66:	5d                   	pop    %ebp
435f67:	c2 04 00             	ret    $0x4
435f6a:	8b ff                	mov    %edi,%edi
435f6c:	55                   	push   %ebp
435f6d:	8b ec                	mov    %esp,%ebp
435f6f:	51                   	push   %ecx
435f70:	8b 45 08             	mov    0x8(%ebp),%eax
435f73:	8b 08                	mov    (%eax),%ecx
435f75:	81 f9 c0 16 46 00    	cmp    $0x4616c0,%ecx
435f7b:	74 0a                	je     0x435f87
435f7d:	51                   	push   %ecx
435f7e:	e8 97 f1 ff ff       	call   0x43511a
435f83:	8b 45 08             	mov    0x8(%ebp),%eax
435f86:	59                   	pop    %ecx
435f87:	ff 70 3c             	push   0x3c(%eax)
435f8a:	e8 8b f1 ff ff       	call   0x43511a
435f8f:	8b 45 08             	mov    0x8(%ebp),%eax
435f92:	ff 70 30             	push   0x30(%eax)
435f95:	e8 80 f1 ff ff       	call   0x43511a
435f9a:	8b 45 08             	mov    0x8(%ebp),%eax
435f9d:	ff 70 34             	push   0x34(%eax)
435fa0:	e8 75 f1 ff ff       	call   0x43511a
435fa5:	8b 45 08             	mov    0x8(%ebp),%eax
435fa8:	ff 70 38             	push   0x38(%eax)
435fab:	e8 6a f1 ff ff       	call   0x43511a
435fb0:	8b 45 08             	mov    0x8(%ebp),%eax