449d76:	8b 48 18             	mov    0x18(%eax),%ecx
449d79:	8b 70 1c             	mov    0x1c(%eax),%esi
449d7c:	8b 07                	mov    (%edi),%eax
449d7e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
449d81:	8d 4d f8             	lea    -0x8(%ebp),%ecx
449d84:	51                   	push   %ecx
449d85:	8b cf                	mov    %edi,%ecx
449d87:	ff 50 48             	call   *0x48(%eax)
449d8a:	3b 70 04             	cmp    0x4(%eax),%esi
449d8d:	5e                   	pop    %esi
449d8e:	75 30                	jne    0x449dc0
449d90:	f6 47 04 01          	testb  $0x1,0x4(%edi)
449d94:	8d 4b 04             	lea    0x4(%ebx),%ecx
449d97:	74 0f                	je     0x449da8
449d99:	8b 47 04             	mov    0x4(%edi),%eax
449d9c:	83 e0 fc             	and    $0xfffffffc,%eax
449d9f:	83 c0 04             	add    $0x4,%eax
449da2:	50                   	push   %eax
449da3:	e8 38 69 00 00       	call   0x4506e0
449da8:	f6 47 08 01          	testb  $0x1,0x8(%edi)
449dac:	74 1c                	je     0x449dca
449dae:	8b 47 10             	mov    0x10(%edi),%eax
449db1:	83 4b 08 01          	orl    $0x1,0x8(%ebx)
449db5:	5f                   	pop    %edi
449db6:	89 43 10             	mov    %eax,0x10(%ebx)
449db9:	5b                   	pop    %ebx
449dba:	8b e5                	mov    %ebp,%esp
449dbc:	5d                   	pop    %ebp
449dbd:	c2 04 00             	ret    $0x4
449dc0:	53                   	push   %ebx
449dc1:	57                   	push   %edi
449dc2:	e8 49 09 02 00       	call   0x46a710
449dc7:	83 c4 08             	add    $0x8,%esp
449dca:	5f                   	pop    %edi
449dcb:	5b                   	pop    %ebx
449dcc:	8b e5                	mov    %ebp,%esp
449dce:	5d                   	pop    %ebp
449dcf:	c2 04 00             	ret    $0x4
449dd2:	cc                   	int3
449dd3:	cc                   	int3
449dd4:	cc                   	int3
449dd5:	cc                   	int3
449dd6:	cc                   	int3
449dd7:	cc                   	int3
449dd8:	cc                   	int3
449dd9:	cc                   	int3
449dda:	cc                   	int3
449ddb:	cc                   	int3
449ddc:	cc                   	int3
449ddd:	cc                   	int3
449dde:	cc                   	int3
449ddf:	cc                   	int3
449de0:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
449de7:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
449dee:	83 c1 04             	add    $0x4,%ecx
449df1:	f6 01 01             	testb  $0x1,(%ecx)
449df4:	0f 85 b6 68 00 00    	jne    0x4506b0
449dfa:	c3                   	ret
449dfb:	cc                   	int3
449dfc:	cc                   	int3
449dfd:	cc                   	int3
449dfe:	cc                   	int3
449dff:	cc                   	int3
449e00:	33 c0                	xor    %eax,%eax
449e02:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
449e06:	74 13                	je     0x449e1b
449e08:	8b 41 10             	mov    0x10(%ecx),%eax
449e0b:	83 c8 01             	or     $0x1,%eax
449e0e:	0f bd c0             	bsr    %eax,%eax
449e11:	8d 04 c0             	lea    (%eax,%eax,8),%eax
449e14:	83 c0 49             	add    $0x49,%eax
449e17:	c1 e8 06             	shr    $0x6,%eax
449e1a:	40                   	inc    %eax
449e1b:	8d 51 04             	lea    0x4(%ecx),%edx
449e1e:	83 c1 0c             	add    $0xc,%ecx
449e21:	f6 02 01             	testb  $0x1,(%edx)
449e24:	74 0c                	je     0x449e32
449e26:	51                   	push   %ecx
449e27:	50                   	push   %eax
449e28:	52                   	push   %edx
449e29:	e8 82 56 02 00       	call   0x46f4b0
449e2e:	83 c4 0c             	add    $0xc,%esp
449e31:	c3                   	ret
449e32:	89 01                	mov    %eax,(%ecx)
449e34:	c3                   	ret
449e35:	cc                   	int3
449e36:	cc                   	int3
449e37:	cc                   	int3
449e38:	cc                   	int3
449e39:	cc                   	int3
449e3a:	cc                   	int3
449e3b:	cc                   	int3
449e3c:	cc                   	int3
449e3d:	cc                   	int3
449e3e:	cc                   	int3
449e3f:	cc                   	int3
449e40:	55                   	push   %ebp
449e41:	8b ec                	mov    %esp,%ebp
449e43:	83 ec 1c             	sub    $0x1c,%esp
449e46:	53                   	push   %ebx
449e47:	56                   	push   %esi
449e48:	57                   	push   %edi
449e49:	8b 7d 08             	mov    0x8(%ebp),%edi
449e4c:	33 f6                	xor    %esi,%esi
449e4e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
449e51:	8b 4d 0c             	mov    0xc(%ebp),%ecx
449e54:	3b 39                	cmp    (%ecx),%edi
449e56:	72 28                	jb     0x449e80
449e58:	8b c7                	mov    %edi,%eax
449e5a:	2b 41 04             	sub    0x4(%ecx),%eax
449e5d:	3b 41 10             	cmp    0x10(%ecx),%eax
449e60:	0f 84 fe 00 00 00    	je     0x449f64
449e66:	ff 71 48             	push   0x48(%ecx)
449e69:	50                   	push   %eax
449e6a:	8d 45 f4             	lea    -0xc(%ebp),%eax
449e6d:	50                   	push   %eax
449e6e:	e8 bd 50 01 00       	call   0x45ef30
449e73:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
449e77:	8b 7d f4             	mov    -0xc(%ebp),%edi
449e7a:	0f 85 98 00 00 00    	jne    0x449f18
449e80:	0f b6 1f             	movzbl (%edi),%ebx
449e83:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
449e89:	73 03                	jae    0x449e8e
449e8b:	47                   	inc    %edi
449e8c:	eb 2f                	jmp    0x449ebd
449e8e:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
449e92:	83 c3 80             	add    $0xffffff80,%ebx
449e95:	8b c1                	mov    %ecx,%eax
449e97:	c1 e0 07             	shl    $0x7,%eax
449e9a:	03 d8                	add    %eax,%ebx
449e9c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
449ea2:	73 05                	jae    0x449ea9
449ea4:	83 c7 02             	add    $0x2,%edi
449ea7:	eb 14                	jmp    0x449ebd
449ea9:	53                   	push   %ebx
449eaa:	8d 45 ec             	lea    -0x14(%ebp),%eax
449ead:	57                   	push   %edi
449eae:	50                   	push   %eax
449eaf:	e8 2c 5b 01 00       	call   0x45f9e0
449eb4:	8b 5d f0             	mov    -0x10(%ebp),%ebx
449eb7:	83 c4 0c             	add    $0xc,%esp
449eba:	8b 7d ec             	mov    -0x14(%ebp),%edi
449ebd:	85 ff                	test   %edi,%edi
449ebf:	74 55                	je     0x449f16
449ec1:	8b c3                	mov    %ebx,%eax
449ec3:	c1 e8 03             	shr    $0x3,%eax
449ec6:	83 e8 01             	sub    $0x1,%eax
449ec9:	75 5e                	jne    0x449f29
449ecb:	80 fb 08             	cmp    $0x8,%bl
449ece:	75 59                	jne    0x449f29
449ed0:	0f b6 17             	movzbl (%edi),%edx
449ed3:	83 ce 01             	or     $0x1,%esi
449ed6:	84 d2                	test   %dl,%dl
449ed8:	78 03                	js     0x449edd
449eda:	47                   	inc    %edi
449edb:	eb 2b                	jmp    0x449f08
449edd:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
449ee1:	83 c2 80             	add    $0xffffff80,%edx
449ee4:	8b c1                	mov    %ecx,%eax
449ee6:	c1 e0 07             	shl    $0x7,%eax
449ee9:	03 d0                	add    %eax,%edx
449eeb:	84 c9                	test   %cl,%cl
449eed:	78 05                	js     0x449ef4
449eef:	83 c7 02             	add    $0x2,%edi
449ef2:	eb 14                	jmp    0x449f08
449ef4:	52                   	push   %edx
449ef5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
449ef8:	57                   	push   %edi
449ef9:	50                   	push   %eax
449efa:	e8 61 5b 01 00       	call   0x45fa60
449eff:	8b 55 e8             	mov    -0x18(%ebp),%edx
449f02:	83 c4 0c             	add    $0xc,%esp
449f05:	8b 7d e4             	mov    -0x1c(%ebp),%edi
449f08:	8b 45 fc             	mov    -0x4(%ebp),%eax
449f0b:	89 50 10             	mov    %edx,0x10(%eax)
449f0e:	85 ff                	test   %edi,%edi
449f10:	0f 85 3b ff ff ff    	jne    0x449e51
449f16:	33 ff                	xor    %edi,%edi
449f18:	8b 45 fc             	mov    -0x4(%ebp),%eax
449f1b:	09 70 08             	or     %esi,0x8(%eax)
449f1e:	8b c7                	mov    %edi,%eax
449f20:	5f                   	pop    %edi
449f21:	5e                   	pop    %esi
449f22:	5b                   	pop    %ebx
449f23:	8b e5                	mov    %ebp,%esp
449f25:	5d                   	pop    %ebp
449f26:	c2 08 00             	ret    $0x8
449f29:	8b c3                	mov    %ebx,%eax
449f2b:	24 07                	and    $0x7,%al
449f2d:	3c 04                	cmp    $0x4,%al
449f2f:	74 50                	je     0x449f81
449f31:	85 db                	test   %ebx,%ebx
449f33:	74 4c                	je     0x449f81
449f35:	8b 4d fc             	mov    -0x4(%ebp),%ecx
449f38:	83 c1 04             	add    $0x4,%ecx
449f3b:	f6 01 01             	testb  $0x1,(%ecx)
449f3e:	74 0a                	je     0x449f4a
449f40:	8b 01                	mov    (%ecx),%eax
449f42:	83 e0 fc             	and    $0xfffffffc,%eax
449f45:	83 c0 04             	add    $0x4,%eax
449f48:	eb 05                	jmp    0x449f4f
449f4a:	e8 e1 6c 00 00       	call   0x450c30
449f4f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
449f52:	51                   	push   %ecx
449f53:	57                   	push   %edi
449f54:	50                   	push   %eax
449f55:	6a 00                	push   $0x0
449f57:	53                   	push   %ebx
449f58:	e8 53 70 01 00       	call   0x460fb0
449f5d:	83 c4 14             	add    $0x14,%esp
449f60:	8b f8                	mov    %eax,%edi
449f62:	eb aa                	jmp    0x449f0e
449f64:	85 c0                	test   %eax,%eax
449f66:	7e b0                	jle    0x449f18
449f68:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
449f6c:	75 aa                	jne    0x449f18
449f6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
449f71:	33 ff                	xor    %edi,%edi
449f73:	09 70 08             	or     %esi,0x8(%eax)
449f76:	8b c7                	mov    %edi,%eax
449f78:	5f                   	pop    %edi
449f79:	5e                   	pop    %esi
449f7a:	5b                   	pop    %ebx
449f7b:	8b e5                	mov    %ebp,%esp
449f7d:	5d                   	pop    %ebp
449f7e:	c2 08 00             	ret    $0x8
449f81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
449f84:	8d 43 ff             	lea    -0x1(%ebx),%eax
449f87:	89 41 3c             	mov    %eax,0x3c(%ecx)
449f8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
449f8d:	09 70 08             	or     %esi,0x8(%eax)
449f90:	8b c7                	mov    %edi,%eax
449f92:	5f                   	pop    %edi
449f93:	5e                   	pop    %esi
449f94:	5b                   	pop    %ebx
449f95:	8b e5                	mov    %ebp,%esp
449f97:	5d                   	pop    %ebp
449f98:	c2 08 00             	ret    $0x8
449f9b:	cc                   	int3
449f9c:	cc                   	int3
449f9d:	cc                   	int3
449f9e:	cc                   	int3
449f9f:	cc                   	int3
449fa0:	55                   	push   %ebp
449fa1:	8b ec                	mov    %esp,%ebp
449fa3:	53                   	push   %ebx
449fa4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
449fa7:	57                   	push   %edi
449fa8:	8b f9                	mov    %ecx,%edi
449faa:	f6 47 08 01          	testb  $0x1,0x8(%edi)
449fae:	74 2a                	je     0x449fda
449fb0:	8b 45 08             	mov    0x8(%ebp),%eax
449fb3:	3b 03                	cmp    (%ebx),%eax
449fb5:	72 08                	jb     0x449fbf
449fb7:	50                   	push   %eax
449fb8:	8b cb                	mov    %ebx,%ecx
449fba:	e8 b1 f5 00 00       	call   0x459570
449fbf:	56                   	push   %esi
449fc0:	8b 77 10             	mov    0x10(%edi),%esi
449fc3:	50                   	push   %eax
449fc4:	6a 08                	push   $0x8
449fc6:	e8 f5 6a 00 00       	call   0x450ac0
449fcb:	50                   	push   %eax
449fcc:	56                   	push   %esi
449fcd:	e8 ee 6a 00 00       	call   0x450ac0
449fd2:	83 c4 10             	add    $0x10,%esp
449fd5:	8b c8                	mov    %eax,%ecx
449fd7:	5e                   	pop    %esi
449fd8:	eb 03                	jmp    0x449fdd
449fda:	8b 4d 08             	mov    0x8(%ebp),%ecx
449fdd:	f6 47 04 01          	testb  $0x1,0x4(%edi)
449fe1:	74 1a                	je     0x449ffd
449fe3:	8b 47 04             	mov    0x4(%edi),%eax
449fe6:	83 e0 fc             	and    $0xfffffffc,%eax
449fe9:	53                   	push   %ebx
449fea:	83 c0 04             	add    $0x4,%eax
449fed:	51                   	push   %ecx
449fee:	50                   	push   %eax
449fef:	e8 4c 85 02 00       	call   0x472540
449ff4:	83 c4 0c             	add    $0xc,%esp
449ff7:	5f                   	pop    %edi
449ff8:	5b                   	pop    %ebx
449ff9:	5d                   	pop    %ebp
449ffa:	c2 08 00             	ret    $0x8
449ffd:	5f                   	pop    %edi
449ffe:	8b c1                	mov    %ecx,%eax
44a000:	5b                   	pop    %ebx
44a001:	5d                   	pop    %ebp
44a002:	c2 08 00             	ret    $0x8
44a005:	cc                   	int3
44a006:	cc                   	int3
44a007:	cc                   	int3
44a008:	cc                   	int3
44a009:	cc                   	int3
44a00a:	cc                   	int3
44a00b:	cc                   	int3
44a00c:	cc                   	int3
44a00d:	cc                   	int3
44a00e:	cc                   	int3
44a00f:	cc                   	int3
44a010:	55                   	push   %ebp
44a011:	8b ec                	mov    %esp,%ebp
44a013:	6a 00                	push   $0x0
44a015:	68 18 d0 68 00       	push   $0x68d018
44a01a:	e8 61 93 01 00       	call   0x463380
44a01f:	a1 44 d0 68 00       	mov    0x68d044,%eax
44a024:	83 c4 08             	add    $0x8,%esp
44a027:	8b 48 18             	mov    0x18(%eax),%ecx
44a02a:	8b 50 1c             	mov    0x1c(%eax),%edx
44a02d:	8b 45 08             	mov    0x8(%ebp),%eax
44a030:	89 08                	mov    %ecx,(%eax)
44a032:	89 50 04             	mov    %edx,0x4(%eax)
44a035:	5d                   	pop    %ebp
44a036:	c2 04 00             	ret    $0x4
44a039:	cc                   	int3
44a03a:	cc                   	int3
44a03b:	cc                   	int3
44a03c:	cc                   	int3
44a03d:	cc                   	int3
44a03e:	cc                   	int3
44a03f:	cc                   	int3
44a040:	55                   	push   %ebp
44a041:	8b ec                	mov    %esp,%ebp
44a043:	51                   	push   %ecx
44a044:	56                   	push   %esi
44a045:	8b f1                	mov    %ecx,%esi
44a047:	8d 4e 04             	lea    0x4(%esi),%ecx
44a04a:	c7 06 b8 40 60 00    	movl   $0x6040b8,(%esi)
44a050:	f6 01 01             	testb  $0x1,(%ecx)
44a053:	74 22                	je     0x44a077
44a055:	8b 11                	mov    (%ecx),%edx
44a057:	f6 c2 03             	test   $0x3,%dl
44a05a:	75 05                	jne    0x44a061
44a05c:	83 e2 fc             	and    $0xfffffffc,%edx
44a05f:	eb 0d                	jmp    0x44a06e
44a061:	8b c2                	mov    %edx,%eax
44a063:	d1 e8                	shr    $1,%eax
44a065:	a8 01                	test   $0x1,%al
44a067:	75 09                	jne    0x44a072
44a069:	83 e2 fc             	and    $0xfffffffc,%edx
44a06c:	8b 12                	mov    (%edx),%edx
44a06e:	85 d2                	test   %edx,%edx
44a070:	75 05                	jne    0x44a077
44a072:	e8 19 66 00 00       	call   0x450690
44a077:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
44a07b:	74 0b                	je     0x44a088
44a07d:	6a 14                	push   $0x14
44a07f:	56                   	push   %esi
44a080:	e8 d0 71 18 00       	call   0x5d1255
44a085:	83 c4 08             	add    $0x8,%esp