45fc31:	83 c4 04             	add    $0x4,%esp
45fc34:	85 c0                	test   %eax,%eax
45fc36:	0f 84 d1 00 00 00    	je     0x45fd0d
45fc3c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45fc3f:	8d 58 23             	lea    0x23(%eax),%ebx
45fc42:	83 e3 e0             	and    $0xffffffe0,%ebx
45fc45:	89 43 fc             	mov    %eax,-0x4(%ebx)
45fc48:	eb 16                	jmp    0x45fc60
45fc4a:	85 d2                	test   %edx,%edx
45fc4c:	74 10                	je     0x45fc5e
45fc4e:	52                   	push   %edx
45fc4f:	e8 d1 15 17 00       	call   0x5d1225
45fc54:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45fc57:	83 c4 04             	add    $0x4,%esp
45fc5a:	8b d8                	mov    %eax,%ebx
45fc5c:	eb 02                	jmp    0x45fc60
45fc5e:	33 db                	xor    %ebx,%ebx
45fc60:	83 7d f8 10          	cmpl   $0x10,-0x8(%ebp)
45fc64:	8d 41 01             	lea    0x1(%ecx),%eax
45fc67:	89 77 14             	mov    %esi,0x14(%edi)
45fc6a:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
45fc6d:	89 47 10             	mov    %eax,0x10(%edi)
45fc70:	89 75 fc             	mov    %esi,-0x4(%ebp)
45fc73:	51                   	push   %ecx
45fc74:	72 42                	jb     0x45fcb8
45fc76:	8b 37                	mov    (%edi),%esi
45fc78:	56                   	push   %esi
45fc79:	53                   	push   %ebx
45fc7a:	e8 51 31 17 00       	call   0x5d2dd0
45fc7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
45fc82:	83 c4 0c             	add    $0xc,%esp
45fc85:	8a 4d 0f             	mov    0xf(%ebp),%cl
45fc88:	88 08                	mov    %cl,(%eax)
45fc8a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45fc8d:	41                   	inc    %ecx
45fc8e:	c6 40 01 00          	movb   $0x0,0x1(%eax)
45fc92:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45fc98:	72 12                	jb     0x45fcac
45fc9a:	8b 56 fc             	mov    -0x4(%esi),%edx
45fc9d:	83 c1 23             	add    $0x23,%ecx
45fca0:	2b f2                	sub    %edx,%esi
45fca2:	8d 46 fc             	lea    -0x4(%esi),%eax
45fca5:	83 f8 1f             	cmp    $0x1f,%eax
45fca8:	77 63                	ja     0x45fd0d
45fcaa:	8b f2                	mov    %edx,%esi
45fcac:	51                   	push   %ecx
45fcad:	56                   	push   %esi
45fcae:	e8 a2 15 17 00       	call   0x5d1255
45fcb3:	83 c4 08             	add    $0x8,%esp
45fcb6:	eb 13                	jmp    0x45fccb
45fcb8:	57                   	push   %edi
45fcb9:	53                   	push   %ebx
45fcba:	e8 11 31 17 00       	call   0x5d2dd0
45fcbf:	8a 4d 0f             	mov    0xf(%ebp),%cl
45fcc2:	83 c4 0c             	add    $0xc,%esp
45fcc5:	88 0e                	mov    %cl,(%esi)
45fcc7:	c6 46 01 00          	movb   $0x0,0x1(%esi)
45fccb:	89 1f                	mov    %ebx,(%edi)
45fccd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45fcd0:	8b 45 f0             	mov    -0x10(%ebp),%eax
45fcd3:	0f ac c1 07          	shrd   $0x7,%eax,%ecx
45fcd7:	c1 e8 07             	shr    $0x7,%eax
45fcda:	89 4d f4             	mov    %ecx,-0xc(%ebp)
45fcdd:	89 45 f0             	mov    %eax,-0x10(%ebp)
45fce0:	85 c0                	test   %eax,%eax
45fce2:	0f 85 b0 fe ff ff    	jne    0x45fb98
45fce8:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
45fcee:	0f 83 a4 fe ff ff    	jae    0x45fb98
45fcf4:	5e                   	pop    %esi
45fcf5:	5b                   	pop    %ebx
45fcf6:	51                   	push   %ecx
45fcf7:	8b cf                	mov    %edi,%ecx
45fcf9:	e8 22 00 00 00       	call   0x45fd20
45fcfe:	5f                   	pop    %edi
45fcff:	8b e5                	mov    %ebp,%esp
45fd01:	5d                   	pop    %ebp
45fd02:	c3                   	ret
45fd03:	e8 08 79 fe ff       	call   0x447610
45fd08:	e8 e3 78 fe ff       	call   0x4475f0
45fd0d:	e8 de 64 17 00       	call   0x5d61f0
45fd12:	cc                   	int3
45fd13:	cc                   	int3
45fd14:	cc                   	int3
45fd15:	cc                   	int3
45fd16:	cc                   	int3
45fd17:	cc                   	int3
45fd18:	cc                   	int3
45fd19:	cc                   	int3
45fd1a:	cc                   	int3
45fd1b:	cc                   	int3
45fd1c:	cc                   	int3
45fd1d:	cc                   	int3
45fd1e:	cc                   	int3
45fd1f:	cc                   	int3
45fd20:	55                   	push   %ebp
45fd21:	8b ec                	mov    %esp,%ebp
45fd23:	83 ec 0c             	sub    $0xc,%esp
45fd26:	56                   	push   %esi
45fd27:	8b f1                	mov    %ecx,%esi
45fd29:	57                   	push   %edi
45fd2a:	8b 4e 14             	mov    0x14(%esi),%ecx
45fd2d:	8b 7e 10             	mov    0x10(%esi),%edi
45fd30:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45fd33:	3b f9                	cmp    %ecx,%edi
45fd35:	73 20                	jae    0x45fd57
45fd37:	8d 47 01             	lea    0x1(%edi),%eax
45fd3a:	89 46 10             	mov    %eax,0x10(%esi)
45fd3d:	83 f9 10             	cmp    $0x10,%ecx
45fd40:	72 02                	jb     0x45fd44
45fd42:	8b 36                	mov    (%esi),%esi
45fd44:	8a 45 08             	mov    0x8(%ebp),%al
45fd47:	88 04 3e             	mov    %al,(%esi,%edi,1)
45fd4a:	c6 44 3e 01 00       	movb   $0x0,0x1(%esi,%edi,1)
45fd4f:	5f                   	pop    %edi
45fd50:	5e                   	pop    %esi
45fd51:	8b e5                	mov    %ebp,%esp
45fd53:	5d                   	pop    %ebp
45fd54:	c2 04 00             	ret    $0x4
45fd57:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
45fd5c:	8b c2                	mov    %edx,%eax
45fd5e:	2b c7                	sub    %edi,%eax
45fd60:	83 f8 01             	cmp    $0x1,%eax
45fd63:	0f 82 ba 00 00 00    	jb     0x45fe23
45fd69:	53                   	push   %ebx
45fd6a:	8d 5f 01             	lea    0x1(%edi),%ebx
45fd6d:	83 cb 0f             	or     $0xf,%ebx
45fd70:	3b da                	cmp    %edx,%ebx
45fd72:	76 04                	jbe    0x45fd78
45fd74:	8b da                	mov    %edx,%ebx
45fd76:	eb 18                	jmp    0x45fd90
45fd78:	8b c1                	mov    %ecx,%eax
45fd7a:	d1 e8                	shr    $1,%eax
45fd7c:	2b d0                	sub    %eax,%edx
45fd7e:	3b ca                	cmp    %edx,%ecx
45fd80:	76 07                	jbe    0x45fd89
45fd82:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
45fd87:	eb 07                	jmp    0x45fd90
45fd89:	03 c1                	add    %ecx,%eax
45fd8b:	3b d8                	cmp    %eax,%ebx
45fd8d:	0f 42 d8             	cmovb  %eax,%ebx
45fd90:	8d 43 01             	lea    0x1(%ebx),%eax
45fd93:	8b ce                	mov    %esi,%ecx
45fd95:	50                   	push   %eax
45fd96:	e8 85 90 ff ff       	call   0x458e20
45fd9b:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
45fd9f:	8d 4f 01             	lea    0x1(%edi),%ecx
45fda2:	89 5e 14             	mov    %ebx,0x14(%esi)
45fda5:	89 45 f8             	mov    %eax,-0x8(%ebp)
45fda8:	8d 1c 38             	lea    (%eax,%edi,1),%ebx
45fdab:	89 4e 10             	mov    %ecx,0x10(%esi)
45fdae:	89 5d f4             	mov    %ebx,-0xc(%ebp)
45fdb1:	57                   	push   %edi
45fdb2:	72 4e                	jb     0x45fe02
45fdb4:	8b 1e                	mov    (%esi),%ebx
45fdb6:	53                   	push   %ebx
45fdb7:	50                   	push   %eax
45fdb8:	e8 13 30 17 00       	call   0x5d2dd0
45fdbd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45fdc0:	83 c4 0c             	add    $0xc,%esp
45fdc3:	8a 45 08             	mov    0x8(%ebp),%al
45fdc6:	88 01                	mov    %al,(%ecx)
45fdc8:	c6 41 01 00          	movb   $0x0,0x1(%ecx)
45fdcc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45fdcf:	41                   	inc    %ecx
45fdd0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
45fdd6:	72 12                	jb     0x45fdea
45fdd8:	8b 53 fc             	mov    -0x4(%ebx),%edx
45fddb:	83 c1 23             	add    $0x23,%ecx
45fdde:	2b da                	sub    %edx,%ebx
45fde0:	8d 43 fc             	lea    -0x4(%ebx),%eax
45fde3:	83 f8 1f             	cmp    $0x1f,%eax
45fde6:	77 40                	ja     0x45fe28
45fde8:	8b da                	mov    %edx,%ebx
45fdea:	51                   	push   %ecx
45fdeb:	53                   	push   %ebx
45fdec:	e8 64 14 17 00       	call   0x5d1255
45fdf1:	8b 45 f8             	mov    -0x8(%ebp),%eax
45fdf4:	83 c4 08             	add    $0x8,%esp
45fdf7:	89 06                	mov    %eax,(%esi)
45fdf9:	5b                   	pop    %ebx
45fdfa:	5f                   	pop    %edi
45fdfb:	5e                   	pop    %esi
45fdfc:	8b e5                	mov    %ebp,%esp
45fdfe:	5d                   	pop    %ebp
45fdff:	c2 04 00             	ret    $0x4
45fe02:	56                   	push   %esi
45fe03:	50                   	push   %eax
45fe04:	e8 c7 2f 17 00       	call   0x5d2dd0
45fe09:	8a 45 08             	mov    0x8(%ebp),%al
45fe0c:	83 c4 0c             	add    $0xc,%esp
45fe0f:	88 03                	mov    %al,(%ebx)
45fe11:	8b 45 f8             	mov    -0x8(%ebp),%eax
45fe14:	c6 43 01 00          	movb   $0x0,0x1(%ebx)
45fe18:	5b                   	pop    %ebx
45fe19:	5f                   	pop    %edi
45fe1a:	89 06                	mov    %eax,(%esi)
45fe1c:	5e                   	pop    %esi
45fe1d:	8b e5                	mov    %ebp,%esp
45fe1f:	5d                   	pop    %ebp
45fe20:	c2 04 00             	ret    $0x4
45fe23:	e8 e8 77 fe ff       	call   0x447610
45fe28:	e8 c3 63 17 00       	call   0x5d61f0
45fe2d:	cc                   	int3
45fe2e:	cc                   	int3
45fe2f:	cc                   	int3
45fe30:	55                   	push   %ebp
45fe31:	8b ec                	mov    %esp,%ebp
45fe33:	6a ff                	push   $0xffffffff
45fe35:	68 50 8d 5f 00       	push   $0x5f8d50
45fe3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45fe40:	50                   	push   %eax
45fe41:	56                   	push   %esi
45fe42:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45fe47:	33 c5                	xor    %ebp,%eax
45fe49:	50                   	push   %eax
45fe4a:	8d 45 f4             	lea    -0xc(%ebp),%eax
45fe4d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45fe53:	8b 75 08             	mov    0x8(%ebp),%esi
45fe56:	85 f6                	test   %esi,%esi
45fe58:	74 20                	je     0x45fe7a
45fe5a:	8b ce                	mov    %esi,%ecx
45fe5c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45fe63:	e8 18 09 00 00       	call   0x460780
45fe68:	8b ce                	mov    %esi,%ecx
45fe6a:	e8 21 12 00 00       	call   0x461090
45fe6f:	6a 0c                	push   $0xc
45fe71:	56                   	push   %esi
45fe72:	e8 de 13 17 00       	call   0x5d1255
45fe77:	83 c4 08             	add    $0x8,%esp
45fe7a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45fe7d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45fe84:	59                   	pop    %ecx
45fe85:	5e                   	pop    %esi
45fe86:	8b e5                	mov    %ebp,%esp
45fe88:	5d                   	pop    %ebp
45fe89:	c3                   	ret
45fe8a:	cc                   	int3
45fe8b:	cc                   	int3
45fe8c:	cc                   	int3
45fe8d:	cc                   	int3
45fe8e:	cc                   	int3
45fe8f:	cc                   	int3
45fe90:	55                   	push   %ebp
45fe91:	8b ec                	mov    %esp,%ebp
45fe93:	6a ff                	push   $0xffffffff
45fe95:	68 7d 8d 5f 00       	push   $0x5f8d7d
45fe9a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45fea0:	50                   	push   %eax
45fea1:	83 ec 58             	sub    $0x58,%esp
45fea4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45fea9:	33 c5                	xor    %ebp,%eax
45feab:	89 45 f0             	mov    %eax,-0x10(%ebp)
45feae:	56                   	push   %esi
45feaf:	57                   	push   %edi
45feb0:	50                   	push   %eax
45feb1:	8d 45 f4             	lea    -0xc(%ebp),%eax
45feb4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45feba:	8b 45 10             	mov    0x10(%ebp),%eax
45febd:	8b 55 08             	mov    0x8(%ebp),%edx
45fec0:	8b ca                	mov    %edx,%ecx
45fec2:	8b 7d 18             	mov    0x18(%ebp),%edi
45fec5:	8b 75 14             	mov    0x14(%ebp),%esi
45fec8:	89 45 c0             	mov    %eax,-0x40(%ebp)
45fecb:	8b 45 0c             	mov    0xc(%ebp),%eax
45fece:	0f ac c1 03          	shrd   $0x3,%eax,%ecx
45fed2:	89 7d c4             	mov    %edi,-0x3c(%ebp)
45fed5:	89 4d c8             	mov    %ecx,-0x38(%ebp)
45fed8:	85 c9                	test   %ecx,%ecx
45feda:	0f 84 b2 01 00 00    	je     0x460092
45fee0:	83 e2 07             	and    $0x7,%edx
45fee3:	83 fa 05             	cmp    $0x5,%edx
45fee6:	0f 87 a6 01 00 00    	ja     0x460092
45feec:	ff 24 95 ec 01 46 00 	jmp    *0x4601ec(,%edx,4)
45fef3:	0f b6 16             	movzbl (%esi),%edx
45fef6:	84 d2                	test   %dl,%dl
45fef8:	78 05                	js     0x45feff
45fefa:	33 c0                	xor    %eax,%eax
45fefc:	46                   	inc    %esi
45fefd:	eb 33                	jmp    0x45ff32
45feff:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
45ff03:	83 c2 80             	add    $0xffffff80,%edx
45ff06:	8b c1                	mov    %ecx,%eax
45ff08:	c1 e0 07             	shl    $0x7,%eax
45ff0b:	03 d0                	add    %eax,%edx
45ff0d:	84 c9                	test   %cl,%cl
45ff0f:	78 07                	js     0x45ff18
45ff11:	33 c0                	xor    %eax,%eax
45ff13:	83 c6 02             	add    $0x2,%esi
45ff16:	eb 17                	jmp    0x45ff2f
45ff18:	52                   	push   %edx
45ff19:	8d 45 9c             	lea    -0x64(%ebp),%eax
45ff1c:	56                   	push   %esi
45ff1d:	50                   	push   %eax
45ff1e:	e8 bd fb ff ff       	call   0x45fae0
45ff23:	8b 55 a4             	mov    -0x5c(%ebp),%edx
45ff26:	83 c4 0c             	add    $0xc,%esp
45ff29:	8b 45 a8             	mov    -0x58(%ebp),%eax
45ff2c:	8b 75 9c             	mov    -0x64(%ebp),%esi
45ff2f:	8b 4d c8             	mov    -0x38(%ebp),%ecx
45ff32:	89 45 c4             	mov    %eax,-0x3c(%ebp)
45ff35:	85 f6                	test   %esi,%esi
45ff37:	0f 84 55 01 00 00    	je     0x460092
45ff3d:	89 45 bc             	mov    %eax,-0x44(%ebp)
45ff40:	8b 45 c0             	mov    -0x40(%ebp),%eax
45ff43:	89 4d b0             	mov    %ecx,-0x50(%ebp)
45ff46:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
45ff4d:	89 55 b8             	mov    %edx,-0x48(%ebp)
45ff50:	8b 38                	mov    (%eax),%edi
45ff52:	8b 47 04             	mov    0x4(%edi),%eax
45ff55:	3b 47 08             	cmp    0x8(%edi),%eax
45ff58:	74 1d                	je     0x45ff77
45ff5a:	89 08                	mov    %ecx,(%eax)
45ff5c:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
45ff5f:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45ff66:	89 50 08             	mov    %edx,0x8(%eax)
45ff69:	89 48 0c             	mov    %ecx,0xc(%eax)
45ff6c:	8b c6                	mov    %esi,%eax
45ff6e:	83 47 04 10          	addl   $0x10,0x4(%edi)
45ff72:	e9 1d 01 00 00       	jmp    0x460094
45ff77:	8d 4d b0             	lea    -0x50(%ebp),%ecx
45ff7a:	51                   	push   %ecx
45ff7b:	8b cf                	mov    %edi,%ecx
45ff7d:	50                   	push   %eax
45ff7e:	e8 5d 03 00 00       	call   0x4602e0
45ff83:	8b c6                	mov    %esi,%eax
45ff85:	e9 0a 01 00 00       	jmp    0x460094
45ff8a:	8b 46 04             	mov    0x4(%esi),%eax
45ff8d:	8b 3e                	mov    (%esi),%edi
45ff8f:	83 c6 08             	add    $0x8,%esi
45ff92:	89 45 c8             	mov    %eax,-0x38(%ebp)
45ff95:	89 45 bc             	mov    %eax,-0x44(%ebp)
45ff98:	8b 45 c0             	mov    -0x40(%ebp),%eax
45ff9b:	89 4d b0             	mov    %ecx,-0x50(%ebp)
45ff9e:	c7 45 b4 02 00 00 00 	movl   $0x2,-0x4c(%ebp)
45ffa5:	89 7d b8             	mov    %edi,-0x48(%ebp)
45ffa8:	8b 10                	mov    (%eax),%edx
45ffaa:	8b 42 04             	mov    0x4(%edx),%eax
45ffad:	3b 42 08             	cmp    0x8(%edx),%eax
45ffb0:	74 1d                	je     0x45ffcf
45ffb2:	89 08                	mov    %ecx,(%eax)
45ffb4:	8b 4d c8             	mov    -0x38(%ebp),%ecx
45ffb7:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
45ffbe:	89 78 08             	mov    %edi,0x8(%eax)
45ffc1:	89 48 0c             	mov    %ecx,0xc(%eax)
45ffc4:	8b c6                	mov    %esi,%eax
45ffc6:	83 42 04 10          	addl   $0x10,0x4(%edx)
45ffca:	e9 c5 00 00 00       	jmp    0x460094
45ffcf:	8d 4d b0             	lea    -0x50(%ebp),%ecx
45ffd2:	51                   	push   %ecx
45ffd3:	8b ca                	mov    %edx,%ecx