45fb33:	85 d2                	test   %edx,%edx
45fb35:	74 2c                	je     0x45fb63
45fb37:	8b 03                	mov    (%ebx),%eax
45fb39:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb3c:	4a                   	dec    %edx
45fb3d:	51                   	push   %ecx
45fb3e:	89 55 b4             	mov    %edx,-0x4c(%ebp)
45fb41:	8b 78 18             	mov    0x18(%eax),%edi
45fb44:	8b cf                	mov    %edi,%ecx
45fb46:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fb4c:	8b cb                	mov    %ebx,%ecx
45fb4e:	ff d7                	call   *%edi
45fb50:	50                   	push   %eax
45fb51:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb54:	e8 d7 ea fe ff       	call   0x44e630
45fb59:	8b 55 b4             	mov    -0x4c(%ebp),%edx
45fb5c:	85 d2                	test   %edx,%edx
45fb5e:	75 d7                	jne    0x45fb37
45fb60:	8b 7d c0             	mov    -0x40(%ebp),%edi
45fb63:	85 ff                	test   %edi,%edi
45fb65:	75 04                	jne    0x45fb6b
45fb67:	85 f6                	test   %esi,%esi
45fb69:	74 26                	je     0x45fb91
45fb6b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45fb6e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45fb71:	8b 13                	mov    (%ebx),%edx
45fb73:	d3 e6                	shl    %cl,%esi
45fb75:	03 f7                	add    %edi,%esi
45fb77:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
45fb7a:	8b 72 20             	mov    0x20(%edx),%esi
45fb7d:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45fb80:	8b ce                	mov    %esi,%ecx
45fb82:	50                   	push   %eax
45fb83:	8d 45 90             	lea    -0x70(%ebp),%eax
45fb86:	50                   	push   %eax
45fb87:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fb8d:	8b cb                	mov    %ebx,%ecx
45fb8f:	ff d6                	call   *%esi
45fb91:	8b 7d b8             	mov    -0x48(%ebp),%edi
45fb94:	85 ff                	test   %edi,%edi
45fb96:	74 23                	je     0x45fbbb
45fb98:	8b 03                	mov    (%ebx),%eax
45fb9a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb9d:	51                   	push   %ecx
45fb9e:	8b 70 18             	mov    0x18(%eax),%esi
45fba1:	8b ce                	mov    %esi,%ecx
45fba3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fba9:	8b cb                	mov    %ebx,%ecx
45fbab:	ff d6                	call   *%esi
45fbad:	50                   	push   %eax
45fbae:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fbb1:	e8 7a ea fe ff       	call   0x44e630
45fbb6:	83 ef 01             	sub    $0x1,%edi
45fbb9:	75 dd                	jne    0x45fb98
45fbbb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45fbbe:	33 f6                	xor    %esi,%esi
45fbc0:	33 ff                	xor    %edi,%edi
45fbc2:	83 e9 01             	sub    $0x1,%ecx
45fbc5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45fbc8:	0f 89 94 fe ff ff    	jns    0x45fa62
45fbce:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fbd1:	8d 4b 04             	lea    0x4(%ebx),%ecx
45fbd4:	e8 b7 e5 fe ff       	call   0x44e190
45fbd9:	8b 4d 98             	mov    -0x68(%ebp),%ecx
45fbdc:	c7 03 dc 6b 4b 00    	movl   $0x4b6bdc,(%ebx)
45fbe2:	85 c9                	test   %ecx,%ecx
45fbe4:	74 17                	je     0x45fbfd
45fbe6:	8b 45 9c             	mov    -0x64(%ebp),%eax
45fbe9:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45fbec:	83 c0 fc             	add    $0xfffffffc,%eax
45fbef:	90                   	nop
45fbf0:	83 38 00             	cmpl   $0x0,(%eax)
45fbf3:	75 08                	jne    0x45fbfd
45fbf5:	83 e8 04             	sub    $0x4,%eax
45fbf8:	83 e9 01             	sub    $0x1,%ecx
45fbfb:	75 f3                	jne    0x45fbf0
45fbfd:	e8 1e e7 fe ff       	call   0x44e320
45fc02:	51                   	push   %ecx
45fc03:	50                   	push   %eax
45fc04:	89 43 08             	mov    %eax,0x8(%ebx)
45fc07:	e8 74 3b ff ff       	call   0x453780
45fc0c:	8b 75 9c             	mov    -0x64(%ebp),%esi
45fc0f:	89 43 0c             	mov    %eax,0xc(%ebx)
45fc12:	8b 4b 0c             	mov    0xc(%ebx),%ecx
45fc15:	8b 45 a0             	mov    -0x60(%ebp),%eax
45fc18:	89 43 10             	mov    %eax,0x10(%ebx)
45fc1b:	3b ce                	cmp    %esi,%ecx
45fc1d:	74 14                	je     0x45fc33
45fc1f:	8b 43 08             	mov    0x8(%ebx),%eax
45fc22:	c1 e0 02             	shl    $0x2,%eax
45fc25:	50                   	push   %eax
45fc26:	56                   	push   %esi
45fc27:	51                   	push   %ecx
45fc28:	e8 f3 b9 00 00       	call   0x46b620
45fc2d:	8b 75 9c             	mov    -0x64(%ebp),%esi
45fc30:	83 c4 0c             	add    $0xc,%esp
45fc33:	8b 55 98             	mov    -0x68(%ebp),%edx
45fc36:	33 c0                	xor    %eax,%eax
45fc38:	8b fe                	mov    %esi,%edi
45fc3a:	8b ca                	mov    %edx,%ecx
45fc3c:	f3 ab                	rep stos %eax,%es:(%edi)
45fc3e:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
45fc45:	56                   	push   %esi
45fc46:	83 f8 10             	cmp    $0x10,%eax
45fc49:	72 07                	jb     0x45fc52
45fc4b:	e8 10 63 03 00       	call   0x495f60
45fc50:	eb 05                	jmp    0x45fc57
45fc52:	e8 2b 9a 01 00       	call   0x479682
45fc57:	83 c4 04             	add    $0x4,%esp
45fc5a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45fc5d:	e8 6e f8 ff ff       	call   0x45f4d0
45fc62:	8b c3                	mov    %ebx,%eax
45fc64:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45fc67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45fc6e:	59                   	pop    %ecx
45fc6f:	5f                   	pop    %edi
45fc70:	5e                   	pop    %esi
45fc71:	5b                   	pop    %ebx
45fc72:	8b e5                	mov    %ebp,%esp
45fc74:	5d                   	pop    %ebp
45fc75:	c2 14 00             	ret    $0x14
45fc78:	cc                   	int3
45fc79:	cc                   	int3
45fc7a:	cc                   	int3
45fc7b:	cc                   	int3
45fc7c:	cc                   	int3
45fc7d:	cc                   	int3
45fc7e:	cc                   	int3
45fc7f:	cc                   	int3
45fc80:	55                   	push   %ebp
45fc81:	8d 6c 24 a4          	lea    -0x5c(%esp),%ebp
45fc85:	83 ec 5c             	sub    $0x5c,%esp
45fc88:	6a ff                	push   $0xffffffff
45fc8a:	68 65 c5 49 00       	push   $0x49c565
45fc8f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45fc95:	50                   	push   %eax
45fc96:	83 ec 38             	sub    $0x38,%esp
45fc99:	53                   	push   %ebx
45fc9a:	56                   	push   %esi
45fc9b:	57                   	push   %edi
45fc9c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45fca1:	33 c5                	xor    %ebp,%eax
45fca3:	50                   	push   %eax
45fca4:	8d 45 f4             	lea    -0xc(%ebp),%eax
45fca7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45fcad:	8b f1                	mov    %ecx,%esi
45fcaf:	89 75 40             	mov    %esi,0x40(%ebp)
45fcb2:	8b 55 70             	mov    0x70(%ebp),%edx
45fcb5:	33 db                	xor    %ebx,%ebx
45fcb7:	89 5d 54             	mov    %ebx,0x54(%ebp)
45fcba:	89 5d 0c             	mov    %ebx,0xc(%ebp)
45fcbd:	89 5d 10             	mov    %ebx,0x10(%ebp)
45fcc0:	89 5d 14             	mov    %ebx,0x14(%ebp)
45fcc3:	85 d2                	test   %edx,%edx
45fcc5:	0f 84 94 00 00 00    	je     0x45fd5f
45fccb:	81 fa 55 55 55 15    	cmp    $0x15555555,%edx
45fcd1:	0f 87 97 05 00 00    	ja     0x46026e
45fcd7:	8d 3c 52             	lea    (%edx,%edx,2),%edi
45fcda:	c1 e7 02             	shl    $0x2,%edi
45fcdd:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
45fce3:	72 2a                	jb     0x45fd0f
45fce5:	8d 47 23             	lea    0x23(%edi),%eax
45fce8:	3b c7                	cmp    %edi,%eax
45fcea:	0f 86 83 05 00 00    	jbe    0x460273
45fcf0:	50                   	push   %eax
45fcf1:	e8 e2 9c 00 00       	call   0x4699d8
45fcf6:	83 c4 04             	add    $0x4,%esp
45fcf9:	85 c0                	test   %eax,%eax
45fcfb:	0f 84 77 05 00 00    	je     0x460278
45fd01:	8b 55 70             	mov    0x70(%ebp),%edx
45fd04:	8d 58 23             	lea    0x23(%eax),%ebx
45fd07:	83 e3 e0             	and    $0xffffffe0,%ebx
45fd0a:	89 43 fc             	mov    %eax,-0x4(%ebx)
45fd0d:	eb 16                	jmp    0x45fd25
45fd0f:	85 ff                	test   %edi,%edi
45fd11:	74 10                	je     0x45fd23
45fd13:	57                   	push   %edi
45fd14:	e8 bf 9c 00 00       	call   0x4699d8
45fd19:	8b 55 70             	mov    0x70(%ebp),%edx
45fd1c:	83 c4 04             	add    $0x4,%esp
45fd1f:	8b d8                	mov    %eax,%ebx
45fd21:	eb 04                	jmp    0x45fd27
45fd23:	33 db                	xor    %ebx,%ebx
45fd25:	8b c3                	mov    %ebx,%eax
45fd27:	03 fb                	add    %ebx,%edi
45fd29:	89 5d 54             	mov    %ebx,0x54(%ebp)
45fd2c:	8b ca                	mov    %edx,%ecx
45fd2e:	89 5d 0c             	mov    %ebx,0xc(%ebp)
45fd31:	89 7d 14             	mov    %edi,0x14(%ebp)
45fd34:	0f 1f 40 00          	nopl   0x0(%eax)
45fd38:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
45fd3f:	00
45fd40:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45fd46:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45fd4d:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
45fd54:	83 c0 0c             	add    $0xc,%eax
45fd57:	83 e9 01             	sub    $0x1,%ecx
45fd5a:	75 e4                	jne    0x45fd40
45fd5c:	89 45 10             	mov    %eax,0x10(%ebp)
45fd5f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45fd66:	c7 45 30 00 00 00 00 	movl   $0x0,0x30(%ebp)
45fd6d:	c7 45 34 00 00 00 00 	movl   $0x0,0x34(%ebp)
45fd74:	c7 45 38 00 00 00 00 	movl   $0x0,0x38(%ebp)
45fd7b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45fd7f:	85 d2                	test   %edx,%edx
45fd81:	0f 84 20 02 00 00    	je     0x45ffa7
45fd87:	81 fa 24 49 92 04    	cmp    $0x4924924,%edx
45fd8d:	0f 87 ea 04 00 00    	ja     0x46027d
45fd93:	52                   	push   %edx
45fd94:	8d 4d 30             	lea    0x30(%ebp),%ecx
45fd97:	e8 74 08 00 00       	call   0x460610
45fd9c:	8b 45 70             	mov    0x70(%ebp),%eax
45fd9f:	c7 45 44 00 00 00 00 	movl   $0x0,0x44(%ebp)
45fda6:	89 5d 50             	mov    %ebx,0x50(%ebp)
45fda9:	89 45 48             	mov    %eax,0x48(%ebp)
45fdac:	0f 1f 40 00          	nopl   0x0(%eax)
45fdb0:	8b 06                	mov    (%esi),%eax
45fdb2:	51                   	push   %ecx
45fdb3:	8b 78 14             	mov    0x14(%eax),%edi
45fdb6:	8b cf                	mov    %edi,%ecx
45fdb8:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fdbe:	8b ce                	mov    %esi,%ecx
45fdc0:	ff d7                	call   *%edi
45fdc2:	0f b6 c0             	movzbl %al,%eax
45fdc5:	8d 4d bc             	lea    -0x44(%ebp),%ecx
45fdc8:	50                   	push   %eax
45fdc9:	ff 75 6c             	push   0x6c(%ebp)
45fdcc:	e8 2f f5 ff ff       	call   0x45f300
45fdd1:	8b d8                	mov    %eax,%ebx
45fdd3:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45fdd7:	8b 7d 34             	mov    0x34(%ebp),%edi
45fdda:	53                   	push   %ebx
45fddb:	3b 7d 38             	cmp    0x38(%ebp),%edi
45fdde:	74 4a                	je     0x45fe2a
45fde0:	8b cf                	mov    %edi,%ecx
45fde2:	89 7d 3c             	mov    %edi,0x3c(%ebp)
45fde5:	e8 56 e6 fe ff       	call   0x44e440
45fdea:	8d 43 14             	lea    0x14(%ebx),%eax
45fded:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45fdf1:	50                   	push   %eax
45fdf2:	8d 4f 14             	lea    0x14(%edi),%ecx
45fdf5:	e8 46 e6 fe ff       	call   0x44e440
45fdfa:	8b 43 28             	mov    0x28(%ebx),%eax
45fdfd:	89 47 28             	mov    %eax,0x28(%edi)
45fe00:	8b 43 2c             	mov    0x2c(%ebx),%eax
45fe03:	89 47 2c             	mov    %eax,0x2c(%edi)
45fe06:	8b 43 30             	mov    0x30(%ebx),%eax
45fe09:	89 47 30             	mov    %eax,0x30(%edi)
45fe0c:	8a 43 34             	mov    0x34(%ebx),%al
45fe0f:	88 47 34             	mov    %al,0x34(%edi)
45fe12:	8a 43 35             	mov    0x35(%ebx),%al
45fe15:	88 47 35             	mov    %al,0x35(%edi)
45fe18:	8a 43 36             	mov    0x36(%ebx),%al
45fe1b:	88 47 36             	mov    %al,0x36(%edi)
45fe1e:	8a 43 37             	mov    0x37(%ebx),%al
45fe21:	88 47 37             	mov    %al,0x37(%edi)
45fe24:	83 45 34 38          	addl   $0x38,0x34(%ebp)
45fe28:	eb 09                	jmp    0x45fe33
45fe2a:	57                   	push   %edi
45fe2b:	8d 4d 30             	lea    0x30(%ebp),%ecx
45fe2e:	e8 3d 0c 00 00       	call   0x460a70
45fe33:	83 45 6c 14          	addl   $0x14,0x6c(%ebp)
45fe37:	33 c0                	xor    %eax,%eax
45fe39:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45fe3d:	8b 55 d8             	mov    -0x28(%ebp),%edx
45fe40:	8b ca                	mov    %edx,%ecx
45fe42:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45fe45:	8b fb                	mov    %ebx,%edi
45fe47:	f3 ab                	rep stos %eax,%es:(%edi)
45fe49:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
45fe50:	53                   	push   %ebx
45fe51:	83 f8 10             	cmp    $0x10,%eax
45fe54:	72 07                	jb     0x45fe5d
45fe56:	e8 05 61 03 00       	call   0x495f60
45fe5b:	eb 05                	jmp    0x45fe62
45fe5d:	e8 20 98 01 00       	call   0x479682
45fe62:	8b 55 c4             	mov    -0x3c(%ebp),%edx
45fe65:	33 c0                	xor    %eax,%eax
45fe67:	8b 5d c8             	mov    -0x38(%ebp),%ebx
45fe6a:	83 c4 04             	add    $0x4,%esp
45fe6d:	8b fb                	mov    %ebx,%edi
45fe6f:	8b ca                	mov    %edx,%ecx
45fe71:	f3 ab                	rep stos %eax,%es:(%edi)
45fe73:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
45fe7a:	53                   	push   %ebx
45fe7b:	83 f8 10             	cmp    $0x10,%eax
45fe7e:	72 07                	jb     0x45fe87
45fe80:	e8 db 60 03 00       	call   0x495f60
45fe85:	eb 05                	jmp    0x45fe8c
45fe87:	e8 f6 97 01 00       	call   0x479682
45fe8c:	8b 4d 30             	mov    0x30(%ebp),%ecx
45fe8f:	83 c4 04             	add    $0x4,%esp
45fe92:	8b 5d 44             	mov    0x44(%ebp),%ebx
45fe95:	8d 0c 0b             	lea    (%ebx,%ecx,1),%ecx
45fe98:	e8 43 f5 ff ff       	call   0x45f3e0
45fe9d:	8b 06                	mov    (%esi),%eax
45fe9f:	8b 78 08             	mov    0x8(%eax),%edi
45fea2:	8b cf                	mov    %edi,%ecx
45fea4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45feaa:	8b ce                	mov    %esi,%ecx
45feac:	ff d7                	call   *%edi
45feae:	8b 4d 30             	mov    0x30(%ebp),%ecx
45feb1:	bf 01 00 00 00       	mov    $0x1,%edi
45feb6:	89 45 4c             	mov    %eax,0x4c(%ebp)
45feb9:	8b 45 50             	mov    0x50(%ebp),%eax
45febc:	8b 4c 0b 28          	mov    0x28(%ebx,%ecx,1),%ecx
45fec0:	49                   	dec    %ecx
45fec1:	8b 58 04             	mov    0x4(%eax),%ebx
45fec4:	8b 00                	mov    (%eax),%eax
45fec6:	d3 e7                	shl    %cl,%edi
45fec8:	8b cb                	mov    %ebx,%ecx
45feca:	2b c8                	sub    %eax,%ecx
45fecc:	89 45 2c             	mov    %eax,0x2c(%ebp)
45fecf:	b8 67 66 66 66       	mov    $0x66666667,%eax
45fed4:	f7 e9                	imul   %ecx
45fed6:	c1 fa 03             	sar    $0x3,%edx
45fed9:	8b c2                	mov    %edx,%eax
45fedb:	c1 e8 1f             	shr    $0x1f,%eax
45fede:	03 c2                	add    %edx,%eax
45fee0:	89 45 3c             	mov    %eax,0x3c(%ebp)
45fee3:	3b f8                	cmp    %eax,%edi
45fee5:	73 40                	jae    0x45ff27
45fee7:	8b 55 2c             	mov    0x2c(%ebp),%edx
45feea:	8d 04 bf             	lea    (%edi,%edi,4),%eax
45feed:	8d 04 82             	lea    (%edx,%eax,4),%eax
45fef0:	89 45 4c             	mov    %eax,0x4c(%ebp)
45fef3:	3b c3                	cmp    %ebx,%eax
45fef5:	74 25                	je     0x45ff1c
45fef7:	8b f0                	mov    %eax,%esi
45fef9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45ff00:	8b 06                	mov    (%esi),%eax
45ff02:	6a 00                	push   $0x0
45ff04:	8b 38                	mov    (%eax),%edi
45ff06:	8b cf                	mov    %edi,%ecx
45ff08:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45ff0e:	8b ce                	mov    %esi,%ecx
45ff10:	ff d7                	call   *%edi
45ff12:	83 c6 14             	add    $0x14,%esi
45ff15:	3b f3                	cmp    %ebx,%esi
45ff17:	75 e7                	jne    0x45ff00
45ff19:	8b 75 40             	mov    0x40(%ebp),%esi
45ff1c:	8b 45 50             	mov    0x50(%ebp),%eax
45ff1f:	8b 4d 4c             	mov    0x4c(%ebp),%ecx
45ff22:	89 48 04             	mov    %ecx,0x4(%eax)
45ff25:	eb 6c                	jmp    0x45ff93
45ff27:	8b 45 50             	mov    0x50(%ebp),%eax
45ff2a:	76 67                	jbe    0x45ff93
45ff2c:	8b 48 08             	mov    0x8(%eax),%ecx
45ff2f:	2b 08                	sub    (%eax),%ecx
45ff31:	b8 67 66 66 66       	mov    $0x66666667,%eax