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
45ff36:	f7 e9                	imul   %ecx
45ff38:	c1 fa 03             	sar    $0x3,%edx
45ff3b:	8b c2                	mov    %edx,%eax
45ff3d:	c1 e8 1f             	shr    $0x1f,%eax
45ff40:	03 c2                	add    %edx,%eax
45ff42:	3b f8                	cmp    %eax,%edi
45ff44:	76 11                	jbe    0x45ff57
45ff46:	ff 75 4c             	push   0x4c(%ebp)
45ff49:	8b 4d 50             	mov    0x50(%ebp),%ecx
45ff4c:	57                   	push   %edi
45ff4d:	e8 3e 0d 00 00       	call   0x460c90
45ff52:	8b 45 50             	mov    0x50(%ebp),%eax
45ff55:	eb 3c                	jmp    0x45ff93
45ff57:	8b 45 50             	mov    0x50(%ebp),%eax
45ff5a:	2b 7d 3c             	sub    0x3c(%ebp),%edi
45ff5d:	89 5d 00             	mov    %ebx,0x0(%ebp)
45ff60:	89 5d 04             	mov    %ebx,0x4(%ebp)
45ff63:	89 45 08             	mov    %eax,0x8(%ebp)
45ff66:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
45ff6a:	74 1d                	je     0x45ff89
45ff6c:	8b 75 4c             	mov    0x4c(%ebp),%esi
45ff6f:	90                   	nop
45ff70:	56                   	push   %esi
45ff71:	8b cb                	mov    %ebx,%ecx
45ff73:	e8 c8 e4 fe ff       	call   0x44e440
45ff78:	83 c3 14             	add    $0x14,%ebx
45ff7b:	89 5d 04             	mov    %ebx,0x4(%ebp)
45ff7e:	83 ef 01             	sub    $0x1,%edi
45ff81:	75 ed                	jne    0x45ff70
45ff83:	8b 75 40             	mov    0x40(%ebp),%esi
45ff86:	8b 45 50             	mov    0x50(%ebp),%eax
45ff89:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45ff8d:	89 5d 00             	mov    %ebx,0x0(%ebp)
45ff90:	89 58 04             	mov    %ebx,0x4(%eax)
45ff93:	83 45 44 38          	addl   $0x38,0x44(%ebp)
45ff97:	83 c0 0c             	add    $0xc,%eax
45ff9a:	83 6d 48 01          	subl   $0x1,0x48(%ebp)
45ff9e:	89 45 50             	mov    %eax,0x50(%ebp)
45ffa1:	0f 85 09 fe ff ff    	jne    0x45fdb0
45ffa7:	8d 4d 1c             	lea    0x1c(%ebp),%ecx
45ffaa:	e8 e1 e1 fe ff       	call   0x44e190
45ffaf:	8b 7d 68             	mov    0x68(%ebp),%edi
45ffb2:	c7 45 18 dc 6b 4b 00 	movl   $0x4b6bdc,0x18(%ebp)
45ffb9:	8b 4f 08             	mov    0x8(%edi),%ecx
45ffbc:	85 c9                	test   %ecx,%ecx
45ffbe:	74 1d                	je     0x45ffdd
45ffc0:	8b 47 0c             	mov    0xc(%edi),%eax
45ffc3:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45ffc6:	83 c0 fc             	add    $0xfffffffc,%eax
45ffc9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45ffd0:	83 38 00             	cmpl   $0x0,(%eax)
45ffd3:	75 08                	jne    0x45ffdd
45ffd5:	83 e8 04             	sub    $0x4,%eax
45ffd8:	83 e9 01             	sub    $0x1,%ecx
45ffdb:	75 f3                	jne    0x45ffd0
45ffdd:	e8 3e e3 fe ff       	call   0x44e320
45ffe2:	51                   	push   %ecx
45ffe3:	50                   	push   %eax
45ffe4:	89 45 20             	mov    %eax,0x20(%ebp)
45ffe7:	e8 94 37 ff ff       	call   0x453780
45ffec:	8b 4f 10             	mov    0x10(%edi),%ecx
45ffef:	8b d8                	mov    %eax,%ebx
45fff1:	8b 47 0c             	mov    0xc(%edi),%eax
45fff4:	89 5d 24             	mov    %ebx,0x24(%ebp)
45fff7:	89 4d 28             	mov    %ecx,0x28(%ebp)
45fffa:	3b d8                	cmp    %eax,%ebx
45fffc:	74 14                	je     0x460012
45fffe:	8b 4d 20             	mov    0x20(%ebp),%ecx
460001:	c1 e1 02             	shl    $0x2,%ecx
460004:	51                   	push   %ecx
460005:	50                   	push   %eax
460006:	53                   	push   %ebx
460007:	e8 14 b6 00 00       	call   0x46b620
46000c:	8b 5d 24             	mov    0x24(%ebp),%ebx
46000f:	83 c4 0c             	add    $0xc,%esp
460012:	8b 4d 70             	mov    0x70(%ebp),%ecx
460015:	32 c0                	xor    %al,%al
460017:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
46001b:	88 45 5b             	mov    %al,0x5b(%ebp)
46001e:	c7 45 44 00 00 00 00 	movl   $0x0,0x44(%ebp)
460025:	85 c9                	test   %ecx,%ecx
460027:	0f 84 f5 01 00 00    	je     0x460222
46002d:	8b 7d 54             	mov    0x54(%ebp),%edi
460030:	33 db                	xor    %ebx,%ebx
460032:	8b 55 30             	mov    0x30(%ebp),%edx
460035:	89 7d 48             	mov    %edi,0x48(%ebp)
460038:	89 4d 4c             	mov    %ecx,0x4c(%ebp)
46003b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
460040:	80 7c 1a 37 00       	cmpb   $0x0,0x37(%edx,%ebx,1)
460045:	75 73                	jne    0x4600ba
460047:	8b 75 44             	mov    0x44(%ebp),%esi
46004a:	3b 74 1a 2c          	cmp    0x2c(%edx,%ebx,1),%esi
46004e:	8b 75 40             	mov    0x40(%ebp),%esi
460051:	75 67                	jne    0x4600ba
460053:	8b 44 1a 30          	mov    0x30(%edx,%ebx,1),%eax
460057:	d1 e8                	shr    $1,%eax
460059:	80 7c 1a 35 00       	cmpb   $0x0,0x35(%edx,%ebx,1)
46005e:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
460061:	8b 07                	mov    (%edi),%eax
460063:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
460066:	8b 06                	mov    (%esi),%eax
460068:	89 4d 3c             	mov    %ecx,0x3c(%ebp)
46006b:	89 45 2c             	mov    %eax,0x2c(%ebp)
46006e:	74 1f                	je     0x46008f
460070:	8b 78 10             	mov    0x10(%eax),%edi
460073:	8d 4d 18             	lea    0x18(%ebp),%ecx
460076:	51                   	push   %ecx
460077:	8b cf                	mov    %edi,%ecx
460079:	ff 15 d4 e2 49 00    	call   *0x49e2d4
46007f:	8b ce                	mov    %esi,%ecx
460081:	ff d7                	call   *%edi
460083:	8b 7d 2c             	mov    0x2c(%ebp),%edi
460086:	50                   	push   %eax
460087:	ff 75 3c             	push   0x3c(%ebp)
46008a:	8b 7f 20             	mov    0x20(%edi),%edi
46008d:	eb 08                	jmp    0x460097
46008f:	8b 78 20             	mov    0x20(%eax),%edi
460092:	8d 55 18             	lea    0x18(%ebp),%edx
460095:	52                   	push   %edx
460096:	51                   	push   %ecx
460097:	8b cf                	mov    %edi,%ecx
460099:	ff 15 d4 e2 49 00    	call   *0x49e2d4
46009f:	8b ce                	mov    %esi,%ecx
4600a1:	ff d7                	call   *%edi
4600a3:	8b 4d 30             	mov    0x30(%ebp),%ecx
4600a6:	8d 0c 19             	lea    (%ecx,%ebx,1),%ecx
4600a9:	e8 32 f3 ff ff       	call   0x45f3e0
4600ae:	8b 55 30             	mov    0x30(%ebp),%edx
4600b1:	8a 45 5b             	mov    0x5b(%ebp),%al
4600b4:	8b 7d 48             	mov    0x48(%ebp),%edi
4600b7:	8b 4d 4c             	mov    0x4c(%ebp),%ecx
4600ba:	84 c0                	test   %al,%al
4600bc:	75 06                	jne    0x4600c4
4600be:	38 44 1a 37          	cmp    %al,0x37(%edx,%ebx,1)
4600c2:	75 02                	jne    0x4600c6
4600c4:	b0 01                	mov    $0x1,%al
4600c6:	83 c7 0c             	add    $0xc,%edi
4600c9:	88 45 5b             	mov    %al,0x5b(%ebp)
4600cc:	83 c3 38             	add    $0x38,%ebx
4600cf:	89 7d 48             	mov    %edi,0x48(%ebp)
4600d2:	83 e9 01             	sub    $0x1,%ecx
4600d5:	89 4d 4c             	mov    %ecx,0x4c(%ebp)
4600d8:	0f 85 62 ff ff ff    	jne    0x460040
4600de:	84 c0                	test   %al,%al
4600e0:	74 2e                	je     0x460110
4600e2:	8b 06                	mov    (%esi),%eax
4600e4:	8d 4d 18             	lea    0x18(%ebp),%ecx
4600e7:	51                   	push   %ecx
4600e8:	8b 78 18             	mov    0x18(%eax),%edi
4600eb:	8b cf                	mov    %edi,%ecx
4600ed:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4600f3:	8b ce                	mov    %esi,%ecx
4600f5:	ff d7                	call   *%edi
4600f7:	50                   	push   %eax
4600f8:	8d 4d 18             	lea    0x18(%ebp),%ecx
4600fb:	e8 30 e5 fe ff       	call   0x44e630
460100:	ff 45 44             	incl   0x44(%ebp)
460103:	32 c0                	xor    %al,%al
460105:	8b 4d 70             	mov    0x70(%ebp),%ecx
460108:	88 45 5b             	mov    %al,0x5b(%ebp)
46010b:	e9 1d ff ff ff       	jmp    0x46002d
460110:	8b 7d 54             	mov    0x54(%ebp),%edi
460113:	8b 45 64             	mov    0x64(%ebp),%eax
460116:	8b d8                	mov    %eax,%ebx
460118:	8b 3f                	mov    (%edi),%edi
46011a:	83 c0 14             	add    $0x14,%eax
46011d:	89 45 64             	mov    %eax,0x64(%ebp)
460120:	8b 45 54             	mov    0x54(%ebp),%eax
460123:	89 5d 40             	mov    %ebx,0x40(%ebp)
460126:	8b 48 04             	mov    0x4(%eax),%ecx
460129:	b8 67 66 66 66       	mov    $0x66666667,%eax
46012e:	2b cf                	sub    %edi,%ecx
460130:	f7 e9                	imul   %ecx
460132:	8b cb                	mov    %ebx,%ecx
460134:	c1 fa 03             	sar    $0x3,%edx