42ebb6:	5b                   	pop    %ebx
42ebb7:	e8 04 bc fe ff       	call   0x41a7c0
42ebbc:	c9                   	leave
42ebbd:	c3                   	ret
42ebbe:	8b ff                	mov    %edi,%edi
42ebc0:	55                   	push   %ebp
42ebc1:	8b ec                	mov    %esp,%ebp
42ebc3:	51                   	push   %ecx
42ebc4:	51                   	push   %ecx
42ebc5:	56                   	push   %esi
42ebc6:	8d 45 fc             	lea    -0x4(%ebp),%eax
42ebc9:	8b f1                	mov    %ecx,%esi
42ebcb:	50                   	push   %eax
42ebcc:	e8 56 91 fe ff       	call   0x417d27
42ebd1:	8b 46 18             	mov    0x18(%esi),%eax
42ebd4:	5e                   	pop    %esi
42ebd5:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
42ebdb:	8b 45 fc             	mov    -0x4(%ebp),%eax
42ebde:	85 c0                	test   %eax,%eax
42ebe0:	74 16                	je     0x42ebf8
42ebe2:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ebe5:	8d 55 fc             	lea    -0x4(%ebp),%edx
42ebe8:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42ebed:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42ebf0:	89 45 f8             	mov    %eax,-0x8(%ebp)
42ebf3:	e8 6c ca fe ff       	call   0x41b664
42ebf8:	c9                   	leave
42ebf9:	c3                   	ret
42ebfa:	cc                   	int3
42ebfb:	cc                   	int3
42ebfc:	cc                   	int3
42ebfd:	cc                   	int3
42ebfe:	cc                   	int3
42ebff:	cc                   	int3
42ec00:	8b ff                	mov    %edi,%edi
42ec02:	55                   	push   %ebp
42ec03:	8b ec                	mov    %esp,%ebp
42ec05:	56                   	push   %esi
42ec06:	8b 75 28             	mov    0x28(%ebp),%esi
42ec09:	85 f6                	test   %esi,%esi
42ec0b:	0f 84 f6 00 00 00    	je     0x42ed07
42ec11:	8b 45 0c             	mov    0xc(%ebp),%eax
42ec14:	33 c9                	xor    %ecx,%ecx
42ec16:	2b c1                	sub    %ecx,%eax
42ec18:	0f 84 b2 00 00 00    	je     0x42ecd0
42ec1e:	83 e8 01             	sub    $0x1,%eax
42ec21:	0f 85 e0 00 00 00    	jne    0x42ed07
42ec27:	8a 45 10             	mov    0x10(%ebp),%al
42ec2a:	8b d1                	mov    %ecx,%edx
42ec2c:	88 46 28             	mov    %al,0x28(%esi)
42ec2f:	8b 45 14             	mov    0x14(%ebp),%eax
42ec32:	89 46 10             	mov    %eax,0x10(%esi)
42ec35:	8b 45 18             	mov    0x18(%ebp),%eax
42ec38:	89 46 14             	mov    %eax,0x14(%esi)
42ec3b:	8b 45 1c             	mov    0x1c(%ebp),%eax
42ec3e:	89 46 18             	mov    %eax,0x18(%esi)
42ec41:	8b 45 20             	mov    0x20(%ebp),%eax
42ec44:	89 46 1c             	mov    %eax,0x1c(%esi)
42ec47:	33 c0                	xor    %eax,%eax
42ec49:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
42ec50:	66 3b 46 2a          	cmp    0x2a(%esi),%ax
42ec54:	0f 83 ad 00 00 00    	jae    0x42ed07
42ec5a:	53                   	push   %ebx
42ec5b:	57                   	push   %edi
42ec5c:	8b 46 34             	mov    0x34(%esi),%eax
42ec5f:	8a 4e 28             	mov    0x28(%esi),%cl
42ec62:	38 0c 02             	cmp    %cl,(%edx,%eax,1)
42ec65:	76 04                	jbe    0x42ec6b
42ec67:	84 c9                	test   %cl,%cl
42ec69:	75 32                	jne    0x42ec9d
42ec6b:	8b 46 30             	mov    0x30(%esi),%eax
42ec6e:	8b 3c d0             	mov    (%eax,%edx,8),%edi
42ec71:	8b 5c d0 04          	mov    0x4(%eax,%edx,8),%ebx
42ec75:	8b c7                	mov    %edi,%eax
42ec77:	0b c3                	or     %ebx,%eax
42ec79:	74 26                	je     0x42eca1
42ec7b:	8b cf                	mov    %edi,%ecx
42ec7d:	8b c3                	mov    %ebx,%eax
42ec7f:	23 4e 10             	and    0x10(%esi),%ecx
42ec82:	23 46 14             	and    0x14(%esi),%eax
42ec85:	0b c8                	or     %eax,%ecx
42ec87:	74 14                	je     0x42ec9d
42ec89:	8b 46 18             	mov    0x18(%esi),%eax
42ec8c:	8b 4e 1c             	mov    0x1c(%esi),%ecx
42ec8f:	23 c7                	and    %edi,%eax
42ec91:	23 cb                	and    %ebx,%ecx
42ec93:	3b 46 18             	cmp    0x18(%esi),%eax
42ec96:	75 05                	jne    0x42ec9d
42ec98:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
42ec9b:	74 04                	je     0x42eca1
42ec9d:	32 db                	xor    %bl,%bl
42ec9f:	eb 02                	jmp    0x42eca3
42eca1:	b3 01                	mov    $0x1,%bl
42eca3:	8b 46 2c             	mov    0x2c(%esi),%eax
42eca6:	8b ca                	mov    %edx,%ecx
42eca8:	c1 e9 05             	shr    $0x5,%ecx
42ecab:	8b fa                	mov    %edx,%edi
42ecad:	83 e7 1f             	and    $0x1f,%edi
42ecb0:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
42ecb3:	8b 01                	mov    (%ecx),%eax
42ecb5:	84 db                	test   %bl,%bl
42ecb7:	74 05                	je     0x42ecbe
42ecb9:	0f ab f8             	bts    %edi,%eax
42ecbc:	eb 03                	jmp    0x42ecc1
42ecbe:	0f b3 f8             	btr    %edi,%eax
42ecc1:	89 01                	mov    %eax,(%ecx)
42ecc3:	42                   	inc    %edx
42ecc4:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
42ecc8:	3b d0                	cmp    %eax,%edx
42ecca:	72 90                	jb     0x42ec5c
42eccc:	5f                   	pop    %edi
42eccd:	5b                   	pop    %ebx
42ecce:	eb 37                	jmp    0x42ed07
42ecd0:	0f b7 46 2a          	movzwl 0x2a(%esi),%eax
42ecd4:	89 4e 24             	mov    %ecx,0x24(%esi)
42ecd7:	88 4e 28             	mov    %cl,0x28(%esi)
42ecda:	89 4e 10             	mov    %ecx,0x10(%esi)
42ecdd:	89 4e 14             	mov    %ecx,0x14(%esi)
42ece0:	89 4e 18             	mov    %ecx,0x18(%esi)
42ece3:	89 4e 1c             	mov    %ecx,0x1c(%esi)
42ece6:	66 85 c0             	test   %ax,%ax
42ece9:	74 1c                	je     0x42ed07
42eceb:	48                   	dec    %eax
42ecec:	6a 20                	push   $0x20
42ecee:	59                   	pop    %ecx
42ecef:	99                   	cltd
42ecf0:	f7 f9                	idiv   %ecx
42ecf2:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
42ecf9:	50                   	push   %eax
42ecfa:	6a 00                	push   $0x0
42ecfc:	ff 76 2c             	push   0x2c(%esi)
42ecff:	e8 5d f3 fe ff       	call   0x41e061
42ed04:	83 c4 0c             	add    $0xc,%esp
42ed07:	5e                   	pop    %esi
42ed08:	5d                   	pop    %ebp
42ed09:	c2 24 00             	ret    $0x24
42ed0c:	8b 0d 00 80 43 00    	mov    0x438000,%ecx
42ed12:	8b c1                	mov    %ecx,%eax
42ed14:	8b 15 04 80 43 00    	mov    0x438004,%edx
42ed1a:	0b c2                	or     %edx,%eax
42ed1c:	75 01                	jne    0x42ed1f
42ed1e:	c3                   	ret
42ed1f:	52                   	push   %edx
42ed20:	51                   	push   %ecx
42ed21:	ff 15 64 a3 43 00    	call   *0x43a364
42ed27:	83 25 00 80 43 00 00 	andl   $0x0,0x438000
42ed2e:	83 25 04 80 43 00 00 	andl   $0x0,0x438004
42ed35:	c3                   	ret
42ed36:	8b ff                	mov    %edi,%edi
42ed38:	55                   	push   %ebp
42ed39:	8b ec                	mov    %esp,%ebp
42ed3b:	8b 4d 10             	mov    0x10(%ebp),%ecx
42ed3e:	33 c0                	xor    %eax,%eax
42ed40:	56                   	push   %esi
42ed41:	8b 35 08 80 43 00    	mov    0x438008,%esi
42ed47:	57                   	push   %edi
42ed48:	89 41 04             	mov    %eax,0x4(%ecx)
42ed4b:	8b fa                	mov    %edx,%edi
42ed4d:	85 f6                	test   %esi,%esi
42ed4f:	75 08                	jne    0x42ed59
42ed51:	89 01                	mov    %eax,(%ecx)
42ed53:	8b d0                	mov    %eax,%edx
42ed55:	8b f0                	mov    %eax,%esi
42ed57:	eb 08                	jmp    0x42ed61
42ed59:	6a 02                	push   $0x2
42ed5b:	89 31                	mov    %esi,(%ecx)
42ed5d:	0f b7 36             	movzwl (%esi),%esi
42ed60:	5a                   	pop    %edx
42ed61:	51                   	push   %ecx
42ed62:	ff 75 0c             	push   0xc(%ebp)
42ed65:	89 71 08             	mov    %esi,0x8(%ecx)
42ed68:	50                   	push   %eax
42ed69:	50                   	push   %eax
42ed6a:	57                   	push   %edi
42ed6b:	89 51 0c             	mov    %edx,0xc(%ecx)
42ed6e:	ff 35 04 80 43 00    	push   0x438004
42ed74:	ff 35 00 80 43 00    	push   0x438000
42ed7a:	ff 15 68 a3 43 00    	call   *0x43a368
42ed80:	5f                   	pop    %edi
42ed81:	5e                   	pop    %esi
42ed82:	5d                   	pop    %ebp
42ed83:	c2 0c 00             	ret    $0xc
42ed86:	8b ff                	mov    %edi,%edi
42ed88:	55                   	push   %ebp
42ed89:	8b ec                	mov    %esp,%ebp
42ed8b:	83 ec 24             	sub    $0x24,%esp
42ed8e:	a1 08 85 43 00       	mov    0x438508,%eax
42ed93:	33 c5                	xor    %ebp,%eax
42ed95:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ed98:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
42ed9c:	8d 45 08             	lea    0x8(%ebp),%eax
42ed9f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42eda3:	89 45 ec             	mov    %eax,-0x14(%ebp)
42eda6:	8d 45 dc             	lea    -0x24(%ebp),%eax
42eda9:	50                   	push   %eax
42edaa:	6a 02                	push   $0x2
42edac:	51                   	push   %ecx
42edad:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
42edb4:	e8 7d ff ff ff       	call   0x42ed36
42edb9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42edbc:	33 cd                	xor    %ebp,%ecx
42edbe:	e8 fd b9 fe ff       	call   0x41a7c0
42edc3:	c9                   	leave
42edc4:	c2 04 00             	ret    $0x4
42edc7:	8b ff                	mov    %edi,%edi
42edc9:	55                   	push   %ebp
42edca:	8b ec                	mov    %esp,%ebp
42edcc:	83 ec 34             	sub    $0x34,%esp
42edcf:	a1 08 85 43 00       	mov    0x438508,%eax
42edd4:	33 c5                	xor    %ebp,%eax
42edd6:	89 45 fc             	mov    %eax,-0x4(%ebp)
42edd9:	8d 45 08             	lea    0x8(%ebp),%eax
42eddc:	33 d2                	xor    %edx,%edx
42edde:	89 45 dc             	mov    %eax,-0x24(%ebp)
42ede1:	8d 45 0c             	lea    0xc(%ebp),%eax
42ede4:	6a 04                	push   $0x4
42ede6:	59                   	pop    %ecx
42ede7:	89 45 ec             	mov    %eax,-0x14(%ebp)
42edea:	8d 45 cc             	lea    -0x34(%ebp),%eax
42eded:	50                   	push   %eax
42edee:	6a 03                	push   $0x3
42edf0:	89 55 e0             	mov    %edx,-0x20(%ebp)
42edf3:	89 55 e8             	mov    %edx,-0x18(%ebp)
42edf6:	89 55 f0             	mov    %edx,-0x10(%ebp)
42edf9:	89 55 f8             	mov    %edx,-0x8(%ebp)
42edfc:	ba 80 55 40 00       	mov    $0x405580,%edx
42ee01:	51                   	push   %ecx
42ee02:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42ee05:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42ee08:	e8 29 ff ff ff       	call   0x42ed36
42ee0d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ee10:	33 cd                	xor    %ebp,%ecx
42ee12:	e8 a9 b9 fe ff       	call   0x41a7c0
42ee17:	c9                   	leave
42ee18:	c2 08 00             	ret    $0x8
42ee1b:	8b ff                	mov    %edi,%edi
42ee1d:	55                   	push   %ebp
42ee1e:	8b ec                	mov    %esp,%ebp
42ee20:	83 ec 24             	sub    $0x24,%esp
42ee23:	a1 08 85 43 00       	mov    0x438508,%eax
42ee28:	33 c5                	xor    %ebp,%eax
42ee2a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ee2d:	53                   	push   %ebx
42ee2e:	57                   	push   %edi
42ee2f:	8b fa                	mov    %edx,%edi
42ee31:	33 db                	xor    %ebx,%ebx
42ee33:	8b 55 08             	mov    0x8(%ebp),%edx
42ee36:	85 d2                	test   %edx,%edx
42ee38:	74 1f                	je     0x42ee59
42ee3a:	8b ca                	mov    %edx,%ecx
42ee3c:	56                   	push   %esi
42ee3d:	8d 71 02             	lea    0x2(%ecx),%esi
42ee40:	66 8b 01             	mov    (%ecx),%ax
42ee43:	83 c1 02             	add    $0x2,%ecx
42ee46:	66 3b c3             	cmp    %bx,%ax
42ee49:	75 f5                	jne    0x42ee40
42ee4b:	2b ce                	sub    %esi,%ecx
42ee4d:	d1 f9                	sar    $1,%ecx
42ee4f:	5e                   	pop    %esi
42ee50:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
42ee57:	eb 03                	jmp    0x42ee5c
42ee59:	6a 0a                	push   $0xa
42ee5b:	59                   	pop    %ecx
42ee5c:	85 d2                	test   %edx,%edx
42ee5e:	75 05                	jne    0x42ee65
42ee60:	ba f4 74 40 00       	mov    $0x4074f4,%edx
42ee65:	8d 45 dc             	lea    -0x24(%ebp),%eax
42ee68:	89 55 ec             	mov    %edx,-0x14(%ebp)
42ee6b:	50                   	push   %eax
42ee6c:	6a 02                	push   $0x2
42ee6e:	51                   	push   %ecx
42ee6f:	8b d7                	mov    %edi,%edx
42ee71:	89 5d f0             	mov    %ebx,-0x10(%ebp)
42ee74:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42ee77:	89 5d f8             	mov    %ebx,-0x8(%ebp)
42ee7a:	e8 b7 fe ff ff       	call   0x42ed36
42ee7f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42ee82:	5f                   	pop    %edi
42ee83:	33 cd                	xor    %ebp,%ecx
42ee85:	5b                   	pop    %ebx
42ee86:	e8 35 b9 fe ff       	call   0x41a7c0
42ee8b:	c9                   	leave
42ee8c:	c2 04 00             	ret    $0x4
42ee8f:	8b ff                	mov    %edi,%edi
42ee91:	55                   	push   %ebp
42ee92:	8b ec                	mov    %esp,%ebp
42ee94:	83 ec 14             	sub    $0x14,%esp
42ee97:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42ee9a:	56                   	push   %esi
42ee9b:	8b 75 08             	mov    0x8(%ebp),%esi
42ee9e:	0f b6 01             	movzbl (%ecx),%eax
42eea1:	8d 51 01             	lea    0x1(%ecx),%edx
42eea4:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42eea7:	c1 e0 18             	shl    $0x18,%eax
42eeaa:	89 45 ec             	mov    %eax,-0x14(%ebp)
42eead:	0f b7 02             	movzwl (%edx),%eax
42eeb0:	89 45 f0             	mov    %eax,-0x10(%ebp)
42eeb3:	8b 42 02             	mov    0x2(%edx),%eax
42eeb6:	89 45 f4             	mov    %eax,-0xc(%ebp)
42eeb9:	8b 42 06             	mov    0x6(%edx),%eax
42eebc:	83 c2 0a             	add    $0xa,%edx
42eebf:	89 45 f8             	mov    %eax,-0x8(%ebp)
42eec2:	8b 46 04             	mov    0x4(%esi),%eax
42eec5:	83 61 04 00          	andl   $0x0,0x4(%ecx)
42eec9:	89 01                	mov    %eax,(%ecx)
42eecb:	8b 46 04             	mov    0x4(%esi),%eax
42eece:	51                   	push   %ecx
42eecf:	ff 75 18             	push   0x18(%ebp)
42eed2:	0f b7 00             	movzwl (%eax),%eax
42eed5:	83 61 14 00          	andl   $0x0,0x14(%ecx)
42eed9:	ff 75 14             	push   0x14(%ebp)
42eedc:	89 41 08             	mov    %eax,0x8(%ecx)
42eedf:	ff 75 10             	push   0x10(%ebp)
42eee2:	c7 41 0c 02 00 00 00 	movl   $0x2,0xc(%ecx)
42eee9:	89 51 10             	mov    %edx,0x10(%ecx)
42eeec:	0f b7 02             	movzwl (%edx),%eax
42eeef:	89 41 18             	mov    %eax,0x18(%ecx)
42eef2:	b8 b4 6f 40 00       	mov    $0x406fb4,%eax
42eef7:	c7 41 1c 01 00 00 00 	movl   $0x1,0x1c(%ecx)
42eefe:	2d d0 63 40 00       	sub    $0x4063d0,%eax
42ef03:	89 45 fc             	mov    %eax,-0x4(%ebp)
42ef06:	8d 45 ec             	lea    -0x14(%ebp),%eax
42ef09:	50                   	push   %eax
42ef0a:	ff 76 1c             	push   0x1c(%esi)
42ef0d:	ff 76 18             	push   0x18(%esi)
42ef10:	ff 15 68 a3 43 00    	call   *0x43a368
42ef16:	5e                   	pop    %esi
42ef17:	c9                   	leave
42ef18:	c2 18 00             	ret    $0x18
42ef1b:	8b ff                	mov    %edi,%edi
42ef1d:	53                   	push   %ebx
42ef1e:	56                   	push   %esi
42ef1f:	8b f1                	mov    %ecx,%esi
42ef21:	33 db                	xor    %ebx,%ebx
42ef23:	57                   	push   %edi
42ef24:	39 1e                	cmp    %ebx,(%esi)
42ef26:	74 45                	je     0x42ef6d
42ef28:	8d 7e 0c             	lea    0xc(%esi),%edi
42ef2b:	eb 2f                	jmp    0x42ef5c
42ef2d:	39 5e 08             	cmp    %ebx,0x8(%esi)
42ef30:	74 07                	je     0x42ef39
42ef32:	89 5e 04             	mov    %ebx,0x4(%esi)
42ef35:	8b c3                	mov    %ebx,%eax
42ef37:	eb 06                	jmp    0x42ef3f
42ef39:	ff 46 04             	incl   0x4(%esi)
42ef3c:	8b 46 04             	mov    0x4(%esi),%eax
42ef3f:	8b 16                	mov    (%esi),%edx
42ef41:	89 5e 08             	mov    %ebx,0x8(%esi)
42ef44:	3b 42 0c             	cmp    0xc(%edx),%eax
42ef47:	73 24                	jae    0x42ef6d