409bd8:	ff 75 10             	push   0x10(%ebp)
409bdb:	ff 75 0c             	push   0xc(%ebp)
409bde:	56                   	push   %esi
409bdf:	ff 75 bc             	push   -0x44(%ebp)
409be2:	e8 59 12 00 00       	call   0x40ae40
409be7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409bea:	83 c4 38             	add    $0x38,%esp
409bed:	83 f9 10             	cmp    $0x10,%ecx
409bf0:	72 28                	jb     0x409c1a
409bf2:	8b 55 d0             	mov    -0x30(%ebp),%edx
409bf5:	41                   	inc    %ecx
409bf6:	8b c2                	mov    %edx,%eax
409bf8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409bfe:	72 10                	jb     0x409c10
409c00:	8b 50 fc             	mov    -0x4(%eax),%edx
409c03:	83 c1 23             	add    $0x23,%ecx
409c06:	2b c2                	sub    %edx,%eax
409c08:	83 c0 fc             	add    $0xfffffffc,%eax
409c0b:	83 f8 1f             	cmp    $0x1f,%eax
409c0e:	77 29                	ja     0x409c39
409c10:	51                   	push   %ecx
409c11:	52                   	push   %edx
409c12:	e8 f7 1c 01 00       	call   0x41b90e
409c17:	83 c4 08             	add    $0x8,%esp
409c1a:	8b c6                	mov    %esi,%eax
409c1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409c1f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409c26:	59                   	pop    %ecx
409c27:	5f                   	pop    %edi
409c28:	5e                   	pop    %esi
409c29:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409c2c:	33 cd                	xor    %ebp,%ecx
409c2e:	e8 9d 1c 01 00       	call   0x41b8d0
409c33:	8b e5                	mov    %ebp,%esp
409c35:	5d                   	pop    %ebp
409c36:	c2 1c 00             	ret    $0x1c
409c39:	e8 41 6e 01 00       	call   0x420a7f
409c3e:	cc                   	int3
409c3f:	cc                   	int3
409c40:	55                   	push   %ebp
409c41:	8b ec                	mov    %esp,%ebp
409c43:	6a ff                	push   $0xffffffff
409c45:	68 2d da 43 00       	push   $0x43da2d
409c4a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409c50:	50                   	push   %eax
409c51:	83 ec 3c             	sub    $0x3c,%esp
409c54:	a1 14 40 45 00       	mov    0x454014,%eax
409c59:	33 c5                	xor    %ebp,%eax
409c5b:	89 45 f0             	mov    %eax,-0x10(%ebp)
409c5e:	56                   	push   %esi
409c5f:	57                   	push   %edi
409c60:	50                   	push   %eax
409c61:	8d 45 f4             	lea    -0xc(%ebp),%eax
409c64:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409c6a:	89 4d bc             	mov    %ecx,-0x44(%ebp)
409c6d:	8b 45 08             	mov    0x8(%ebp),%eax
409c70:	8b 55 14             	mov    0x14(%ebp),%edx
409c73:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
409c7a:	89 45 b8             	mov    %eax,-0x48(%ebp)
409c7d:	89 55 c0             	mov    %edx,-0x40(%ebp)
409c80:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
409c87:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
409c8e:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
409c92:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409c99:	8b 4a 14             	mov    0x14(%edx),%ecx
409c9c:	81 e1 00 30 00 00    	and    $0x3000,%ecx
409ca2:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
409ca8:	75 18                	jne    0x409cc2
409caa:	c7 45 c4 ff ff ff ff 	movl   $0xffffffff,-0x3c(%ebp)
409cb1:	be 0d 00 00 00       	mov    $0xd,%esi
409cb6:	c7 45 cc ff ff ff ff 	movl   $0xffffffff,-0x34(%ebp)
409cbd:	e9 85 00 00 00       	jmp    0x409d47
409cc2:	8b 42 18             	mov    0x18(%edx),%eax
409cc5:	8b 52 1c             	mov    0x1c(%edx),%edx
409cc8:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409ccb:	85 d2                	test   %edx,%edx
409ccd:	7c 0a                	jl     0x409cd9
409ccf:	7f 04                	jg     0x409cd5
409cd1:	85 c0                	test   %eax,%eax
409cd3:	74 04                	je     0x409cd9
409cd5:	8b f0                	mov    %eax,%esi
409cd7:	eb 16                	jmp    0x409cef
409cd9:	0b c2                	or     %edx,%eax
409cdb:	75 0d                	jne    0x409cea
409cdd:	85 c9                	test   %ecx,%ecx
409cdf:	75 05                	jne    0x409ce6
409ce1:	8d 70 01             	lea    0x1(%eax),%esi
409ce4:	eb 61                	jmp    0x409d47
409ce6:	33 f6                	xor    %esi,%esi
409ce8:	eb 05                	jmp    0x409cef
409cea:	be 06 00 00 00       	mov    $0x6,%esi
409cef:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
409cf5:	75 50                	jne    0x409d47
409cf7:	f2 0f 10 4d 1c       	movsd  0x1c(%ebp),%xmm1
409cfc:	0f 28 c1             	movaps %xmm1,%xmm0
409cff:	0f 54 05 30 f7 44 00 	andps  0x44f730,%xmm0
409d06:	66 0f 2f 05 18 f7 44 	comisd 0x44f718,%xmm0
409d0d:	00
409d0e:	76 37                	jbe    0x409d47
409d10:	8d 45 cc             	lea    -0x34(%ebp),%eax
409d13:	50                   	push   %eax
409d14:	83 ec 08             	sub    $0x8,%esp
409d17:	f2 0f 11 0c 24       	movsd  %xmm1,(%esp)
409d1c:	e8 47 c3 01 00       	call   0x426068
409d21:	8b 45 cc             	mov    -0x34(%ebp),%eax
409d24:	83 c4 0c             	add    $0xc,%esp
409d27:	99                   	cltd
409d28:	dd d8                	fstp   %st(0)
409d2a:	33 c2                	xor    %edx,%eax
409d2c:	2b c2                	sub    %edx,%eax
409d2e:	69 c8 97 75 00 00    	imul   $0x7597,%eax,%ecx
409d34:	b8 89 b5 f8 14       	mov    $0x14f8b589,%eax
409d39:	f7 e9                	imul   %ecx
409d3b:	c1 fa 0d             	sar    $0xd,%edx
409d3e:	8b c2                	mov    %edx,%eax
409d40:	c1 e8 1f             	shr    $0x1f,%eax
409d43:	03 c2                	add    %edx,%eax
409d45:	03 f0                	add    %eax,%esi
409d47:	6a 00                	push   $0x0
409d49:	8d 46 32             	lea    0x32(%esi),%eax
409d4c:	50                   	push   %eax
409d4d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409d50:	e8 bb 19 00 00       	call   0x40b710
409d55:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
409d59:	8d 7d d0             	lea    -0x30(%ebp),%edi
409d5c:	f2 0f 10 45 1c       	movsd  0x1c(%ebp),%xmm0
409d61:	0f 43 7d d0          	cmovae -0x30(%ebp),%edi
409d65:	83 ec 08             	sub    $0x8,%esp
409d68:	8b 45 c0             	mov    -0x40(%ebp),%eax
409d6b:	8b 75 e0             	mov    -0x20(%ebp),%esi
409d6e:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
409d73:	ff 75 c4             	push   -0x3c(%ebp)
409d76:	ff 70 14             	push   0x14(%eax)
409d79:	8d 45 e8             	lea    -0x18(%ebp),%eax
409d7c:	6a 00                	push   $0x0
409d7e:	50                   	push   %eax
409d7f:	ff 75 bc             	push   -0x44(%ebp)
409d82:	e8 89 15 00 00       	call   0x40b310
409d87:	83 c4 10             	add    $0x10,%esp
409d8a:	50                   	push   %eax
409d8b:	56                   	push   %esi
409d8c:	57                   	push   %edi
409d8d:	e8 ee 9e ff ff       	call   0x403c80
409d92:	83 7d e4 10          	cmpl   $0x10,-0x1c(%ebp)
409d96:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409d99:	8b 75 b8             	mov    -0x48(%ebp),%esi
409d9c:	0f 43 4d d0          	cmovae -0x30(%ebp),%ecx
409da0:	50                   	push   %eax
409da1:	51                   	push   %ecx
409da2:	ff 75 18             	push   0x18(%ebp)
409da5:	ff 75 c0             	push   -0x40(%ebp)
409da8:	ff 75 10             	push   0x10(%ebp)
409dab:	ff 75 0c             	push   0xc(%ebp)
409dae:	56                   	push   %esi
409daf:	ff 75 bc             	push   -0x44(%ebp)
409db2:	e8 89 10 00 00       	call   0x40ae40
409db7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409dba:	83 c4 38             	add    $0x38,%esp
409dbd:	83 f9 10             	cmp    $0x10,%ecx
409dc0:	72 28                	jb     0x409dea
409dc2:	8b 55 d0             	mov    -0x30(%ebp),%edx
409dc5:	41                   	inc    %ecx
409dc6:	8b c2                	mov    %edx,%eax
409dc8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409dce:	72 10                	jb     0x409de0
409dd0:	8b 50 fc             	mov    -0x4(%eax),%edx
409dd3:	83 c1 23             	add    $0x23,%ecx
409dd6:	2b c2                	sub    %edx,%eax
409dd8:	83 c0 fc             	add    $0xfffffffc,%eax
409ddb:	83 f8 1f             	cmp    $0x1f,%eax
409dde:	77 29                	ja     0x409e09
409de0:	51                   	push   %ecx
409de1:	52                   	push   %edx
409de2:	e8 27 1b 01 00       	call   0x41b90e
409de7:	83 c4 08             	add    $0x8,%esp
409dea:	8b c6                	mov    %esi,%eax
409dec:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409def:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409df6:	59                   	pop    %ecx
409df7:	5f                   	pop    %edi
409df8:	5e                   	pop    %esi
409df9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409dfc:	33 cd                	xor    %ebp,%ecx
409dfe:	e8 cd 1a 01 00       	call   0x41b8d0
409e03:	8b e5                	mov    %ebp,%esp
409e05:	5d                   	pop    %ebp
409e06:	c2 1c 00             	ret    $0x1c
409e09:	e8 71 6c 01 00       	call   0x420a7f
409e0e:	cc                   	int3
409e0f:	cc                   	int3
409e10:	55                   	push   %ebp
409e11:	8b ec                	mov    %esp,%ebp
409e13:	83 e4 f8             	and    $0xfffffff8,%esp
409e16:	83 ec 5c             	sub    $0x5c,%esp
409e19:	a1 14 40 45 00       	mov    0x454014,%eax
409e1e:	33 c4                	xor    %esp,%eax
409e20:	89 44 24 58          	mov    %eax,0x58(%esp)
409e24:	0f b6 44 24 0d       	movzbl 0xd(%esp),%eax
409e29:	53                   	push   %ebx
409e2a:	56                   	push   %esi
409e2b:	8b 75 14             	mov    0x14(%ebp),%esi
409e2e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
409e32:	8b 5c 24 10          	mov    0x10(%esp),%ebx
409e36:	c7 44 24 0c 2b 00 00 	movl   $0x2b,0xc(%esp)
409e3d:	00
409e3e:	8b 4e 14             	mov    0x14(%esi),%ecx
409e41:	8b d1                	mov    %ecx,%edx
409e43:	f7 c1 20 00 00 00    	test   $0x20,%ecx
409e49:	c6 44 24 14 25       	movb   $0x25,0x14(%esp)
409e4e:	57                   	push   %edi
409e4f:	0f 45 44 24 10       	cmovne 0x10(%esp),%eax
409e54:	f7 c2 20 00 00 00    	test   $0x20,%edx
409e5a:	8b 7d 08             	mov    0x8(%ebp),%edi
409e5d:	8d 54 24 1a          	lea    0x1a(%esp),%edx
409e61:	88 44 24 19          	mov    %al,0x19(%esp)
409e65:	8d 44 24 19          	lea    0x19(%esp),%eax
409e69:	0f 45 c2             	cmovne %edx,%eax
409e6c:	f6 c1 08             	test   $0x8,%cl
409e6f:	74 04                	je     0x409e75
409e71:	c6 00 23             	movb   $0x23,(%eax)
409e74:	40                   	inc    %eax
409e75:	8b d1                	mov    %ecx,%edx
409e77:	66 c7 00 49 36       	movw   $0x3649,(%eax)
409e7c:	81 e2 00 0e 00 00    	and    $0xe00,%edx
409e82:	c6 40 02 34          	movb   $0x34,0x2(%eax)
409e86:	81 fa 00 04 00 00    	cmp    $0x400,%edx
409e8c:	75 04                	jne    0x409e92
409e8e:	b1 6f                	mov    $0x6f,%cl
409e90:	eb 17                	jmp    0x409ea9
409e92:	81 fa 00 08 00 00    	cmp    $0x800,%edx
409e98:	74 04                	je     0x409e9e
409e9a:	b1 75                	mov    $0x75,%cl
409e9c:	eb 0b                	jmp    0x409ea9
409e9e:	c0 e1 03             	shl    $0x3,%cl
409ea1:	f6 d1                	not    %cl
409ea3:	80 e1 20             	and    $0x20,%cl
409ea6:	80 c9 58             	or     $0x58,%cl
409ea9:	ff 75 20             	push   0x20(%ebp)
409eac:	88 48 03             	mov    %cl,0x3(%eax)
409eaf:	ff 75 1c             	push   0x1c(%ebp)
409eb2:	c6 40 04 00          	movb   $0x0,0x4(%eax)
409eb6:	8d 44 24 20          	lea    0x20(%esp),%eax
409eba:	50                   	push   %eax
409ebb:	8d 44 24 2c          	lea    0x2c(%esp),%eax
409ebf:	6a 40                	push   $0x40
409ec1:	50                   	push   %eax
409ec2:	e8 b9 9d ff ff       	call   0x403c80
409ec7:	83 c4 14             	add    $0x14,%esp
409eca:	50                   	push   %eax
409ecb:	8d 44 24 24          	lea    0x24(%esp),%eax
409ecf:	50                   	push   %eax
409ed0:	ff 75 18             	push   0x18(%ebp)
409ed3:	56                   	push   %esi
409ed4:	ff 75 10             	push   0x10(%ebp)
409ed7:	ff 75 0c             	push   0xc(%ebp)
409eda:	57                   	push   %edi
409edb:	53                   	push   %ebx
409edc:	e8 ef 0a 00 00       	call   0x40a9d0
409ee1:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
409ee8:	83 c4 20             	add    $0x20,%esp
409eeb:	8b c7                	mov    %edi,%eax
409eed:	5f                   	pop    %edi
409eee:	5e                   	pop    %esi
409eef:	5b                   	pop    %ebx
409ef0:	33 cc                	xor    %esp,%ecx
409ef2:	e8 d9 19 01 00       	call   0x41b8d0
409ef7:	8b e5                	mov    %ebp,%esp
409ef9:	5d                   	pop    %ebp
409efa:	c2 1c 00             	ret    $0x1c
409efd:	cc                   	int3
409efe:	cc                   	int3
409eff:	cc                   	int3
409f00:	55                   	push   %ebp
409f01:	8b ec                	mov    %esp,%ebp
409f03:	83 e4 f8             	and    $0xfffffff8,%esp
409f06:	83 ec 5c             	sub    $0x5c,%esp
409f09:	a1 14 40 45 00       	mov    0x454014,%eax
409f0e:	33 c4                	xor    %esp,%eax
409f10:	89 44 24 58          	mov    %eax,0x58(%esp)
409f14:	0f b6 44 24 0d       	movzbl 0xd(%esp),%eax
409f19:	53                   	push   %ebx
409f1a:	56                   	push   %esi
409f1b:	8b 75 14             	mov    0x14(%ebp),%esi
409f1e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
409f22:	8b 5c 24 10          	mov    0x10(%esp),%ebx
409f26:	c7 44 24 0c 2b 00 00 	movl   $0x2b,0xc(%esp)
409f2d:	00
409f2e:	8b 4e 14             	mov    0x14(%esi),%ecx
409f31:	8b d1                	mov    %ecx,%edx
409f33:	f7 c1 20 00 00 00    	test   $0x20,%ecx
409f39:	c6 44 24 14 25       	movb   $0x25,0x14(%esp)
409f3e:	57                   	push   %edi
409f3f:	0f 45 44 24 10       	cmovne 0x10(%esp),%eax
409f44:	f7 c2 20 00 00 00    	test   $0x20,%edx
409f4a:	8b 7d 08             	mov    0x8(%ebp),%edi
409f4d:	8d 54 24 1a          	lea    0x1a(%esp),%edx
409f51:	88 44 24 19          	mov    %al,0x19(%esp)
409f55:	8d 44 24 19          	lea    0x19(%esp),%eax
409f59:	0f 45 c2             	cmovne %edx,%eax
409f5c:	f6 c1 08             	test   $0x8,%cl
409f5f:	74 04                	je     0x409f65
409f61:	c6 00 23             	movb   $0x23,(%eax)
409f64:	40                   	inc    %eax
409f65:	8b d1                	mov    %ecx,%edx
409f67:	66 c7 00 49 36       	movw   $0x3649,(%eax)
409f6c:	81 e2 00 0e 00 00    	and    $0xe00,%edx
409f72:	c6 40 02 34          	movb   $0x34,0x2(%eax)
409f76:	81 fa 00 04 00 00    	cmp    $0x400,%edx
409f7c:	75 04                	jne    0x409f82
409f7e:	b1 6f                	mov    $0x6f,%cl
409f80:	eb 17                	jmp    0x409f99
409f82:	81 fa 00 08 00 00    	cmp    $0x800,%edx
409f88:	74 04                	je     0x409f8e
409f8a:	b1 64                	mov    $0x64,%cl
409f8c:	eb 0b                	jmp    0x409f99
409f8e:	c0 e1 03             	shl    $0x3,%cl
409f91:	f6 d1                	not    %cl
409f93:	80 e1 20             	and    $0x20,%cl
409f96:	80 c9 58             	or     $0x58,%cl
409f99:	ff 75 20             	push   0x20(%ebp)
409f9c:	88 48 03             	mov    %cl,0x3(%eax)
409f9f:	ff 75 1c             	push   0x1c(%ebp)
409fa2:	c6 40 04 00          	movb   $0x0,0x4(%eax)
409fa6:	8d 44 24 20          	lea    0x20(%esp),%eax
409faa:	50                   	push   %eax
409fab:	8d 44 24 2c          	lea    0x2c(%esp),%eax
409faf:	6a 40                	push   $0x40
409fb1:	50                   	push   %eax
409fb2:	e8 c9 9c ff ff       	call   0x403c80
409fb7:	83 c4 14             	add    $0x14,%esp
409fba:	50                   	push   %eax
409fbb:	8d 44 24 24          	lea    0x24(%esp),%eax
409fbf:	50                   	push   %eax
409fc0:	ff 75 18             	push   0x18(%ebp)
409fc3:	56                   	push   %esi
409fc4:	ff 75 10             	push   0x10(%ebp)
409fc7:	ff 75 0c             	push   0xc(%ebp)
409fca:	57                   	push   %edi
409fcb:	53                   	push   %ebx
409fcc:	e8 ff 09 00 00       	call   0x40a9d0
409fd1:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
409fd8:	83 c4 20             	add    $0x20,%esp
409fdb:	8b c7                	mov    %edi,%eax
409fdd:	5f                   	pop    %edi
409fde:	5e                   	pop    %esi
409fdf:	5b                   	pop    %ebx
409fe0:	33 cc                	xor    %esp,%ecx
409fe2:	e8 e9 18 01 00       	call   0x41b8d0
409fe7:	8b e5                	mov    %ebp,%esp
409fe9:	5d                   	pop    %ebp