459be8:	8b 44 24 20          	mov    0x20(%esp),%eax
459bec:	8b 4c 24 30          	mov    0x30(%esp),%ecx
459bf0:	69 c0 ff ff 00 00    	imul   $0xffff,%eax,%eax
459bf6:	99                   	cltd
459bf7:	49                   	dec    %ecx
459bf8:	f7 f9                	idiv   %ecx
459bfa:	8b 4c 24 34          	mov    0x34(%esp),%ecx
459bfe:	40                   	inc    %eax
459bff:	89 44 24 14          	mov    %eax,0x14(%esp)
459c03:	8b 44 24 24          	mov    0x24(%esp),%eax
459c07:	69 c0 ff ff 00 00    	imul   $0xffff,%eax,%eax
459c0d:	99                   	cltd
459c0e:	49                   	dec    %ecx
459c0f:	f7 f9                	idiv   %ecx
459c11:	40                   	inc    %eax
459c12:	89 44 24 10          	mov    %eax,0x10(%esp)
459c16:	8d 44 24 10          	lea    0x10(%esp),%eax
459c1a:	50                   	push   %eax
459c1b:	8d 44 24 18          	lea    0x18(%esp),%eax
459c1f:	50                   	push   %eax
459c20:	6a 20                	push   $0x20
459c22:	56                   	push   %esi
459c23:	8b d7                	mov    %edi,%edx
459c25:	8b cb                	mov    %ebx,%ecx
459c27:	e8 5c dc fe ff       	call   0x447888
459c2c:	83 c4 10             	add    $0x10,%esp
459c2f:	84 c0                	test   %al,%al
459c31:	74 97                	je     0x459bca
459c33:	6a 00                	push   $0x0
459c35:	6a 00                	push   $0x0
459c37:	ff 74 24 18          	push   0x18(%esp)
459c3b:	ff 74 24 20          	push   0x20(%esp)
459c3f:	68 01 80 00 00       	push   $0x8001
459c44:	ff 15 80 d5 48 00    	call   *0x48d580
459c4a:	6a 0a                	push   $0xa
459c4c:	59                   	pop    %ecx
459c4d:	e8 06 de fe ff       	call   0x447a58
459c52:	eb c2                	jmp    0x459c16
459c54:	55                   	push   %ebp
459c55:	8b ec                	mov    %esp,%ebp
459c57:	51                   	push   %ecx
459c58:	51                   	push   %ecx
459c59:	8b 45 0c             	mov    0xc(%ebp),%eax
459c5c:	8b 4d 14             	mov    0x14(%ebp),%ecx
459c5f:	53                   	push   %ebx
459c60:	56                   	push   %esi
459c61:	8b 75 08             	mov    0x8(%ebp),%esi
459c64:	03 c6                	add    %esi,%eax
459c66:	89 45 fc             	mov    %eax,-0x4(%ebp)
459c69:	8b 45 10             	mov    0x10(%ebp),%eax
459c6c:	8b d8                	mov    %eax,%ebx
459c6e:	0f af d9             	imul   %ecx,%ebx
459c71:	33 d2                	xor    %edx,%edx
459c73:	c1 e3 02             	shl    $0x2,%ebx
459c76:	8d 04 86             	lea    (%esi,%eax,4),%eax
459c79:	57                   	push   %edi
459c7a:	c1 e1 02             	shl    $0x2,%ecx
459c7d:	42                   	inc    %edx
459c7e:	33 ff                	xor    %edi,%edi
459c80:	89 5d 0c             	mov    %ebx,0xc(%ebp)
459c83:	89 45 08             	mov    %eax,0x8(%ebp)
459c86:	89 4d 10             	mov    %ecx,0x10(%ebp)
459c89:	8b de                	mov    %esi,%ebx
459c8b:	3b f0                	cmp    %eax,%esi
459c8d:	73 5f                	jae    0x459cee
459c8f:	b9 ae 15 00 00       	mov    $0x15ae,%ecx
459c94:	0f b6 46 02          	movzbl 0x2(%esi),%eax
459c98:	03 d0                	add    %eax,%edx
459c9a:	0f b6 46 01          	movzbl 0x1(%esi),%eax
459c9e:	03 fa                	add    %edx,%edi
459ca0:	03 d0                	add    %eax,%edx
459ca2:	0f b6 06             	movzbl (%esi),%eax
459ca5:	03 75 0c             	add    0xc(%ebp),%esi
459ca8:	03 fa                	add    %edx,%edi
459caa:	03 d0                	add    %eax,%edx
459cac:	03 fa                	add    %edx,%edi
459cae:	3b 75 fc             	cmp    -0x4(%ebp),%esi
459cb1:	72 05                	jb     0x459cb8
459cb3:	03 5d 10             	add    0x10(%ebp),%ebx
459cb6:	8b f3                	mov    %ebx,%esi
459cb8:	83 e9 03             	sub    $0x3,%ecx
459cbb:	74 05                	je     0x459cc2
459cbd:	3b 5d 08             	cmp    0x8(%ebp),%ebx
459cc0:	72 d2                	jb     0x459c94
459cc2:	8b ca                	mov    %edx,%ecx
459cc4:	c1 e9 10             	shr    $0x10,%ecx
459cc7:	6b c9 0f             	imul   $0xf,%ecx,%ecx
459cca:	0f b7 d2             	movzwl %dx,%edx
459ccd:	03 d1                	add    %ecx,%edx
459ccf:	8b cf                	mov    %edi,%ecx
459cd1:	c1 e9 10             	shr    $0x10,%ecx
459cd4:	6b c9 0f             	imul   $0xf,%ecx,%ecx
459cd7:	0f b7 ff             	movzwl %di,%edi
459cda:	03 f9                	add    %ecx,%edi
459cdc:	3b 5d 08             	cmp    0x8(%ebp),%ebx
459cdf:	72 ae                	jb     0x459c8f
459ce1:	bb f1 ff 00 00       	mov    $0xfff1,%ebx
459ce6:	3b d3                	cmp    %ebx,%edx
459ce8:	72 09                	jb     0x459cf3
459cea:	2b d3                	sub    %ebx,%edx
459cec:	eb 05                	jmp    0x459cf3
459cee:	bb f1 ff 00 00       	mov    $0xfff1,%ebx
459cf3:	8b cf                	mov    %edi,%ecx
459cf5:	c1 e9 10             	shr    $0x10,%ecx
459cf8:	6b c9 0f             	imul   $0xf,%ecx,%ecx
459cfb:	0f b7 c7             	movzwl %di,%eax
459cfe:	03 c8                	add    %eax,%ecx
459d00:	3b cb                	cmp    %ebx,%ecx
459d02:	72 02                	jb     0x459d06
459d04:	2b cb                	sub    %ebx,%ecx
459d06:	c1 e1 10             	shl    $0x10,%ecx
459d09:	0b ca                	or     %edx,%ecx
459d0b:	89 4d 08             	mov    %ecx,0x8(%ebp)
459d0e:	db 45 08             	fildl  0x8(%ebp)
459d11:	79 06                	jns    0x459d19
459d13:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
459d19:	5f                   	pop    %edi
459d1a:	dd 5d f8             	fstpl  -0x8(%ebp)
459d1d:	dd 45 f8             	fldl   -0x8(%ebp)
459d20:	5e                   	pop    %esi
459d21:	5b                   	pop    %ebx
459d22:	c9                   	leave
459d23:	c2 10 00             	ret    $0x10
459d26:	55                   	push   %ebp
459d27:	8b ec                	mov    %esp,%ebp
459d29:	51                   	push   %ecx
459d2a:	51                   	push   %ecx
459d2b:	8b 45 0c             	mov    0xc(%ebp),%eax
459d2e:	53                   	push   %ebx
459d2f:	56                   	push   %esi
459d30:	8b 75 08             	mov    0x8(%ebp),%esi
459d33:	03 c6                	add    %esi,%eax
459d35:	89 45 08             	mov    %eax,0x8(%ebp)
459d38:	8b 45 10             	mov    0x10(%ebp),%eax
459d3b:	8b d8                	mov    %eax,%ebx
459d3d:	0f af 5d 14          	imul   0x14(%ebp),%ebx
459d41:	8d 04 86             	lea    (%esi,%eax,4),%eax
459d44:	89 45 10             	mov    %eax,0x10(%ebp)
459d47:	8b 45 14             	mov    0x14(%ebp),%eax
459d4a:	83 ca ff             	or     $0xffffffff,%edx
459d4d:	c1 e3 02             	shl    $0x2,%ebx
459d50:	c1 e0 02             	shl    $0x2,%eax
459d53:	57                   	push   %edi
459d54:	89 45 0c             	mov    %eax,0xc(%ebp)
459d57:	8b fe                	mov    %esi,%edi
459d59:	0f b6 46 02          	movzbl 0x2(%esi),%eax
459d5d:	0f b6 ca             	movzbl %dl,%ecx
459d60:	33 c8                	xor    %eax,%ecx
459d62:	0f b6 46 01          	movzbl 0x1(%esi),%eax
459d66:	c1 ea 08             	shr    $0x8,%edx
459d69:	33 14 8d 70 fb 4b 00 	xor    0x4bfb70(,%ecx,4),%edx
459d70:	0f b6 ca             	movzbl %dl,%ecx
459d73:	33 c8                	xor    %eax,%ecx
459d75:	0f b6 06             	movzbl (%esi),%eax
459d78:	c1 ea 08             	shr    $0x8,%edx
459d7b:	33 14 8d 70 fb 4b 00 	xor    0x4bfb70(,%ecx,4),%edx
459d82:	03 f3                	add    %ebx,%esi
459d84:	0f b6 ca             	movzbl %dl,%ecx
459d87:	33 c8                	xor    %eax,%ecx
459d89:	c1 ea 08             	shr    $0x8,%edx
459d8c:	33 14 8d 70 fb 4b 00 	xor    0x4bfb70(,%ecx,4),%edx
459d93:	3b 75 08             	cmp    0x8(%ebp),%esi
459d96:	72 05                	jb     0x459d9d
459d98:	03 7d 0c             	add    0xc(%ebp),%edi
459d9b:	8b f7                	mov    %edi,%esi
459d9d:	3b 7d 10             	cmp    0x10(%ebp),%edi
459da0:	72 b7                	jb     0x459d59
459da2:	f7 d2                	not    %edx
459da4:	89 55 08             	mov    %edx,0x8(%ebp)
459da7:	db 45 08             	fildl  0x8(%ebp)
459daa:	85 d2                	test   %edx,%edx
459dac:	79 06                	jns    0x459db4
459dae:	dc 05 00 6a 4b 00    	faddl  0x4b6a00
459db4:	5f                   	pop    %edi
459db5:	dd 5d f8             	fstpl  -0x8(%ebp)
459db8:	dd 45 f8             	fldl   -0x8(%ebp)
459dbb:	5e                   	pop    %esi
459dbc:	5b                   	pop    %ebx
459dbd:	c9                   	leave
459dbe:	c2 10 00             	ret    $0x10
459dc1:	55                   	push   %ebp
459dc2:	8b ec                	mov    %esp,%ebp
459dc4:	83 ec 48             	sub    $0x48,%esp
459dc7:	53                   	push   %ebx
459dc8:	56                   	push   %esi
459dc9:	8b 75 0c             	mov    0xc(%ebp),%esi
459dcc:	57                   	push   %edi
459dcd:	8b 46 08             	mov    0x8(%esi),%eax
459dd0:	8b 16                	mov    (%esi),%edx
459dd2:	8b 7e 04             	mov    0x4(%esi),%edi
459dd5:	3b c2                	cmp    %edx,%eax
459dd7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
459dda:	8b 4e 0c             	mov    0xc(%esi),%ecx
459ddd:	0f 9c c3             	setl   %bl
459de0:	3b cf                	cmp    %edi,%ecx
459de2:	0f 9c c7             	setl   %bh
459de5:	88 5d ff             	mov    %bl,-0x1(%ebp)
459de8:	88 7d 0f             	mov    %bh,0xf(%ebp)
459deb:	84 db                	test   %bl,%bl
459ded:	74 05                	je     0x459df4
459def:	89 06                	mov    %eax,(%esi)
459df1:	89 56 08             	mov    %edx,0x8(%esi)
459df4:	84 ff                	test   %bh,%bh
459df6:	74 06                	je     0x459dfe
459df8:	89 4e 04             	mov    %ecx,0x4(%esi)
459dfb:	89 7e 0c             	mov    %edi,0xc(%esi)
459dfe:	ff 75 08             	push   0x8(%ebp)
459e01:	8d 45 e4             	lea    -0x1c(%ebp),%eax
459e04:	50                   	push   %eax
459e05:	8b 45 f0             	mov    -0x10(%ebp),%eax
459e08:	ff b0 08 01 00 00    	push   0x108(%eax)
459e0e:	e8 31 c7 ff ff       	call   0x456544
459e13:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
459e16:	8b 45 e8             	mov    -0x18(%ebp),%eax
459e19:	01 4e 08             	add    %ecx,0x8(%esi)
459e1c:	01 46 0c             	add    %eax,0xc(%esi)
459e1f:	01 0e                	add    %ecx,(%esi)
459e21:	01 46 04             	add    %eax,0x4(%esi)
459e24:	8b 7e 08             	mov    0x8(%esi),%edi
459e27:	8b 5e 0c             	mov    0xc(%esi),%ebx
459e2a:	2b 3e                	sub    (%esi),%edi
459e2c:	2b 5e 04             	sub    0x4(%esi),%ebx
459e2f:	47                   	inc    %edi
459e30:	43                   	inc    %ebx
459e31:	6a 00                	push   $0x0
459e33:	89 5d f4             	mov    %ebx,-0xc(%ebp)
459e36:	ff 15 10 d6 48 00    	call   *0x48d610
459e3c:	53                   	push   %ebx
459e3d:	57                   	push   %edi
459e3e:	50                   	push   %eax
459e3f:	89 45 f8             	mov    %eax,-0x8(%ebp)
459e42:	ff 15 ec d0 48 00    	call   *0x48d0ec
459e48:	ff 75 f8             	push   -0x8(%ebp)
459e4b:	89 45 08             	mov    %eax,0x8(%ebp)
459e4e:	ff 15 f0 d0 48 00    	call   *0x48d0f0
459e54:	ff 75 08             	push   0x8(%ebp)
459e57:	89 45 f0             	mov    %eax,-0x10(%ebp)
459e5a:	50                   	push   %eax
459e5b:	ff 15 04 d1 48 00    	call   *0x48d104
459e61:	8a 75 0f             	mov    0xf(%ebp),%dh
459e64:	89 45 ec             	mov    %eax,-0x14(%ebp)
459e67:	8b cb                	mov    %ebx,%ecx
459e69:	84 f6                	test   %dh,%dh
459e6b:	74 02                	je     0x459e6f
459e6d:	f7 d9                	neg    %ecx
459e6f:	8a 55 ff             	mov    -0x1(%ebp),%dl
459e72:	8b c7                	mov    %edi,%eax
459e74:	84 d2                	test   %dl,%dl
459e76:	74 02                	je     0x459e7a
459e78:	f7 d8                	neg    %eax
459e7a:	84 f6                	test   %dh,%dh
459e7c:	74 05                	je     0x459e83
459e7e:	8b 5e 0c             	mov    0xc(%esi),%ebx
459e81:	eb 03                	jmp    0x459e86
459e83:	8b 5e 04             	mov    0x4(%esi),%ebx
459e86:	89 5d 0c             	mov    %ebx,0xc(%ebp)
459e89:	8b 5d f4             	mov    -0xc(%ebp),%ebx
459e8c:	84 d2                	test   %dl,%dl
459e8e:	74 05                	je     0x459e95
459e90:	8b 56 08             	mov    0x8(%esi),%edx
459e93:	eb 02                	jmp    0x459e97
459e95:	8b 16                	mov    (%esi),%edx
459e97:	8b 75 f0             	mov    -0x10(%ebp),%esi
459e9a:	68 20 00 cc 00       	push   $0xcc0020
459e9f:	51                   	push   %ecx
459ea0:	50                   	push   %eax
459ea1:	ff 75 0c             	push   0xc(%ebp)
459ea4:	52                   	push   %edx
459ea5:	ff 75 f8             	push   -0x8(%ebp)
459ea8:	53                   	push   %ebx
459ea9:	57                   	push   %edi
459eaa:	6a 00                	push   $0x0
459eac:	6a 00                	push   $0x0
459eae:	56                   	push   %esi
459eaf:	ff 15 08 d1 48 00    	call   *0x48d108
459eb5:	8b c3                	mov    %ebx,%eax
459eb7:	f7 d8                	neg    %eax
459eb9:	89 45 c0             	mov    %eax,-0x40(%ebp)
459ebc:	6a 20                	push   $0x20
459ebe:	33 c0                	xor    %eax,%eax
459ec0:	40                   	inc    %eax
459ec1:	33 c9                	xor    %ecx,%ecx
459ec3:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
459ec7:	58                   	pop    %eax
459ec8:	51                   	push   %ecx
459ec9:	66 89 45 c6          	mov    %ax,-0x3a(%ebp)
459ecd:	8d 45 b8             	lea    -0x48(%ebp),%eax
459ed0:	50                   	push   %eax
459ed1:	51                   	push   %ecx
459ed2:	51                   	push   %ecx
459ed3:	51                   	push   %ecx
459ed4:	ff 75 08             	push   0x8(%ebp)
459ed7:	c7 45 b8 28 00 00 00 	movl   $0x28,-0x48(%ebp)
459ede:	56                   	push   %esi
459edf:	8b 35 0c d1 48 00    	mov    0x48d10c,%esi
459ee5:	89 7d bc             	mov    %edi,-0x44(%ebp)
459ee8:	89 4d c8             	mov    %ecx,-0x38(%ebp)
459eeb:	ff d6                	call   *%esi
459eed:	8b 4d cc             	mov    -0x34(%ebp),%ecx
459ef0:	8b 45 10             	mov    0x10(%ebp),%eax
459ef3:	51                   	push   %ecx
459ef4:	89 08                	mov    %ecx,(%eax)
459ef6:	e8 ef 55 fc ff       	call   0x41f4ea
459efb:	59                   	pop    %ecx
459efc:	6a 00                	push   $0x0
459efe:	8b f8                	mov    %eax,%edi
459f00:	8d 45 b8             	lea    -0x48(%ebp),%eax
459f03:	50                   	push   %eax
459f04:	57                   	push   %edi
459f05:	53                   	push   %ebx
459f06:	8b 5d f0             	mov    -0x10(%ebp),%ebx
459f09:	6a 00                	push   $0x0
459f0b:	ff 75 08             	push   0x8(%ebp)
459f0e:	53                   	push   %ebx
459f0f:	ff d6                	call   *%esi
459f11:	ff 75 ec             	push   -0x14(%ebp)
459f14:	8b f0                	mov    %eax,%esi
459f16:	53                   	push   %ebx
459f17:	ff 15 04 d1 48 00    	call   *0x48d104
459f1d:	ff 75 08             	push   0x8(%ebp)
459f20:	ff 15 c8 d0 48 00    	call   *0x48d0c8
459f26:	53                   	push   %ebx
459f27:	ff 15 10 d1 48 00    	call   *0x48d110
459f2d:	ff 75 f8             	push   -0x8(%ebp)
459f30:	6a 00                	push   $0x0
459f32:	ff 15 0c d6 48 00    	call   *0x48d60c
459f38:	85 f6                	test   %esi,%esi
459f3a:	74 04                	je     0x459f40
459f3c:	8b c7                	mov    %edi,%eax
459f3e:	eb 09                	jmp    0x459f49
459f40:	57                   	push   %edi
459f41:	e8 18 56 fc ff       	call   0x41f55e
459f46:	59                   	pop    %ecx
459f47:	33 c0                	xor    %eax,%eax
459f49:	5f                   	pop    %edi
459f4a:	5e                   	pop    %esi
459f4b:	5b                   	pop    %ebx
459f4c:	c9                   	leave
459f4d:	c2 0c 00             	ret    $0xc
459f50:	55                   	push   %ebp
459f51:	8b ec                	mov    %esp,%ebp
459f53:	81 ec b0 00 00 00    	sub    $0xb0,%esp
459f59:	53                   	push   %ebx
459f5a:	56                   	push   %esi
459f5b:	83 ce ff             	or     $0xffffffff,%esi
459f5e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
459f61:	89 75 f8             	mov    %esi,-0x8(%ebp)
459f64:	0b de                	or     %esi,%ebx
459f66:	c7 45 fc 00 00 c0 88 	movl   $0x88c00000,-0x4(%ebp)
459f6d:	c7 45 f4 08 00 00 00 	movl   $0x8,-0xc(%ebp)