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
460137:	8b c2                	mov    %edx,%eax
460139:	c1 e8 1f             	shr    $0x1f,%eax
46013c:	03 c2                	add    %edx,%eax
46013e:	8d 04 80             	lea    (%eax,%eax,4),%eax
460141:	8d 40 fb             	lea    -0x5(%eax),%eax
460144:	8d 04 87             	lea    (%edi,%eax,4),%eax
460147:	50                   	push   %eax
460148:	e8 e3 e4 fe ff       	call   0x44e630
46014d:	8b 7d 54             	mov    0x54(%ebp),%edi
460150:	b8 67 66 66 66       	mov    $0x66666667,%eax
460155:	8b 4f 04             	mov    0x4(%edi),%ecx
460158:	2b 0f                	sub    (%edi),%ecx
46015a:	f7 e9                	imul   %ecx
46015c:	c1 fa 03             	sar    $0x3,%edx
46015f:	8b c2                	mov    %edx,%eax
460161:	c1 e8 1f             	shr    $0x1f,%eax
460164:	03 c2                	add    %edx,%eax
460166:	83 f8 01             	cmp    $0x1,%eax
460169:	0f 86 a0 00 00 00    	jbe    0x46020f
46016f:	83 c0 fe             	add    $0xfffffffe,%eax
460172:	89 45 48             	mov    %eax,0x48(%ebp)
460175:	83 f8 01             	cmp    $0x1,%eax
460178:	7c 48                	jl     0x4601c2
46017a:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
46017d:	c1 e3 02             	shl    $0x2,%ebx
460180:	8b 0f                	mov    (%edi),%ecx
460182:	8b 16                	mov    (%esi),%edx
460184:	03 cb                	add    %ebx,%ecx
460186:	8b 7a 20             	mov    0x20(%edx),%edi
460189:	8d 41 14             	lea    0x14(%ecx),%eax
46018c:	50                   	push   %eax
46018d:	51                   	push   %ecx
46018e:	8b cf                	mov    %edi,%ecx
460190:	ff 15 d4 e2 49 00    	call   *0x49e2d4
460196:	8b ce                	mov    %esi,%ecx
460198:	ff d7                	call   *%edi
46019a:	8b 45 54             	mov    0x54(%ebp),%eax
46019d:	8b 0e                	mov    (%esi),%ecx
46019f:	8b 00                	mov    (%eax),%eax
4601a1:	8b 79 20             	mov    0x20(%ecx),%edi
4601a4:	03 c3                	add    %ebx,%eax
4601a6:	50                   	push   %eax
4601a7:	ff 75 40             	push   0x40(%ebp)
4601aa:	8b cf                	mov    %edi,%ecx
4601ac:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4601b2:	8b ce                	mov    %esi,%ecx
4601b4:	ff d7                	call   *%edi
4601b6:	8b 7d 54             	mov    0x54(%ebp),%edi
4601b9:	83 eb 14             	sub    $0x14,%ebx
4601bc:	83 6d 48 01          	subl   $0x1,0x48(%ebp)
4601c0:	75 be                	jne    0x460180
4601c2:	8b 0f                	mov    (%edi),%ecx
4601c4:	8b 16                	mov    (%esi),%edx
4601c6:	8d 41 14             	lea    0x14(%ecx),%eax
4601c9:	8b 7a 20             	mov    0x20(%edx),%edi
4601cc:	50                   	push   %eax
4601cd:	51                   	push   %ecx
4601ce:	8b cf                	mov    %edi,%ecx
4601d0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4601d6:	8b ce                	mov    %esi,%ecx
4601d8:	ff d7                	call   *%edi
4601da:	8b 45 54             	mov    0x54(%ebp),%eax
4601dd:	8b 1e                	mov    (%esi),%ebx
4601df:	ff 30                	push   (%eax)
4601e1:	8b 7b 18             	mov    0x18(%ebx),%edi
4601e4:	8b cf                	mov    %edi,%ecx
4601e6:	ff 75 40             	push   0x40(%ebp)
4601e9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4601ef:	8b ce                	mov    %esi,%ecx
4601f1:	ff d7                	call   *%edi
4601f3:	8b 7b 0c             	mov    0xc(%ebx),%edi
4601f6:	8b cf                	mov    %edi,%ecx
4601f8:	50                   	push   %eax
4601f9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4601ff:	8b ce                	mov    %esi,%ecx
460201:	ff d7                	call   *%edi
460203:	8b 4d 40             	mov    0x40(%ebp),%ecx
460206:	50                   	push   %eax
460207:	e8 24 e4 fe ff       	call   0x44e630
46020c:	8b 7d 54             	mov    0x54(%ebp),%edi
46020f:	83 c7 0c             	add    $0xc,%edi
460212:	83 6d 70 01          	subl   $0x1,0x70(%ebp)
460216:	89 7d 54             	mov    %edi,0x54(%ebp)
460219:	0f 85 f4 fe ff ff    	jne    0x460113
46021f:	8b 5d 24             	mov    0x24(%ebp),%ebx
460222:	8b 55 20             	mov    0x20(%ebp),%edx
460225:	33 c0                	xor    %eax,%eax
460227:	8b fb                	mov    %ebx,%edi
460229:	8b ca                	mov    %edx,%ecx
46022b:	f3 ab                	rep stos %eax,%es:(%edi)
46022d:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
460234:	53                   	push   %ebx
460235:	83 f8 10             	cmp    $0x10,%eax
460238:	72 07                	jb     0x460241
46023a:	e8 21 5d 03 00       	call   0x495f60
46023f:	eb 05                	jmp    0x460246
460241:	e8 3c 94 01 00       	call   0x479682
460246:	83 c4 04             	add    $0x4,%esp
460249:	8d 4d 30             	lea    0x30(%ebp),%ecx
46024c:	e8 1f 03 00 00       	call   0x460570
460251:	8d 4d 0c             	lea    0xc(%ebp),%ecx
460254:	e8 b7 04 00 00       	call   0x460710
460259:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46025c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
460263:	59                   	pop    %ecx
460264:	5f                   	pop    %edi
460265:	5e                   	pop    %esi
460266:	5b                   	pop    %ebx
460267:	8d 65 5c             	lea    0x5c(%ebp),%esp
46026a:	5d                   	pop    %ebp
46026b:	c2 10 00             	ret    $0x10
46026e:	e8 5d 32 fa ff       	call   0x4034d0
460273:	e8 c8 10 fa ff       	call   0x401340
460278:	e8 b4 93 01 00       	call   0x479631
46027d:	e8 4e 32 fa ff       	call   0x4034d0
460282:	cc                   	int3
460283:	cc                   	int3
460284:	cc                   	int3
460285:	cc                   	int3
460286:	cc                   	int3
460287:	cc                   	int3
460288:	cc                   	int3
460289:	cc                   	int3
46028a:	cc                   	int3
46028b:	cc                   	int3
46028c:	cc                   	int3
46028d:	cc                   	int3
46028e:	cc                   	int3
46028f:	cc                   	int3
460290:	55                   	push   %ebp
460291:	8b ec                	mov    %esp,%ebp
460293:	6a ff                	push   $0xffffffff
460295:	68 ae c5 49 00       	push   $0x49c5ae
46029a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4602a0:	50                   	push   %eax
4602a1:	83 ec 08             	sub    $0x8,%esp
4602a4:	53                   	push   %ebx
4602a5:	56                   	push   %esi
4602a6:	57                   	push   %edi
4602a7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
4602ac:	33 c5                	xor    %ebp,%eax
4602ae:	50                   	push   %eax
4602af:	8d 45 f4             	lea    -0xc(%ebp),%eax
4602b2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4602b8:	8b d9                	mov    %ecx,%ebx
4602ba:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4602c1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4602c8:	8b 7d 08             	mov    0x8(%ebp),%edi
4602cb:	8d 4f 04             	lea    0x4(%edi),%ecx
4602ce:	e8 bd de fe ff       	call   0x44e190
4602d3:	51                   	push   %ecx
4602d4:	c7 07 dc 6b 4b 00    	movl   $0x4b6bdc,(%edi)
4602da:	6a 02                	push   $0x2
4602dc:	c7 47 08 02 00 00 00 	movl   $0x2,0x8(%edi)
4602e3:	e8 98 34 ff ff       	call   0x453780
4602e8:	89 47 0c             	mov    %eax,0xc(%edi)
4602eb:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4602f2:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
4602f9:	8b 47 0c             	mov    0xc(%edi),%eax
4602fc:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
460302:	6a 01                	push   $0x1
460304:	ff 75 10             	push   0x10(%ebp)
460307:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46030e:	8b 33                	mov    (%ebx),%esi
460310:	ff 75 0c             	push   0xc(%ebp)
460313:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
46031a:	57                   	push   %edi
46031b:	8b 76 54             	mov    0x54(%esi),%esi
46031e:	8b ce                	mov    %esi,%ecx
460320:	ff 15 d4 e2 49 00    	call   *0x49e2d4
460326:	8b cb                	mov    %ebx,%ecx
460328:	ff d6                	call   *%esi
46032a:	8b c7                	mov    %edi,%eax
46032c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46032f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0