525f3e:	8b 7c 24 14          	mov    0x14(%esp),%edi
525f42:	8b f3                	mov    %ebx,%esi
525f44:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
525f47:	2b c1                	sub    %ecx,%eax
525f49:	89 43 24             	mov    %eax,0x24(%ebx)
525f4c:	8b df                	mov    %edi,%ebx
525f4e:	8b 07                	mov    (%edi),%eax
525f50:	8b fe                	mov    %esi,%edi
525f52:	03 46 50             	add    0x50(%esi),%eax
525f55:	89 03                	mov    %eax,(%ebx)
525f57:	8b de                	mov    %esi,%ebx
525f59:	8b 44 24 18          	mov    0x18(%esp),%eax
525f5d:	03 44 24 1c          	add    0x1c(%esp),%eax
525f61:	8b 6f 54             	mov    0x54(%edi),%ebp
525f64:	01 6f 2c             	add    %ebp,0x2c(%edi)
525f67:	89 47 44             	mov    %eax,0x44(%edi)
525f6a:	8b 44 24 20          	mov    0x20(%esp),%eax
525f6e:	03 44 24 24          	add    0x24(%esp),%eax
525f72:	8b 6f 58             	mov    0x58(%edi),%ebp
525f75:	01 6f 30             	add    %ebp,0x30(%edi)
525f78:	8b 6f 5c             	mov    0x5c(%edi),%ebp
525f7b:	01 6f 34             	add    %ebp,0x34(%edi)
525f7e:	8b 6f 60             	mov    0x60(%edi),%ebp
525f81:	01 6f 38             	add    %ebp,0x38(%edi)
525f84:	89 43 48             	mov    %eax,0x48(%ebx)
525f87:	8d 04 11             	lea    (%ecx,%edx,1),%eax
525f8a:	8b 6f 64             	mov    0x64(%edi),%ebp
525f8d:	8b d3                	mov    %ebx,%edx
525f8f:	01 6f 3c             	add    %ebp,0x3c(%edi)
525f92:	8b 6f 68             	mov    0x68(%edi),%ebp
525f95:	01 6f 40             	add    %ebp,0x40(%edi)
525f98:	89 42 4c             	mov    %eax,0x4c(%edx)
525f9b:	8b 4a 78             	mov    0x78(%edx),%ecx
525f9e:	8b 44 24 28          	mov    0x28(%esp),%eax
525fa2:	2b c1                	sub    %ecx,%eax
525fa4:	89 4c 24 24          	mov    %ecx,0x24(%esp)
525fa8:	89 42 50             	mov    %eax,0x50(%edx)
525fab:	8b 4a 7c             	mov    0x7c(%edx),%ecx
525fae:	8b 44 24 2c          	mov    0x2c(%esp),%eax
525fb2:	2b c1                	sub    %ecx,%eax
525fb4:	89 4c 24 20          	mov    %ecx,0x20(%esp)
525fb8:	89 42 54             	mov    %eax,0x54(%edx)
525fbb:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
525fc1:	8b 44 24 30          	mov    0x30(%esp),%eax
525fc5:	2b c1                	sub    %ecx,%eax
525fc7:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
525fcb:	89 42 58             	mov    %eax,0x58(%edx)
525fce:	8b 8a 84 00 00 00    	mov    0x84(%edx),%ecx
525fd4:	8b 44 24 34          	mov    0x34(%esp),%eax
525fd8:	2b c1                	sub    %ecx,%eax
525fda:	89 4c 24 18          	mov    %ecx,0x18(%esp)
525fde:	89 42 5c             	mov    %eax,0x5c(%edx)
525fe1:	8b aa 88 00 00 00    	mov    0x88(%edx),%ebp
525fe7:	8b 44 24 38          	mov    0x38(%esp),%eax
525feb:	2b c5                	sub    %ebp,%eax
525fed:	89 6c 24 14          	mov    %ebp,0x14(%esp)
525ff1:	8b 6c 24 10          	mov    0x10(%esp),%ebp
525ff5:	89 42 60             	mov    %eax,0x60(%edx)
525ff8:	8b 9a 8c 00 00 00    	mov    0x8c(%edx),%ebx
525ffe:	8b 44 24 3c          	mov    0x3c(%esp),%eax
526002:	2b c3                	sub    %ebx,%eax
526004:	89 42 64             	mov    %eax,0x64(%edx)
526007:	8b ba 90 00 00 00    	mov    0x90(%edx),%edi
52600d:	8b 44 24 40          	mov    0x40(%esp),%eax
526011:	2b c7                	sub    %edi,%eax
526013:	89 42 68             	mov    %eax,0x68(%edx)
526016:	8b b2 94 00 00 00    	mov    0x94(%edx),%esi
52601c:	8b 44 24 44          	mov    0x44(%esp),%eax
526020:	2b c6                	sub    %esi,%eax
526022:	89 42 6c             	mov    %eax,0x6c(%edx)
526025:	8b 92 98 00 00 00    	mov    0x98(%edx),%edx
52602b:	8b 44 24 48          	mov    0x48(%esp),%eax
52602f:	2b c2                	sub    %edx,%eax
526031:	89 45 70             	mov    %eax,0x70(%ebp)
526034:	8b 8d 9c 00 00 00    	mov    0x9c(%ebp),%ecx
52603a:	8b 44 24 4c          	mov    0x4c(%esp),%eax
52603e:	2b c1                	sub    %ecx,%eax
526040:	89 45 74             	mov    %eax,0x74(%ebp)
526043:	8b 44 24 24          	mov    0x24(%esp),%eax
526047:	03 44 24 28          	add    0x28(%esp),%eax
52604b:	89 45 78             	mov    %eax,0x78(%ebp)
52604e:	8b 44 24 20          	mov    0x20(%esp),%eax
526052:	03 44 24 2c          	add    0x2c(%esp),%eax
526056:	89 45 7c             	mov    %eax,0x7c(%ebp)
526059:	8b 44 24 1c          	mov    0x1c(%esp),%eax
52605d:	03 44 24 30          	add    0x30(%esp),%eax
526061:	89 85 80 00 00 00    	mov    %eax,0x80(%ebp)
526067:	8b 44 24 18          	mov    0x18(%esp),%eax
52606b:	03 44 24 34          	add    0x34(%esp),%eax
52606f:	89 85 84 00 00 00    	mov    %eax,0x84(%ebp)
526075:	8b 44 24 38          	mov    0x38(%esp),%eax
526079:	03 44 24 14          	add    0x14(%esp),%eax
52607d:	89 85 88 00 00 00    	mov    %eax,0x88(%ebp)
526083:	8b 44 24 3c          	mov    0x3c(%esp),%eax
526087:	03 c3                	add    %ebx,%eax
526089:	89 85 8c 00 00 00    	mov    %eax,0x8c(%ebp)
52608f:	8b 44 24 40          	mov    0x40(%esp),%eax
526093:	03 c7                	add    %edi,%eax
526095:	89 85 90 00 00 00    	mov    %eax,0x90(%ebp)
52609b:	8b 44 24 44          	mov    0x44(%esp),%eax
52609f:	03 c6                	add    %esi,%eax
5260a1:	89 85 94 00 00 00    	mov    %eax,0x94(%ebp)
5260a7:	8b 44 24 48          	mov    0x48(%esp),%eax
5260ab:	03 c2                	add    %edx,%eax
5260ad:	89 85 98 00 00 00    	mov    %eax,0x98(%ebp)
5260b3:	8b 44 24 4c          	mov    0x4c(%esp),%eax
5260b7:	5f                   	pop    %edi
5260b8:	03 c1                	add    %ecx,%eax
5260ba:	5e                   	pop    %esi
5260bb:	89 85 9c 00 00 00    	mov    %eax,0x9c(%ebp)
5260c1:	5d                   	pop    %ebp
5260c2:	5b                   	pop    %ebx
5260c3:	83 c4 40             	add    $0x40,%esp
5260c6:	c3                   	ret
5260c7:	cc                   	int3
5260c8:	cc                   	int3
5260c9:	cc                   	int3
5260ca:	cc                   	int3
5260cb:	cc                   	int3
5260cc:	cc                   	int3
5260cd:	cc                   	int3
5260ce:	cc                   	int3
5260cf:	cc                   	int3
5260d0:	b8 7c 01 00 00       	mov    $0x17c,%eax
5260d5:	e8 d6 b6 0a 00       	call   0x5d17b0
5260da:	53                   	push   %ebx
5260db:	55                   	push   %ebp
5260dc:	56                   	push   %esi
5260dd:	8b b4 24 90 01 00 00 	mov    0x190(%esp),%esi
5260e4:	33 db                	xor    %ebx,%ebx
5260e6:	57                   	push   %edi
5260e7:	8b bc 24 98 01 00 00 	mov    0x198(%esp),%edi
5260ee:	8a 4e 02             	mov    0x2(%esi),%cl
5260f1:	0f b6 c1             	movzbl %cl,%eax
5260f4:	99                   	cltd
5260f5:	8b e8                	mov    %eax,%ebp
5260f7:	c0 e9 05             	shr    $0x5,%cl
5260fa:	0f b6 06             	movzbl (%esi),%eax
5260fd:	0f a4 ea 10          	shld   $0x10,%ebp,%edx
526101:	99                   	cltd
526102:	c1 e5 10             	shl    $0x10,%ebp
526105:	0b e8                	or     %eax,%ebp
526107:	0f b6 46 01          	movzbl 0x1(%esi),%eax
52610b:	99                   	cltd
52610c:	81 e5 ff ff 1f 00    	and    $0x1fffff,%ebp
526112:	0f a4 c2 08          	shld   $0x8,%eax,%edx
526116:	c1 e0 08             	shl    $0x8,%eax
526119:	0b da                	or     %edx,%ebx
52611b:	0b e8                	or     %eax,%ebp
52611d:	89 9c 24 24 01 00 00 	mov    %ebx,0x124(%esp)
526124:	8a 5e 05             	mov    0x5(%esi),%bl
526127:	89 ac 24 20 01 00 00 	mov    %ebp,0x120(%esp)
52612e:	8a c3                	mov    %bl,%al
526130:	24 03                	and    $0x3,%al
526132:	c0 eb 02             	shr    $0x2,%bl
526135:	0f b6 c0             	movzbl %al,%eax
526138:	99                   	cltd
526139:	8b ea                	mov    %edx,%ebp
52613b:	0f a4 c5 08          	shld   $0x8,%eax,%ebp
52613f:	c1 e0 08             	shl    $0x8,%eax
526142:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
526149:	0f b6 46 04          	movzbl 0x4(%esi),%eax
52614d:	99                   	cltd
52614e:	09 84 24 90 00 00 00 	or     %eax,0x90(%esp)
526155:	0b ea                	or     %edx,%ebp
526157:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
52615e:	0f a4 c5 08          	shld   $0x8,%eax,%ebp
526162:	c1 e0 08             	shl    $0x8,%eax
526165:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
52616c:	0f b6 46 03          	movzbl 0x3(%esi),%eax
526170:	99                   	cltd
526171:	09 84 24 90 00 00 00 	or     %eax,0x90(%esp)
526178:	0b ea                	or     %edx,%ebp
52617a:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
526181:	0f a4 c5 03          	shld   $0x3,%eax,%ebp
526185:	c1 e0 03             	shl    $0x3,%eax
526188:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
52618f:	0f b6 c1             	movzbl %cl,%eax
526192:	99                   	cltd
526193:	09 84 24 90 00 00 00 	or     %eax,0x90(%esp)
52619a:	0b ea                	or     %edx,%ebp
52619c:	0f b6 46 07          	movzbl 0x7(%esi),%eax
5261a0:	24 7f                	and    $0x7f,%al
5261a2:	89 ac 24 4c 01 00 00 	mov    %ebp,0x14c(%esp)
5261a9:	0f b6 c0             	movzbl %al,%eax
5261ac:	99                   	cltd
5261ad:	8b e8                	mov    %eax,%ebp
5261af:	8b ca                	mov    %edx,%ecx
5261b1:	0f b6 46 06          	movzbl 0x6(%esi),%eax
5261b5:	0f a4 e9 08          	shld   $0x8,%ebp,%ecx
5261b9:	99                   	cltd
5261ba:	c1 e5 08             	shl    $0x8,%ebp
5261bd:	0b ca                	or     %edx,%ecx
5261bf:	0b e8                	or     %eax,%ebp
5261c1:	0f b6 c3             	movzbl %bl,%eax
5261c4:	0f a4 e9 06          	shld   $0x6,%ebp,%ecx
5261c8:	99                   	cltd
5261c9:	c1 e5 06             	shl    $0x6,%ebp
5261cc:	0b ca                	or     %edx,%ecx
5261ce:	0b e8                	or     %eax,%ebp
5261d0:	89 8c 24 1c 01 00 00 	mov    %ecx,0x11c(%esp)
5261d7:	0f b6 46 0a          	movzbl 0xa(%esi),%eax
5261db:	89 ac 24 18 01 00 00 	mov    %ebp,0x118(%esp)
5261e2:	24 0f                	and    $0xf,%al
5261e4:	0f b6 c0             	movzbl %al,%eax
5261e7:	99                   	cltd
5261e8:	8b d8                	mov    %eax,%ebx
5261ea:	8b ca                	mov    %edx,%ecx
5261ec:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
5261f0:	0f b6 46 09          	movzbl 0x9(%esi),%eax
5261f4:	99                   	cltd
5261f5:	c1 e3 08             	shl    $0x8,%ebx
5261f8:	0b ca                	or     %edx,%ecx
5261fa:	0b d8                	or     %eax,%ebx
5261fc:	0f b6 46 08          	movzbl 0x8(%esi),%eax
526200:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
526204:	99                   	cltd
526205:	c1 e3 08             	shl    $0x8,%ebx
526208:	0b ca                	or     %edx,%ecx
52620a:	0b d8                	or     %eax,%ebx
52620c:	0f b6 46 07          	movzbl 0x7(%esi),%eax
526210:	0f a4 d9 01          	shld   $0x1,%ebx,%ecx
526214:	c0 e8 07             	shr    $0x7,%al
526217:	0f b6 c0             	movzbl %al,%eax
52621a:	03 db                	add    %ebx,%ebx
52621c:	99                   	cltd
52621d:	0b d8                	or     %eax,%ebx
52621f:	0b ca                	or     %edx,%ecx
526221:	0f b6 46 0d          	movzbl 0xd(%esi),%eax
526225:	24 01                	and    $0x1,%al
526227:	89 9c 24 48 01 00 00 	mov    %ebx,0x148(%esp)
52622e:	0f b6 c0             	movzbl %al,%eax
526231:	99                   	cltd
526232:	8b d8                	mov    %eax,%ebx
526234:	89 8c 24 54 01 00 00 	mov    %ecx,0x154(%esp)
52623b:	0f b6 46 0c          	movzbl 0xc(%esi),%eax
52623f:	8b ca                	mov    %edx,%ecx
526241:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
526245:	99                   	cltd
526246:	c1 e3 08             	shl    $0x8,%ebx
526249:	0b ca                	or     %edx,%ecx
52624b:	0b d8                	or     %eax,%ebx
52624d:	0f b6 46 0b          	movzbl 0xb(%esi),%eax
526251:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
526255:	99                   	cltd
526256:	c1 e3 08             	shl    $0x8,%ebx
526259:	0b ca                	or     %edx,%ecx
52625b:	0b d8                	or     %eax,%ebx
52625d:	0f b6 46 0a          	movzbl 0xa(%esi),%eax
526261:	c0 e8 04             	shr    $0x4,%al
526264:	0f a4 d9 04          	shld   $0x4,%ebx,%ecx
526268:	0f b6 c0             	movzbl %al,%eax
52626b:	99                   	cltd
52626c:	c1 e3 04             	shl    $0x4,%ebx
52626f:	0b ca                	or     %edx,%ecx
526271:	0b d8                	or     %eax,%ebx
526273:	89 8c 24 28 01 00 00 	mov    %ecx,0x128(%esp)
52627a:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
52627e:	24 3f                	and    $0x3f,%al
526280:	89 5c 24 78          	mov    %ebx,0x78(%esp)
526284:	0f b6 c0             	movzbl %al,%eax
526287:	99                   	cltd
526288:	8b d8                	mov    %eax,%ebx
52628a:	8b ca                	mov    %edx,%ecx
52628c:	0f b6 46 0e          	movzbl 0xe(%esi),%eax
526290:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
526294:	99                   	cltd
526295:	c1 e3 08             	shl    $0x8,%ebx
526298:	0b ca                	or     %edx,%ecx
52629a:	0b d8                	or     %eax,%ebx
52629c:	0f b6 46 0d          	movzbl 0xd(%esi),%eax
5262a0:	d0 e8                	shr    $1,%al
5262a2:	0f a4 d9 07          	shld   $0x7,%ebx,%ecx
5262a6:	0f b6 c0             	movzbl %al,%eax
5262a9:	99                   	cltd
5262aa:	c1 e3 07             	shl    $0x7,%ebx
5262ad:	0b ca                	or     %edx,%ecx
5262af:	0b d8                	or     %eax,%ebx
5262b1:	89 8c 24 38 01 00 00 	mov    %ecx,0x138(%esp)
5262b8:	0f b6 46 12          	movzbl 0x12(%esi),%eax
5262bc:	24 07                	and    $0x7,%al
5262be:	89 9c 24 34 01 00 00 	mov    %ebx,0x134(%esp)
5262c5:	0f b6 c0             	movzbl %al,%eax
5262c8:	99                   	cltd
5262c9:	8b d8                	mov    %eax,%ebx
5262cb:	0f b6 46 11          	movzbl 0x11(%esi),%eax
5262cf:	8b ca                	mov    %edx,%ecx
5262d1:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
5262d5:	99                   	cltd
5262d6:	c1 e3 08             	shl    $0x8,%ebx
5262d9:	0b ca                	or     %edx,%ecx
5262db:	0b d8                	or     %eax,%ebx
5262dd:	0f b6 46 10          	movzbl 0x10(%esi),%eax
5262e1:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
5262e5:	99                   	cltd
5262e6:	c1 e3 08             	shl    $0x8,%ebx
5262e9:	0b ca                	or     %edx,%ecx
5262eb:	0b d8                	or     %eax,%ebx
5262ed:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
5262f1:	0f a4 d9 02          	shld   $0x2,%ebx,%ecx
5262f5:	c0 e8 06             	shr    $0x6,%al
5262f8:	0f b6 c0             	movzbl %al,%eax
5262fb:	99                   	cltd
5262fc:	c1 e3 02             	shl    $0x2,%ebx
5262ff:	0b ca                	or     %edx,%ecx
526301:	0b d8                	or     %eax,%ebx
526303:	89 8c 24 d8 00 00 00 	mov    %ecx,0xd8(%esp)
52630a:	0f b6 46 14          	movzbl 0x14(%esi),%eax
52630e:	99                   	cltd
52630f:	89 9c 24 a8 00 00 00 	mov    %ebx,0xa8(%esp)
526316:	8b ca                	mov    %edx,%ecx
526318:	8b d8                	mov    %eax,%ebx
52631a:	0f b6 46 13          	movzbl 0x13(%esi),%eax
52631e:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
526322:	99                   	cltd
526323:	c1 e3 08             	shl    $0x8,%ebx
526326:	0b ca                	or     %edx,%ecx
526328:	0b d8                	or     %eax,%ebx
52632a:	0f b6 46 12          	movzbl 0x12(%esi),%eax
52632e:	0f a4 d9 05          	shld   $0x5,%ebx,%ecx
526332:	c0 e8 03             	shr    $0x3,%al
526335:	0f b6 c0             	movzbl %al,%eax
526338:	99                   	cltd
526339:	c1 e3 05             	shl    $0x5,%ebx
52633c:	0b ca                	or     %edx,%ecx
52633e:	0b d8                	or     %eax,%ebx
526340:	89 8c 24 d0 00 00 00 	mov    %ecx,0xd0(%esp)
526347:	0f b6 46 17          	movzbl 0x17(%esi),%eax
52634b:	33 c9                	xor    %ecx,%ecx
52634d:	99                   	cltd
52634e:	89 9c 24 d4 00 00 00 	mov    %ebx,0xd4(%esp)
526355:	8b d8                	mov    %eax,%ebx
526357:	0f b6 46 15          	movzbl 0x15(%esi),%eax
52635b:	0f a4 da 10          	shld   $0x10,%ebx,%edx
52635f:	99                   	cltd
526360:	c1 e3 10             	shl    $0x10,%ebx
526363:	0b d8                	or     %eax,%ebx
526365:	0f b6 46 16          	movzbl 0x16(%esi),%eax
526369:	99                   	cltd
52636a:	81 e3 ff ff 1f 00    	and    $0x1fffff,%ebx
526370:	0f a4 c2 08          	shld   $0x8,%eax,%edx
526374:	c1 e0 08             	shl    $0x8,%eax
526377:	0b ca                	or     %edx,%ecx
526379:	0b d8                	or     %eax,%ebx
52637b:	89 8c 24 14 01 00 00 	mov    %ecx,0x114(%esp)
526382:	0f b6 46 1a          	movzbl 0x1a(%esi),%eax
526386:	24 03                	and    $0x3,%al
526388:	89 9c 24 b4 00 00 00 	mov    %ebx,0xb4(%esp)
52638f:	0f b6 c0             	movzbl %al,%eax
526392:	99                   	cltd