4249f4:	8b ec                	mov    %esp,%ebp
4249f6:	83 ec 10             	sub    $0x10,%esp
4249f9:	a1 98 f2 42 00       	mov    0x42f298,%eax
4249fe:	33 c5                	xor    %ebp,%eax
424a00:	89 45 fc             	mov    %eax,-0x4(%ebp)
424a03:	53                   	push   %ebx
424a04:	56                   	push   %esi
424a05:	8b 75 0c             	mov    0xc(%ebp),%esi
424a08:	f6 46 0c 40          	testb  $0x40,0xc(%esi)
424a0c:	57                   	push   %edi
424a0d:	0f 85 36 01 00 00    	jne    0x424b49
424a13:	56                   	push   %esi
424a14:	e8 9e ff ff ff       	call   0x4249b7
424a19:	59                   	pop    %ecx
424a1a:	bb c8 fe 42 00       	mov    $0x42fec8,%ebx
424a1f:	83 f8 ff             	cmp    $0xffffffff,%eax
424a22:	74 2e                	je     0x424a52
424a24:	56                   	push   %esi
424a25:	e8 8d ff ff ff       	call   0x4249b7
424a2a:	59                   	pop    %ecx
424a2b:	83 f8 fe             	cmp    $0xfffffffe,%eax
424a2e:	74 22                	je     0x424a52
424a30:	56                   	push   %esi
424a31:	e8 81 ff ff ff       	call   0x4249b7
424a36:	c1 f8 05             	sar    $0x5,%eax
424a39:	56                   	push   %esi
424a3a:	8d 3c 85 a0 f7 44 00 	lea    0x44f7a0(,%eax,4),%edi
424a41:	e8 71 ff ff ff       	call   0x4249b7
424a46:	83 e0 1f             	and    $0x1f,%eax
424a49:	59                   	pop    %ecx
424a4a:	c1 e0 06             	shl    $0x6,%eax
424a4d:	03 07                	add    (%edi),%eax
424a4f:	59                   	pop    %ecx
424a50:	eb 02                	jmp    0x424a54
424a52:	8b c3                	mov    %ebx,%eax
424a54:	8a 40 24             	mov    0x24(%eax),%al
424a57:	24 7f                	and    $0x7f,%al
424a59:	3c 02                	cmp    $0x2,%al
424a5b:	0f 84 e8 00 00 00    	je     0x424b49
424a61:	56                   	push   %esi
424a62:	e8 50 ff ff ff       	call   0x4249b7
424a67:	59                   	pop    %ecx
424a68:	83 f8 ff             	cmp    $0xffffffff,%eax
424a6b:	74 2e                	je     0x424a9b
424a6d:	56                   	push   %esi
424a6e:	e8 44 ff ff ff       	call   0x4249b7
424a73:	59                   	pop    %ecx
424a74:	83 f8 fe             	cmp    $0xfffffffe,%eax
424a77:	74 22                	je     0x424a9b
424a79:	56                   	push   %esi
424a7a:	e8 38 ff ff ff       	call   0x4249b7
424a7f:	c1 f8 05             	sar    $0x5,%eax
424a82:	56                   	push   %esi
424a83:	8d 3c 85 a0 f7 44 00 	lea    0x44f7a0(,%eax,4),%edi
424a8a:	e8 28 ff ff ff       	call   0x4249b7
424a8f:	83 e0 1f             	and    $0x1f,%eax
424a92:	59                   	pop    %ecx
424a93:	c1 e0 06             	shl    $0x6,%eax
424a96:	03 07                	add    (%edi),%eax
424a98:	59                   	pop    %ecx
424a99:	eb 02                	jmp    0x424a9d
424a9b:	8b c3                	mov    %ebx,%eax
424a9d:	8a 40 24             	mov    0x24(%eax),%al
424aa0:	24 7f                	and    $0x7f,%al
424aa2:	3c 01                	cmp    $0x1,%al
424aa4:	0f 84 9f 00 00 00    	je     0x424b49
424aaa:	56                   	push   %esi
424aab:	e8 07 ff ff ff       	call   0x4249b7
424ab0:	59                   	pop    %ecx
424ab1:	83 f8 ff             	cmp    $0xffffffff,%eax
424ab4:	74 2e                	je     0x424ae4
424ab6:	56                   	push   %esi
424ab7:	e8 fb fe ff ff       	call   0x4249b7
424abc:	59                   	pop    %ecx
424abd:	83 f8 fe             	cmp    $0xfffffffe,%eax
424ac0:	74 22                	je     0x424ae4
424ac2:	56                   	push   %esi
424ac3:	e8 ef fe ff ff       	call   0x4249b7
424ac8:	c1 f8 05             	sar    $0x5,%eax
424acb:	56                   	push   %esi
424acc:	8d 3c 85 a0 f7 44 00 	lea    0x44f7a0(,%eax,4),%edi
424ad3:	e8 df fe ff ff       	call   0x4249b7
424ad8:	83 e0 1f             	and    $0x1f,%eax
424adb:	59                   	pop    %ecx
424adc:	c1 e0 06             	shl    $0x6,%eax
424adf:	03 07                	add    (%edi),%eax
424ae1:	59                   	pop    %ecx
424ae2:	eb 02                	jmp    0x424ae6
424ae4:	8b c3                	mov    %ebx,%eax
424ae6:	f6 40 04 80          	testb  $0x80,0x4(%eax)
424aea:	74 5d                	je     0x424b49
424aec:	ff 75 08             	push   0x8(%ebp)
424aef:	8d 45 f4             	lea    -0xc(%ebp),%eax
424af2:	6a 05                	push   $0x5
424af4:	50                   	push   %eax
424af5:	8d 45 f0             	lea    -0x10(%ebp),%eax
424af8:	50                   	push   %eax
424af9:	e8 b4 1d 00 00       	call   0x4268b2
424afe:	83 c4 10             	add    $0x10,%esp
424b01:	85 c0                	test   %eax,%eax
424b03:	74 07                	je     0x424b0c
424b05:	b8 ff ff 00 00       	mov    $0xffff,%eax
424b0a:	eb 5d                	jmp    0x424b69
424b0c:	33 ff                	xor    %edi,%edi
424b0e:	39 7d f0             	cmp    %edi,-0x10(%ebp)
424b11:	7e 30                	jle    0x424b43
424b13:	ff 4e 04             	decl   0x4(%esi)
424b16:	78 12                	js     0x424b2a
424b18:	8b 06                	mov    (%esi),%eax
424b1a:	8a 4c 3d f4          	mov    -0xc(%ebp,%edi,1),%cl
424b1e:	88 08                	mov    %cl,(%eax)
424b20:	8b 0e                	mov    (%esi),%ecx
424b22:	0f b6 01             	movzbl (%ecx),%eax
424b25:	41                   	inc    %ecx
424b26:	89 0e                	mov    %ecx,(%esi)
424b28:	eb 0e                	jmp    0x424b38
424b2a:	0f be 44 3d f4       	movsbl -0xc(%ebp,%edi,1),%eax
424b2f:	56                   	push   %esi
424b30:	50                   	push   %eax
424b31:	e8 22 ae ff ff       	call   0x41f958
424b36:	59                   	pop    %ecx
424b37:	59                   	pop    %ecx
424b38:	83 f8 ff             	cmp    $0xffffffff,%eax
424b3b:	74 c8                	je     0x424b05
424b3d:	47                   	inc    %edi
424b3e:	3b 7d f0             	cmp    -0x10(%ebp),%edi
424b41:	7c d0                	jl     0x424b13
424b43:	66 8b 45 08          	mov    0x8(%ebp),%ax
424b47:	eb 20                	jmp    0x424b69
424b49:	83 46 04 fe          	addl   $0xfffffffe,0x4(%esi)
424b4d:	78 0d                	js     0x424b5c
424b4f:	8b 0e                	mov    (%esi),%ecx
424b51:	8b 45 08             	mov    0x8(%ebp),%eax
424b54:	66 89 01             	mov    %ax,(%ecx)
424b57:	83 06 02             	addl   $0x2,(%esi)
424b5a:	eb 0d                	jmp    0x424b69
424b5c:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
424b60:	56                   	push   %esi
424b61:	50                   	push   %eax
424b62:	e8 6b 1a 00 00       	call   0x4265d2
424b67:	59                   	pop    %ecx
424b68:	59                   	pop    %ecx
424b69:	8b 4d fc             	mov    -0x4(%ebp),%ecx
424b6c:	5f                   	pop    %edi
424b6d:	5e                   	pop    %esi
424b6e:	33 cd                	xor    %ebp,%ecx
424b70:	5b                   	pop    %ebx
424b71:	e8 58 96 ff ff       	call   0x41e1ce
424b76:	c9                   	leave
424b77:	c3                   	ret
424b78:	a1 98 f2 42 00       	mov    0x42f298,%eax
424b7d:	83 c8 01             	or     $0x1,%eax
424b80:	33 c9                	xor    %ecx,%ecx
424b82:	39 05 48 f6 44 00    	cmp    %eax,0x44f648
424b88:	0f 94 c1             	sete   %cl
424b8b:	8b c1                	mov    %ecx,%eax
424b8d:	c3                   	ret
424b8e:	8b ff                	mov    %edi,%edi
424b90:	55                   	push   %ebp
424b91:	8b ec                	mov    %esp,%ebp
424b93:	83 ec 10             	sub    $0x10,%esp
424b96:	53                   	push   %ebx
424b97:	56                   	push   %esi
424b98:	8b 75 0c             	mov    0xc(%ebp),%esi
424b9b:	33 db                	xor    %ebx,%ebx
424b9d:	3b f3                	cmp    %ebx,%esi
424b9f:	74 15                	je     0x424bb6
424ba1:	39 5d 10             	cmp    %ebx,0x10(%ebp)
424ba4:	74 10                	je     0x424bb6
424ba6:	38 1e                	cmp    %bl,(%esi)
424ba8:	75 12                	jne    0x424bbc
424baa:	8b 45 08             	mov    0x8(%ebp),%eax
424bad:	3b c3                	cmp    %ebx,%eax
424baf:	74 05                	je     0x424bb6
424bb1:	33 c9                	xor    %ecx,%ecx
424bb3:	66 89 08             	mov    %cx,(%eax)
424bb6:	33 c0                	xor    %eax,%eax
424bb8:	5e                   	pop    %esi
424bb9:	5b                   	pop    %ebx
424bba:	c9                   	leave
424bbb:	c3                   	ret
424bbc:	ff 75 14             	push   0x14(%ebp)
424bbf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
424bc2:	e8 21 7f ff ff       	call   0x41cae8
424bc7:	8b 45 f0             	mov    -0x10(%ebp),%eax
424bca:	39 58 14             	cmp    %ebx,0x14(%eax)
424bcd:	75 1f                	jne    0x424bee
424bcf:	8b 45 08             	mov    0x8(%ebp),%eax
424bd2:	3b c3                	cmp    %ebx,%eax
424bd4:	74 07                	je     0x424bdd
424bd6:	66 0f b6 0e          	movzbw (%esi),%cx
424bda:	66 89 08             	mov    %cx,(%eax)
424bdd:	38 5d fc             	cmp    %bl,-0x4(%ebp)
424be0:	74 07                	je     0x424be9
424be2:	8b 45 f8             	mov    -0x8(%ebp),%eax
424be5:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
424be9:	33 c0                	xor    %eax,%eax
424beb:	40                   	inc    %eax
424bec:	eb ca                	jmp    0x424bb8
424bee:	8d 45 f0             	lea    -0x10(%ebp),%eax
424bf1:	50                   	push   %eax
424bf2:	0f b6 06             	movzbl (%esi),%eax
424bf5:	50                   	push   %eax
424bf6:	e8 7e d6 ff ff       	call   0x422279
424bfb:	59                   	pop    %ecx
424bfc:	59                   	pop    %ecx
424bfd:	85 c0                	test   %eax,%eax
424bff:	74 7d                	je     0x424c7e
424c01:	8b 45 f0             	mov    -0x10(%ebp),%eax
424c04:	8b 88 ac 00 00 00    	mov    0xac(%eax),%ecx
424c0a:	83 f9 01             	cmp    $0x1,%ecx
424c0d:	7e 25                	jle    0x424c34
424c0f:	39 4d 10             	cmp    %ecx,0x10(%ebp)
424c12:	7c 20                	jl     0x424c34
424c14:	33 d2                	xor    %edx,%edx
424c16:	39 5d 08             	cmp    %ebx,0x8(%ebp)
424c19:	0f 95 c2             	setne  %dl
424c1c:	52                   	push   %edx
424c1d:	ff 75 08             	push   0x8(%ebp)
424c20:	51                   	push   %ecx
424c21:	56                   	push   %esi
424c22:	6a 09                	push   $0x9
424c24:	ff 70 04             	push   0x4(%eax)
424c27:	ff 15 2c a2 42 00    	call   *0x42a22c
424c2d:	85 c0                	test   %eax,%eax
424c2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
424c32:	75 10                	jne    0x424c44
424c34:	8b 4d 10             	mov    0x10(%ebp),%ecx
424c37:	3b 88 ac 00 00 00    	cmp    0xac(%eax),%ecx
424c3d:	72 20                	jb     0x424c5f
424c3f:	38 5e 01             	cmp    %bl,0x1(%esi)
424c42:	74 1b                	je     0x424c5f
424c44:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
424c4a:	38 5d fc             	cmp    %bl,-0x4(%ebp)
424c4d:	0f 84 65 ff ff ff    	je     0x424bb8
424c53:	8b 4d f8             	mov    -0x8(%ebp),%ecx
424c56:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
424c5a:	e9 59 ff ff ff       	jmp    0x424bb8
424c5f:	e8 3a 9c ff ff       	call   0x41e89e
424c64:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
424c6a:	38 5d fc             	cmp    %bl,-0x4(%ebp)
424c6d:	74 07                	je     0x424c76
424c6f:	8b 45 f8             	mov    -0x8(%ebp),%eax
424c72:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
424c76:	83 c8 ff             	or     $0xffffffff,%eax
424c79:	e9 3a ff ff ff       	jmp    0x424bb8
424c7e:	33 c0                	xor    %eax,%eax
424c80:	39 5d 08             	cmp    %ebx,0x8(%ebp)
424c83:	0f 95 c0             	setne  %al
424c86:	50                   	push   %eax
424c87:	ff 75 08             	push   0x8(%ebp)
424c8a:	8b 45 f0             	mov    -0x10(%ebp),%eax
424c8d:	6a 01                	push   $0x1
424c8f:	56                   	push   %esi
424c90:	6a 09                	push   $0x9
424c92:	ff 70 04             	push   0x4(%eax)
424c95:	ff 15 2c a2 42 00    	call   *0x42a22c
424c9b:	85 c0                	test   %eax,%eax
424c9d:	0f 85 3a ff ff ff    	jne    0x424bdd
424ca3:	eb ba                	jmp    0x424c5f
424ca5:	8b ff                	mov    %edi,%edi
424ca7:	55                   	push   %ebp
424ca8:	8b ec                	mov    %esp,%ebp
424caa:	6a 00                	push   $0x0
424cac:	ff 75 10             	push   0x10(%ebp)
424caf:	ff 75 0c             	push   0xc(%ebp)
424cb2:	ff 75 08             	push   0x8(%ebp)
424cb5:	e8 d4 fe ff ff       	call   0x424b8e
424cba:	83 c4 10             	add    $0x10,%esp
424cbd:	5d                   	pop    %ebp
424cbe:	c3                   	ret
424cbf:	cc                   	int3
424cc0:	56                   	push   %esi
424cc1:	8b 44 24 14          	mov    0x14(%esp),%eax
424cc5:	0b c0                	or     %eax,%eax
424cc7:	75 28                	jne    0x424cf1
424cc9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
424ccd:	8b 44 24 0c          	mov    0xc(%esp),%eax
424cd1:	33 d2                	xor    %edx,%edx
424cd3:	f7 f1                	div    %ecx
424cd5:	8b d8                	mov    %eax,%ebx
424cd7:	8b 44 24 08          	mov    0x8(%esp),%eax
424cdb:	f7 f1                	div    %ecx
424cdd:	8b f0                	mov    %eax,%esi
424cdf:	8b c3                	mov    %ebx,%eax
424ce1:	f7 64 24 10          	mull   0x10(%esp)
424ce5:	8b c8                	mov    %eax,%ecx
424ce7:	8b c6                	mov    %esi,%eax
424ce9:	f7 64 24 10          	mull   0x10(%esp)
424ced:	03 d1                	add    %ecx,%edx
424cef:	eb 47                	jmp    0x424d38
424cf1:	8b c8                	mov    %eax,%ecx
424cf3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
424cf7:	8b 54 24 0c          	mov    0xc(%esp),%edx
424cfb:	8b 44 24 08          	mov    0x8(%esp),%eax
424cff:	d1 e9                	shr    $1,%ecx
424d01:	d1 db                	rcr    $1,%ebx
424d03:	d1 ea                	shr    $1,%edx
424d05:	d1 d8                	rcr    $1,%eax
424d07:	0b c9                	or     %ecx,%ecx
424d09:	75 f4                	jne    0x424cff
424d0b:	f7 f3                	div    %ebx
424d0d:	8b f0                	mov    %eax,%esi
424d0f:	f7 64 24 14          	mull   0x14(%esp)
424d13:	8b c8                	mov    %eax,%ecx
424d15:	8b 44 24 10          	mov    0x10(%esp),%eax
424d19:	f7 e6                	mul    %esi
424d1b:	03 d1                	add    %ecx,%edx
424d1d:	72 0e                	jb     0x424d2d
424d1f:	3b 54 24 0c          	cmp    0xc(%esp),%edx
424d23:	77 08                	ja     0x424d2d
424d25:	72 0f                	jb     0x424d36
424d27:	3b 44 24 08          	cmp    0x8(%esp),%eax
424d2b:	76 09                	jbe    0x424d36
424d2d:	4e                   	dec    %esi
424d2e:	2b 44 24 10          	sub    0x10(%esp),%eax
424d32:	1b 54 24 14          	sbb    0x14(%esp),%edx
424d36:	33 db                	xor    %ebx,%ebx
424d38:	2b 44 24 08          	sub    0x8(%esp),%eax
424d3c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
424d40:	f7 da                	neg    %edx
424d42:	f7 d8                	neg    %eax
424d44:	83 da 00             	sbb    $0x0,%edx
424d47:	8b ca                	mov    %edx,%ecx
424d49:	8b d3                	mov    %ebx,%edx
424d4b:	8b d9                	mov    %ecx,%ebx
424d4d:	8b c8                	mov    %eax,%ecx
424d4f:	8b c6                	mov    %esi,%eax
424d51:	5e                   	pop    %esi
424d52:	c2 10 00             	ret    $0x10
424d55:	6a 0c                	push   $0xc
424d57:	68 90 da 42 00       	push   $0x42da90
424d5c:	e8 2b a8 ff ff       	call   0x41f58c
424d61:	8b 4d 08             	mov    0x8(%ebp),%ecx
424d64:	33 ff                	xor    %edi,%edi
424d66:	3b cf                	cmp    %edi,%ecx
424d68:	76 2e                	jbe    0x424d98
424d6a:	6a e0                	push   $0xffffffe0
424d6c:	58                   	pop    %eax
424d6d:	33 d2                	xor    %edx,%edx
424d6f:	f7 f1                	div    %ecx
424d71:	3b 45 0c             	cmp    0xc(%ebp),%eax
424d74:	1b c0                	sbb    %eax,%eax
424d76:	40                   	inc    %eax
424d77:	75 1f                	jne    0x424d98
424d79:	e8 20 9b ff ff       	call   0x41e89e
424d7e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
424d84:	57                   	push   %edi
424d85:	57                   	push   %edi
424d86:	57                   	push   %edi