414aa2:	33 d2                	xor    %edx,%edx
414aa4:	39 55 10             	cmp    %edx,0x10(%ebp)
414aa7:	74 0e                	je     0x414ab7
414aa9:	8b 45 f4             	mov    -0xc(%ebp),%eax
414aac:	8b 00                	mov    (%eax),%eax
414aae:	0f b7 04 70          	movzwl (%eax,%esi,2),%eax
414ab2:	23 45 10             	and    0x10(%ebp),%eax
414ab5:	eb 02                	jmp    0x414ab9
414ab7:	8b c2                	mov    %edx,%eax
414ab9:	85 c0                	test   %eax,%eax
414abb:	74 03                	je     0x414ac0
414abd:	33 d2                	xor    %edx,%edx
414abf:	42                   	inc    %edx
414ac0:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
414ac4:	5e                   	pop    %esi
414ac5:	74 0a                	je     0x414ad1
414ac7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414aca:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
414ad1:	8b c2                	mov    %edx,%eax
414ad3:	8b e5                	mov    %ebp,%esp
414ad5:	5d                   	pop    %ebp
414ad6:	c3                   	ret
414ad7:	8b ff                	mov    %edi,%edi
414ad9:	55                   	push   %ebp
414ada:	8b ec                	mov    %esp,%ebp
414adc:	6a 04                	push   $0x4
414ade:	6a 00                	push   $0x0
414ae0:	ff 75 08             	push   0x8(%ebp)
414ae3:	6a 00                	push   $0x0
414ae5:	e8 94 ff ff ff       	call   0x414a7e
414aea:	83 c4 10             	add    $0x10,%esp
414aed:	5d                   	pop    %ebp
414aee:	c3                   	ret
414aef:	8b ff                	mov    %edi,%edi
414af1:	55                   	push   %ebp
414af2:	8b ec                	mov    %esp,%ebp
414af4:	5d                   	pop    %ebp
414af5:	e9 50 02 00 00       	jmp    0x414d4a
414afa:	8b ff                	mov    %edi,%edi
414afc:	55                   	push   %ebp
414afd:	8b ec                	mov    %esp,%ebp
414aff:	51                   	push   %ecx
414b00:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
414b04:	75 0e                	jne    0x414b14
414b06:	6a 00                	push   $0x0
414b08:	ff 75 08             	push   0x8(%ebp)
414b0b:	e8 b5 26 00 00       	call   0x4171c5
414b10:	59                   	pop    %ecx
414b11:	59                   	pop    %ecx
414b12:	eb 74                	jmp    0x414b88
414b14:	56                   	push   %esi
414b15:	57                   	push   %edi
414b16:	68 ff ff ff 7f       	push   $0x7fffffff
414b1b:	ff 75 0c             	push   0xc(%ebp)
414b1e:	33 ff                	xor    %edi,%edi
414b20:	8d 45 fc             	lea    -0x4(%ebp),%eax
414b23:	57                   	push   %edi
414b24:	57                   	push   %edi
414b25:	50                   	push   %eax
414b26:	e8 07 7c 00 00       	call   0x41c732
414b2b:	83 c4 14             	add    $0x14,%esp
414b2e:	85 c0                	test   %eax,%eax
414b30:	74 0a                	je     0x414b3c
414b32:	83 f8 16             	cmp    $0x16,%eax
414b35:	74 55                	je     0x414b8c
414b37:	83 f8 22             	cmp    $0x22,%eax
414b3a:	74 50                	je     0x414b8c
414b3c:	6a 02                	push   $0x2
414b3e:	ff 75 fc             	push   -0x4(%ebp)
414b41:	e8 e9 f8 ff ff       	call   0x41442f
414b46:	8b f0                	mov    %eax,%esi
414b48:	59                   	pop    %ecx
414b49:	59                   	pop    %ecx
414b4a:	85 f6                	test   %esi,%esi
414b4c:	74 2f                	je     0x414b7d
414b4e:	6a ff                	push   $0xffffffff
414b50:	ff 75 0c             	push   0xc(%ebp)
414b53:	ff 75 fc             	push   -0x4(%ebp)
414b56:	56                   	push   %esi
414b57:	57                   	push   %edi
414b58:	e8 d5 7b 00 00       	call   0x41c732
414b5d:	83 c4 14             	add    $0x14,%esp
414b60:	85 c0                	test   %eax,%eax
414b62:	74 0c                	je     0x414b70
414b64:	83 f8 16             	cmp    $0x16,%eax
414b67:	74 23                	je     0x414b8c
414b69:	83 f8 22             	cmp    $0x22,%eax
414b6c:	75 0f                	jne    0x414b7d
414b6e:	eb 1c                	jmp    0x414b8c
414b70:	56                   	push   %esi
414b71:	ff 75 08             	push   0x8(%ebp)
414b74:	e8 4c 26 00 00       	call   0x4171c5
414b79:	59                   	pop    %ecx
414b7a:	59                   	pop    %ecx
414b7b:	8b f8                	mov    %eax,%edi
414b7d:	56                   	push   %esi
414b7e:	e8 8d 01 00 00       	call   0x414d10
414b83:	59                   	pop    %ecx
414b84:	8b c7                	mov    %edi,%eax
414b86:	5f                   	pop    %edi
414b87:	5e                   	pop    %esi
414b88:	8b e5                	mov    %ebp,%esp
414b8a:	5d                   	pop    %ebp
414b8b:	c3                   	ret
414b8c:	57                   	push   %edi
414b8d:	57                   	push   %edi
414b8e:	57                   	push   %edi
414b8f:	57                   	push   %edi
414b90:	57                   	push   %edi
414b91:	e8 79 71 ff ff       	call   0x40bd0f
414b96:	cc                   	int3
414b97:	6a 1c                	push   $0x1c
414b99:	68 00 80 43 00       	push   $0x438000
414b9e:	e8 7d 2a ff ff       	call   0x407620
414ba3:	ff 75 0c             	push   0xc(%ebp)
414ba6:	8b 75 08             	mov    0x8(%ebp),%esi
414ba9:	56                   	push   %esi
414baa:	e8 4b ff ff ff       	call   0x414afa
414baf:	59                   	pop    %ecx
414bb0:	59                   	pop    %ecx
414bb1:	8b f8                	mov    %eax,%edi
414bb3:	85 ff                	test   %edi,%edi
414bb5:	75 07                	jne    0x414bbe
414bb7:	33 c0                	xor    %eax,%eax
414bb9:	e9 24 01 00 00       	jmp    0x414ce2
414bbe:	e8 99 3f 00 00       	call   0x418b5c
414bc3:	89 45 dc             	mov    %eax,-0x24(%ebp)
414bc6:	8b 48 4c             	mov    0x4c(%eax),%ecx
414bc9:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
414bcc:	8b 48 48             	mov    0x48(%eax),%ecx
414bcf:	89 4d d8             	mov    %ecx,-0x28(%ebp)
414bd2:	33 db                	xor    %ebx,%ebx
414bd4:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
414bd7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
414bda:	50                   	push   %eax
414bdb:	53                   	push   %ebx
414bdc:	57                   	push   %edi
414bdd:	53                   	push   %ebx
414bde:	53                   	push   %ebx
414bdf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
414be2:	50                   	push   %eax
414be3:	e8 eb 7d 00 00       	call   0x41c9d3
414be8:	83 c4 18             	add    $0x18,%esp
414beb:	85 c0                	test   %eax,%eax
414bed:	74 18                	je     0x414c07
414bef:	83 f8 16             	cmp    $0x16,%eax
414bf2:	74 05                	je     0x414bf9
414bf4:	83 f8 22             	cmp    $0x22,%eax
414bf7:	75 0a                	jne    0x414c03
414bf9:	53                   	push   %ebx
414bfa:	53                   	push   %ebx
414bfb:	53                   	push   %ebx
414bfc:	53                   	push   %ebx
414bfd:	53                   	push   %ebx
414bfe:	e8 0c 71 ff ff       	call   0x40bd0f
414c03:	85 c0                	test   %eax,%eax
414c05:	75 b0                	jne    0x414bb7
414c07:	8b 45 e4             	mov    -0x1c(%ebp),%eax
414c0a:	83 c0 04             	add    $0x4,%eax
414c0d:	50                   	push   %eax
414c0e:	e8 37 01 00 00       	call   0x414d4a
414c13:	59                   	pop    %ecx
414c14:	8b d8                	mov    %eax,%ebx
414c16:	85 db                	test   %ebx,%ebx
414c18:	74 9d                	je     0x414bb7
414c1a:	8d 43 04             	lea    0x4(%ebx),%eax
414c1d:	89 45 e0             	mov    %eax,-0x20(%ebp)
414c20:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
414c23:	51                   	push   %ecx
414c24:	6a ff                	push   $0xffffffff
414c26:	57                   	push   %edi
414c27:	ff 75 e4             	push   -0x1c(%ebp)
414c2a:	50                   	push   %eax
414c2b:	33 ff                	xor    %edi,%edi
414c2d:	57                   	push   %edi
414c2e:	e8 a0 7d 00 00       	call   0x41c9d3
414c33:	83 c4 18             	add    $0x18,%esp
414c36:	85 c0                	test   %eax,%eax
414c38:	74 21                	je     0x414c5b
414c3a:	83 f8 16             	cmp    $0x16,%eax
414c3d:	74 05                	je     0x414c44
414c3f:	83 f8 22             	cmp    $0x22,%eax
414c42:	75 07                	jne    0x414c4b
414c44:	57                   	push   %edi
414c45:	57                   	push   %edi
414c46:	57                   	push   %edi
414c47:	57                   	push   %edi
414c48:	57                   	push   %edi
414c49:	eb b3                	jmp    0x414bfe
414c4b:	85 c0                	test   %eax,%eax
414c4d:	74 0c                	je     0x414c5b
414c4f:	53                   	push   %ebx
414c50:	e8 bb 00 00 00       	call   0x414d10
414c55:	59                   	pop    %ecx
414c56:	e9 5c ff ff ff       	jmp    0x414bb7
414c5b:	8b 7d d4             	mov    -0x2c(%ebp),%edi
414c5e:	6a 04                	push   $0x4
414c60:	e8 59 f7 ff ff       	call   0x4143be
414c65:	59                   	pop    %ecx
414c66:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414c6a:	03 f6                	add    %esi,%esi
414c6c:	8b 54 f7 24          	mov    0x24(%edi,%esi,8),%edx
414c70:	83 c9 ff             	or     $0xffffffff,%ecx
414c73:	85 d2                	test   %edx,%edx
414c75:	74 1a                	je     0x414c91
414c77:	8b c1                	mov    %ecx,%eax
414c79:	f0 0f c1 02          	lock xadd %eax,(%edx)
414c7d:	75 12                	jne    0x414c91
414c7f:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
414c83:	e8 88 00 00 00       	call   0x414d10
414c88:	59                   	pop    %ecx
414c89:	83 64 f7 24 00       	andl   $0x0,0x24(%edi,%esi,8)
414c8e:	83 c9 ff             	or     $0xffffffff,%ecx
414c91:	8b 45 dc             	mov    -0x24(%ebp),%eax
414c94:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
414c9b:	75 27                	jne    0x414cc4
414c9d:	f6 05 b0 bc 43 00 01 	testb  $0x1,0x43bcb0
414ca4:	75 1e                	jne    0x414cc4
414ca6:	8b 44 f7 24          	mov    0x24(%edi,%esi,8),%eax
414caa:	85 c0                	test   %eax,%eax
414cac:	74 16                	je     0x414cc4
414cae:	f0 0f c1 08          	lock xadd %ecx,(%eax)
414cb2:	49                   	dec    %ecx
414cb3:	75 0f                	jne    0x414cc4
414cb5:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
414cb9:	e8 52 00 00 00       	call   0x414d10
414cbe:	59                   	pop    %ecx
414cbf:	83 64 f7 24 00       	andl   $0x0,0x24(%edi,%esi,8)
414cc4:	8b 47 0c             	mov    0xc(%edi),%eax
414cc7:	89 03                	mov    %eax,(%ebx)
414cc9:	89 5c f7 24          	mov    %ebx,0x24(%edi,%esi,8)
414ccd:	8b 5d e0             	mov    -0x20(%ebp),%ebx
414cd0:	89 5c f7 1c          	mov    %ebx,0x1c(%edi,%esi,8)
414cd4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
414cdb:	e8 0b 00 00 00       	call   0x414ceb
414ce0:	8b c3                	mov    %ebx,%eax
414ce2:	e8 7f 29 ff ff       	call   0x407666
414ce7:	c3                   	ret
414ce8:	8b 5d e0             	mov    -0x20(%ebp),%ebx
414ceb:	6a 04                	push   $0x4
414ced:	e8 14 f7 ff ff       	call   0x414406
414cf2:	59                   	pop    %ecx
414cf3:	c3                   	ret
414cf4:	8b ff                	mov    %edi,%edi
414cf6:	55                   	push   %ebp
414cf7:	8b ec                	mov    %esp,%ebp
414cf9:	8b 4d 08             	mov    0x8(%ebp),%ecx
414cfc:	33 c0                	xor    %eax,%eax
414cfe:	38 01                	cmp    %al,(%ecx)
414d00:	74 0c                	je     0x414d0e
414d02:	3b 45 0c             	cmp    0xc(%ebp),%eax
414d05:	74 07                	je     0x414d0e
414d07:	40                   	inc    %eax
414d08:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
414d0c:	75 f4                	jne    0x414d02
414d0e:	5d                   	pop    %ebp
414d0f:	c3                   	ret
414d10:	8b ff                	mov    %edi,%edi
414d12:	55                   	push   %ebp
414d13:	8b ec                	mov    %esp,%ebp
414d15:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
414d19:	74 2d                	je     0x414d48
414d1b:	ff 75 08             	push   0x8(%ebp)
414d1e:	6a 00                	push   $0x0
414d20:	ff 35 dc 9f 83 02    	push   0x2839fdc
414d26:	ff 15 d0 71 42 00    	call   *0x4271d0
414d2c:	85 c0                	test   %eax,%eax
414d2e:	75 18                	jne    0x414d48
414d30:	56                   	push   %esi
414d31:	e8 35 fd ff ff       	call   0x414a6b
414d36:	8b f0                	mov    %eax,%esi
414d38:	ff 15 c4 71 42 00    	call   *0x4271c4
414d3e:	50                   	push   %eax
414d3f:	e8 ae fc ff ff       	call   0x4149f2
414d44:	59                   	pop    %ecx
414d45:	89 06                	mov    %eax,(%esi)
414d47:	5e                   	pop    %esi
414d48:	5d                   	pop    %ebp
414d49:	c3                   	ret
414d4a:	8b ff                	mov    %edi,%edi
414d4c:	55                   	push   %ebp
414d4d:	8b ec                	mov    %esp,%ebp
414d4f:	56                   	push   %esi
414d50:	8b 75 08             	mov    0x8(%ebp),%esi
414d53:	83 fe e0             	cmp    $0xffffffe0,%esi
414d56:	77 30                	ja     0x414d88
414d58:	85 f6                	test   %esi,%esi
414d5a:	75 17                	jne    0x414d73
414d5c:	46                   	inc    %esi
414d5d:	eb 14                	jmp    0x414d73
414d5f:	e8 2b 2d 00 00       	call   0x417a8f
414d64:	85 c0                	test   %eax,%eax
414d66:	74 20                	je     0x414d88
414d68:	56                   	push   %esi
414d69:	e8 b5 09 00 00       	call   0x415723
414d6e:	59                   	pop    %ecx
414d6f:	85 c0                	test   %eax,%eax
414d71:	74 15                	je     0x414d88
414d73:	56                   	push   %esi
414d74:	6a 00                	push   $0x0
414d76:	ff 35 dc 9f 83 02    	push   0x2839fdc
414d7c:	ff 15 0c 71 42 00    	call   *0x42710c
414d82:	85 c0                	test   %eax,%eax
414d84:	74 d9                	je     0x414d5f
414d86:	eb 0d                	jmp    0x414d95
414d88:	e8 de fc ff ff       	call   0x414a6b
414d8d:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
414d93:	33 c0                	xor    %eax,%eax
414d95:	5e                   	pop    %esi
414d96:	5d                   	pop    %ebp
414d97:	c3                   	ret
414d98:	8b ff                	mov    %edi,%edi
414d9a:	55                   	push   %ebp
414d9b:	8b ec                	mov    %esp,%ebp
414d9d:	a1 48 96 83 02       	mov    0x2839648,%eax
414da2:	56                   	push   %esi
414da3:	57                   	push   %edi
414da4:	83 f8 05             	cmp    $0x5,%eax
414da7:	7c 7c                	jl     0x414e25
414da9:	8b 75 08             	mov    0x8(%ebp),%esi
414dac:	8b d6                	mov    %esi,%edx
414dae:	83 e2 1f             	and    $0x1f,%edx
414db1:	6a 20                	push   $0x20
414db3:	58                   	pop    %eax
414db4:	2b c2                	sub    %edx,%eax
414db6:	f7 da                	neg    %edx
414db8:	1b d2                	sbb    %edx,%edx
414dba:	23 d0                	and    %eax,%edx
414dbc:	8b 45 0c             	mov    0xc(%ebp),%eax
414dbf:	3b c2                	cmp    %edx,%eax
414dc1:	73 02                	jae    0x414dc5
414dc3:	8b d0                	mov    %eax,%edx
414dc5:	8d 3c 32             	lea    (%edx,%esi,1),%edi
414dc8:	8b ce                	mov    %esi,%ecx
414dca:	3b f7                	cmp    %edi,%esi
414dcc:	74 0a                	je     0x414dd8
414dce:	80 39 00             	cmpb   $0x0,(%ecx)
414dd1:	74 05                	je     0x414dd8
414dd3:	41                   	inc    %ecx
414dd4:	3b cf                	cmp    %edi,%ecx
414dd6:	75 f6                	jne    0x414dce
414dd8:	2b ce                	sub    %esi,%ecx
414dda:	3b ca                	cmp    %edx,%ecx
414ddc:	0f 85 d7 00 00 00    	jne    0x414eb9
414de2:	8b f8                	mov    %eax,%edi
414de4:	03 ce                	add    %esi,%ecx
414de6:	2b fa                	sub    %edx,%edi
414de8:	8b c7                	mov    %edi,%eax
414dea:	83 e0 1f             	and    $0x1f,%eax
414ded:	2b f8                	sub    %eax,%edi