453daa:	53                   	push   %ebx
453dab:	8b 5d 08             	mov    0x8(%ebp),%ebx
453dae:	56                   	push   %esi
453daf:	57                   	push   %edi
453db0:	75 04                	jne    0x453db6
453db2:	33 c0                	xor    %eax,%eax
453db4:	eb 13                	jmp    0x453dc9
453db6:	8d 45 08             	lea    0x8(%ebp),%eax
453db9:	50                   	push   %eax
453dba:	6a 06                	push   $0x6
453dbc:	68 68 4e 60 00       	push   $0x604e68
453dc1:	e8 0a c7 16 00       	call   0x5c04d0
453dc6:	83 c4 0c             	add    $0xc,%esp
453dc9:	8b 75 0c             	mov    0xc(%ebp),%esi
453dcc:	89 45 08             	mov    %eax,0x8(%ebp)
453dcf:	85 f6                	test   %esi,%esi
453dd1:	74 1d                	je     0x453df0
453dd3:	e8 98 2d 17 00       	call   0x5c6b70
453dd8:	6a 01                	push   $0x1
453dda:	ff 75 14             	push   0x14(%ebp)
453ddd:	8b 08                	mov    (%eax),%ecx
453ddf:	ff 75 10             	push   0x10(%ebp)
453de2:	56                   	push   %esi
453de3:	8b 51 10             	mov    0x10(%ecx),%edx
453de6:	8b c8                	mov    %eax,%ecx
453de8:	6a 00                	push   $0x0
453dea:	ff d2                	call   *%edx
453dec:	8b f8                	mov    %eax,%edi
453dee:	eb 02                	jmp    0x453df2
453df0:	33 ff                	xor    %edi,%edi
453df2:	85 db                	test   %ebx,%ebx
453df4:	74 68                	je     0x453e5e
453df6:	e8 75 2d 17 00       	call   0x5c6b70
453dfb:	53                   	push   %ebx
453dfc:	8b c8                	mov    %eax,%ecx
453dfe:	8b 10                	mov    (%eax),%edx
453e00:	ff 52 20             	call   *0x20(%edx)
453e03:	8b f0                	mov    %eax,%esi
453e05:	85 f6                	test   %esi,%esi
453e07:	74 42                	je     0x453e4b
453e09:	33 c9                	xor    %ecx,%ecx
453e0b:	8b d6                	mov    %esi,%edx
453e0d:	f7 da                	neg    %edx
453e0f:	13 c9                	adc    %ecx,%ecx
453e11:	f7 d9                	neg    %ecx
453e13:	51                   	push   %ecx
453e14:	52                   	push   %edx
453e15:	68 c0 3d 69 00       	push   $0x693dc0
453e1a:	e8 01 45 17 00       	call   0x5c8320
453e1f:	83 c4 0c             	add    $0xc,%esp
453e22:	85 ff                	test   %edi,%edi
453e24:	74 13                	je     0x453e39
453e26:	8b 45 0c             	mov    0xc(%ebp),%eax
453e29:	3b f0                	cmp    %eax,%esi
453e2b:	0f 42 c6             	cmovb  %esi,%eax
453e2e:	50                   	push   %eax
453e2f:	53                   	push   %ebx
453e30:	57                   	push   %edi
453e31:	e8 9a ef 17 00       	call   0x5d2dd0
453e36:	83 c4 0c             	add    $0xc,%esp
453e39:	8b c3                	mov    %ebx,%eax
453e3b:	eb 03                	jmp    0x453e40
453e3d:	8d 49 00             	lea    0x0(%ecx),%ecx
453e40:	c6 00 00             	movb   $0x0,(%eax)
453e43:	8d 40 01             	lea    0x1(%eax),%eax
453e46:	83 ee 01             	sub    $0x1,%esi
453e49:	75 f5                	jne    0x453e40
453e4b:	e8 20 2d 17 00       	call   0x5c6b70
453e50:	6a 00                	push   $0x0
453e52:	6a 00                	push   $0x0
453e54:	6a 00                	push   $0x0
453e56:	8b 10                	mov    (%eax),%edx
453e58:	8b c8                	mov    %eax,%ecx
453e5a:	53                   	push   %ebx
453e5b:	ff 52 18             	call   *0x18(%edx)
453e5e:	85 ff                	test   %edi,%edi
453e60:	74 1f                	je     0x453e81
453e62:	e8 09 2d 17 00       	call   0x5c6b70
453e67:	57                   	push   %edi
453e68:	8b 08                	mov    (%eax),%ecx
453e6a:	8b 51 20             	mov    0x20(%ecx),%edx
453e6d:	8b c8                	mov    %eax,%ecx
453e6f:	ff d2                	call   *%edx
453e71:	6a 00                	push   $0x0
453e73:	50                   	push   %eax
453e74:	68 c0 3d 69 00       	push   $0x693dc0
453e79:	e8 a2 44 17 00       	call   0x5c8320
453e7e:	83 c4 0c             	add    $0xc,%esp
453e81:	8b 45 08             	mov    0x8(%ebp),%eax
453e84:	85 c0                	test   %eax,%eax
453e86:	74 09                	je     0x453e91
453e88:	50                   	push   %eax
453e89:	e8 02 c6 16 00       	call   0x5c0490
453e8e:	83 c4 04             	add    $0x4,%esp
453e91:	8b c7                	mov    %edi,%eax
453e93:	5f                   	pop    %edi
453e94:	5e                   	pop    %esi
453e95:	5b                   	pop    %ebx
453e96:	5d                   	pop    %ebp
453e97:	c3                   	ret
453e98:	cc                   	int3
453e99:	cc                   	int3
453e9a:	cc                   	int3
453e9b:	cc                   	int3
453e9c:	cc                   	int3
453e9d:	cc                   	int3
453e9e:	cc                   	int3
453e9f:	cc                   	int3
453ea0:	55                   	push   %ebp
453ea1:	8b ec                	mov    %esp,%ebp
453ea3:	8b 45 08             	mov    0x8(%ebp),%eax
453ea6:	83 c0 0f             	add    $0xf,%eax
453ea9:	83 e0 f0             	and    $0xfffffff0,%eax
453eac:	5d                   	pop    %ebp
453ead:	c3                   	ret
453eae:	cc                   	int3
453eaf:	cc                   	int3
453eb0:	55                   	push   %ebp
453eb1:	8b ec                	mov    %esp,%ebp
453eb3:	8b 4d 10             	mov    0x10(%ebp),%ecx
453eb6:	8b 55 0c             	mov    0xc(%ebp),%edx
453eb9:	57                   	push   %edi
453eba:	8b 7d 08             	mov    0x8(%ebp),%edi
453ebd:	85 c9                	test   %ecx,%ecx
453ebf:	0f 8e ae 00 00 00    	jle    0x453f73
453ec5:	56                   	push   %esi
453ec6:	8b 75 14             	mov    0x14(%ebp),%esi
453ec9:	85 f6                	test   %esi,%esi
453ecb:	0f 8e a1 00 00 00    	jle    0x453f72
453ed1:	83 e1 fe             	and    $0xfffffffe,%ecx
453ed4:	83 e6 fe             	and    $0xfffffffe,%esi
453ed7:	89 4d 10             	mov    %ecx,0x10(%ebp)
453eda:	89 75 14             	mov    %esi,0x14(%ebp)
453edd:	3b f9                	cmp    %ecx,%edi
453edf:	7f 08                	jg     0x453ee9
453ee1:	3b d6                	cmp    %esi,%edx
453ee3:	0f 8e 89 00 00 00    	jle    0x453f72
453ee9:	db 45 08             	fildl  0x8(%ebp)
453eec:	83 ec 08             	sub    $0x8,%esp
453eef:	d9 5d 08             	fstps  0x8(%ebp)
453ef2:	d9 45 08             	flds   0x8(%ebp)
453ef5:	db 45 0c             	fildl  0xc(%ebp)
453ef8:	d9 5d 08             	fstps  0x8(%ebp)
453efb:	d9 45 08             	flds   0x8(%ebp)
453efe:	db 45 10             	fildl  0x10(%ebp)
453f01:	d9 5d 10             	fstps  0x10(%ebp)
453f04:	d9 45 10             	flds   0x10(%ebp)
453f07:	d8 f2                	fdiv   %st(2),%st
453f09:	d9 5d 10             	fstps  0x10(%ebp)
453f0c:	d9 45 10             	flds   0x10(%ebp)
453f0f:	db 45 14             	fildl  0x14(%ebp)
453f12:	d9 5d 10             	fstps  0x10(%ebp)
453f15:	d9 45 10             	flds   0x10(%ebp)
453f18:	d8 f2                	fdiv   %st(2),%st
453f1a:	d9 5d 10             	fstps  0x10(%ebp)
453f1d:	d9 45 10             	flds   0x10(%ebp)
453f20:	db f1                	fcomi  %st(1),%st
453f22:	72 28                	jb     0x453f4c
453f24:	dd d8                	fstp   %st(0)
453f26:	8b f9                	mov    %ecx,%edi
453f28:	dd da                	fstp   %st(2)
453f2a:	de c9                	fmulp  %st,%st(1)
453f2c:	d9 5d 10             	fstps  0x10(%ebp)
453f2f:	d9 45 10             	flds   0x10(%ebp)
453f32:	dd 1c 24             	fstpl  (%esp)
453f35:	e8 96 25 18 00       	call   0x5d64d0
453f3a:	d9 5d 10             	fstps  0x10(%ebp)
453f3d:	d9 45 10             	flds   0x10(%ebp)
453f40:	83 c4 08             	add    $0x8,%esp
453f43:	e8 48 d6 17 00       	call   0x5d1590
453f48:	8b d0                	mov    %eax,%edx
453f4a:	eb 26                	jmp    0x453f72
453f4c:	dd d9                	fstp   %st(1)
453f4e:	dd d9                	fstp   %st(1)
453f50:	de c9                	fmulp  %st,%st(1)
453f52:	d9 5d 10             	fstps  0x10(%ebp)
453f55:	d9 45 10             	flds   0x10(%ebp)
453f58:	dd 1c 24             	fstpl  (%esp)
453f5b:	e8 70 25 18 00       	call   0x5d64d0
453f60:	d9 5d 10             	fstps  0x10(%ebp)
453f63:	d9 45 10             	flds   0x10(%ebp)
453f66:	83 c4 08             	add    $0x8,%esp
453f69:	e8 22 d6 17 00       	call   0x5d1590
453f6e:	8b f8                	mov    %eax,%edi
453f70:	8b d6                	mov    %esi,%edx
453f72:	5e                   	pop    %esi
453f73:	8b 45 18             	mov    0x18(%ebp),%eax
453f76:	8d 4f 01             	lea    0x1(%edi),%ecx
453f79:	83 e1 fe             	and    $0xfffffffe,%ecx
453f7c:	5f                   	pop    %edi
453f7d:	89 08                	mov    %ecx,(%eax)
453f7f:	8d 4a 01             	lea    0x1(%edx),%ecx
453f82:	8b 45 1c             	mov    0x1c(%ebp),%eax
453f85:	83 e1 fe             	and    $0xfffffffe,%ecx
453f88:	89 08                	mov    %ecx,(%eax)
453f8a:	5d                   	pop    %ebp
453f8b:	c3                   	ret
453f8c:	cc                   	int3
453f8d:	cc                   	int3
453f8e:	cc                   	int3
453f8f:	cc                   	int3
453f90:	55                   	push   %ebp
453f91:	8b ec                	mov    %esp,%ebp
453f93:	83 ec 08             	sub    $0x8,%esp
453f96:	53                   	push   %ebx
453f97:	8b 5d 0c             	mov    0xc(%ebp),%ebx
453f9a:	8b 1b                	mov    (%ebx),%ebx
453f9c:	f6 c3 0f             	test   $0xf,%bl
453f9f:	74 26                	je     0x453fc7
453fa1:	80 3d cc 3d 69 00 00 	cmpb   $0x0,0x693dcc
453fa8:	0f 85 b3 00 00 00    	jne    0x454061
453fae:	68 4c 4f 60 00       	push   $0x604f4c
453fb3:	c6 05 cc 3d 69 00 01 	movb   $0x1,0x693dcc
453fba:	e8 21 7e 16 00       	call   0x5bbde0
453fbf:	83 c4 04             	add    $0x4,%esp
453fc2:	5b                   	pop    %ebx
453fc3:	8b e5                	mov    %ebp,%esp
453fc5:	5d                   	pop    %ebp
453fc6:	c3                   	ret
453fc7:	8b 55 08             	mov    0x8(%ebp),%edx
453fca:	8b 42 48             	mov    0x48(%edx),%eax
453fcd:	89 45 fc             	mov    %eax,-0x4(%ebp)
453fd0:	a8 0f                	test   $0xf,%al
453fd2:	74 27                	je     0x453ffb
453fd4:	80 3d cc 3d 69 00 00 	cmpb   $0x0,0x693dcc
453fdb:	0f 85 80 00 00 00    	jne    0x454061
453fe1:	50                   	push   %eax
453fe2:	68 80 4f 60 00       	push   $0x604f80
453fe7:	c6 05 cc 3d 69 00 01 	movb   $0x1,0x693dcc
453fee:	e8 ed 7d 16 00       	call   0x5bbde0
453ff3:	83 c4 08             	add    $0x8,%esp
453ff6:	5b                   	pop    %ebx
453ff7:	8b e5                	mov    %ebp,%esp
453ff9:	5d                   	pop    %ebp
453ffa:	c3                   	ret
453ffb:	8b 4d 18             	mov    0x18(%ebp),%ecx
453ffe:	85 c9                	test   %ecx,%ecx
454000:	75 06                	jne    0x454008
454002:	8b 4a 50             	mov    0x50(%edx),%ecx
454005:	89 4d 18             	mov    %ecx,0x18(%ebp)
454008:	8b 55 14             	mov    0x14(%ebp),%edx
45400b:	56                   	push   %esi
45400c:	57                   	push   %edi
45400d:	8b 7d 10             	mov    0x10(%ebp),%edi
454010:	3b d0                	cmp    %eax,%edx
454012:	75 20                	jne    0x454034
454014:	0f af c1             	imul   %ecx,%eax
454017:	50                   	push   %eax
454018:	57                   	push   %edi
454019:	53                   	push   %ebx
45401a:	89 45 fc             	mov    %eax,-0x4(%ebp)
45401d:	e8 ae ed 17 00       	call   0x5d2dd0
454022:	8b 45 0c             	mov    0xc(%ebp),%eax
454025:	83 c4 0c             	add    $0xc,%esp
454028:	03 5d fc             	add    -0x4(%ebp),%ebx
45402b:	5f                   	pop    %edi
45402c:	5e                   	pop    %esi
45402d:	89 18                	mov    %ebx,(%eax)
45402f:	5b                   	pop    %ebx
454030:	8b e5                	mov    %ebp,%esp
454032:	5d                   	pop    %ebp
454033:	c3                   	ret
454034:	0f 47 d0             	cmova  %eax,%edx
454037:	89 55 f8             	mov    %edx,-0x8(%ebp)
45403a:	85 c9                	test   %ecx,%ecx
45403c:	74 1c                	je     0x45405a
45403e:	8b 75 fc             	mov    -0x4(%ebp),%esi
454041:	52                   	push   %edx
454042:	57                   	push   %edi
454043:	53                   	push   %ebx
454044:	e8 87 ed 17 00       	call   0x5d2dd0
454049:	03 7d 14             	add    0x14(%ebp),%edi
45404c:	83 c4 0c             	add    $0xc,%esp
45404f:	8b 55 f8             	mov    -0x8(%ebp),%edx
454052:	03 de                	add    %esi,%ebx
454054:	83 6d 18 01          	subl   $0x1,0x18(%ebp)
454058:	75 e7                	jne    0x454041
45405a:	8b 45 0c             	mov    0xc(%ebp),%eax
45405d:	5f                   	pop    %edi
45405e:	5e                   	pop    %esi
45405f:	89 18                	mov    %ebx,(%eax)
454061:	5b                   	pop    %ebx
454062:	8b e5                	mov    %ebp,%esp
454064:	5d                   	pop    %ebp
454065:	c3                   	ret
454066:	cc                   	int3
454067:	cc                   	int3
454068:	cc                   	int3
454069:	cc                   	int3
45406a:	cc                   	int3
45406b:	cc                   	int3
45406c:	cc                   	int3
45406d:	cc                   	int3
45406e:	cc                   	int3
45406f:	cc                   	int3
454070:	55                   	push   %ebp
454071:	8b ec                	mov    %esp,%ebp
454073:	51                   	push   %ecx
454074:	56                   	push   %esi
454075:	8b f1                	mov    %ecx,%esi
454077:	6a 01                	push   $0x1
454079:	8d 46 0c             	lea    0xc(%esi),%eax
45407c:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
454083:	50                   	push   %eax
454084:	c7 06 0c 00 00 00    	movl   $0xc,(%esi)
45408a:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
454091:	89 46 04             	mov    %eax,0x4(%esi)
454094:	ff 15 24 20 60 00    	call   *0x602024
45409a:	83 f8 01             	cmp    $0x1,%eax
45409d:	0f 85 19 01 00 00    	jne    0x4541bc
4540a3:	53                   	push   %ebx
4540a4:	57                   	push   %edi
4540a5:	6a 44                	push   $0x44
4540a7:	c7 45 fc 44 00 00 00 	movl   $0x44,-0x4(%ebp)
4540ae:	e8 0c d2 17 00       	call   0x5d12bf
4540b3:	83 c4 04             	add    $0x4,%esp
4540b6:	8b f8                	mov    %eax,%edi
4540b8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4540bb:	50                   	push   %eax
4540bc:	57                   	push   %edi
4540bd:	6a 00                	push   $0x0
4540bf:	6a 1a                	push   $0x1a
4540c1:	ff 15 34 20 60 00    	call   *0x602034
4540c7:	57                   	push   %edi
4540c8:	ff 15 30 20 60 00    	call   *0x602030
4540ce:	8d 04 40             	lea    (%eax,%eax,2),%eax
4540d1:	8d 1c 85 08 00 00 00 	lea    0x8(,%eax,4),%ebx
4540d8:	e8 93 2a 17 00       	call   0x5c6b70
4540dd:	6a 01                	push   $0x1
4540df:	6a 00                	push   $0x0
4540e1:	6a 2e                	push   $0x2e
4540e3:	8b 08                	mov    (%eax),%ecx
4540e5:	68 c0 4f 60 00       	push   $0x604fc0
4540ea:	53                   	push   %ebx
4540eb:	8b 51 08             	mov    0x8(%ecx),%edx
4540ee:	8b c8                	mov    %eax,%ecx
4540f0:	ff d2                	call   *%edx
4540f2:	89 46 20             	mov    %eax,0x20(%esi)
4540f5:	85 c0                	test   %eax,%eax
4540f7:	0f 84 b6 00 00 00    	je     0x4541b3
4540fd:	53                   	push   %ebx
4540fe:	6a 00                	push   $0x0
454100:	50                   	push   %eax
454101:	e8 6a eb 17 00       	call   0x5d2c70
454106:	83 c4 0c             	add    $0xc,%esp
454109:	6a 02                	push   $0x2
45410b:	53                   	push   %ebx
45410c:	ff 76 20             	push   0x20(%esi)
45410f:	ff 15 28 20 60 00    	call   *0x602028
454115:	85 c0                	test   %eax,%eax