a98fb9:	0f b7 0e             	movzwl (%esi),%ecx
a98fbc:	66 89 06             	mov    %ax,(%esi)
a98fbf:	83 ee 02             	sub    $0x2,%esi
a98fc2:	66 89 0a             	mov    %cx,(%edx)
a98fc5:	83 c2 02             	add    $0x2,%edx
a98fc8:	3b d6                	cmp    %esi,%edx
a98fca:	72 ea                	jb     0xa98fb6
a98fcc:	eb 09                	jmp    0xa98fd7
a98fce:	03 c0                	add    %eax,%eax
a98fd0:	2b c8                	sub    %eax,%ecx
a98fd2:	89 0f                	mov    %ecx,(%edi)
a98fd4:	83 26 00             	andl   $0x0,(%esi)
a98fd7:	5f                   	pop    %edi
a98fd8:	5e                   	pop    %esi
a98fd9:	5d                   	pop    %ebp
a98fda:	c3                   	ret
a98fdb:	cc                   	int3
a98fdc:	cc                   	int3
a98fdd:	cc                   	int3
a98fde:	cc                   	int3
a98fdf:	cc                   	int3
a98fe0:	cc                   	int3
a98fe1:	cc                   	int3
a98fe2:	cc                   	int3
a98fe3:	cc                   	int3
a98fe4:	cc                   	int3
a98fe5:	cc                   	int3
a98fe6:	cc                   	int3
a98fe7:	cc                   	int3
a98fe8:	cc                   	int3
a98fe9:	cc                   	int3
a98fea:	cc                   	int3
a98feb:	cc                   	int3
a98fec:	cc                   	int3
a98fed:	cc                   	int3
a98fee:	cc                   	int3
a98fef:	cc                   	int3
a98ff0:	cc                   	int3
a98ff1:	cc                   	int3
a98ff2:	cc                   	int3
a98ff3:	cc                   	int3
a98ff4:	8b ff                	mov    %edi,%edi
a98ff6:	55                   	push   %ebp
a98ff7:	8b ec                	mov    %esp,%ebp
a98ff9:	8b 4d 10             	mov    0x10(%ebp),%ecx
a98ffc:	83 39 00             	cmpl   $0x0,(%ecx)
a98fff:	74 22                	je     0xa99023
a99001:	8b 55 08             	mov    0x8(%ebp),%edx
a99004:	56                   	push   %esi
a99005:	8b 75 0c             	mov    0xc(%ebp),%esi
a99008:	57                   	push   %edi
a99009:	0f b7 3a             	movzwl (%edx),%edi
a9900c:	66 85 ff             	test   %di,%di
a9900f:	74 10                	je     0xa99021
a99011:	8b 06                	mov    (%esi),%eax
a99013:	83 c2 02             	add    $0x2,%edx
a99016:	66 89 38             	mov    %di,(%eax)
a99019:	83 06 02             	addl   $0x2,(%esi)
a9901c:	83 29 01             	subl   $0x1,(%ecx)
a9901f:	75 e8                	jne    0xa99009
a99021:	5f                   	pop    %edi
a99022:	5e                   	pop    %esi
a99023:	5d                   	pop    %ebp
a99024:	c3                   	ret
a99025:	cc                   	int3
a99026:	cc                   	int3
a99027:	cc                   	int3
a99028:	cc                   	int3
a99029:	cc                   	int3
a9902a:	cc                   	int3
a9902b:	cc                   	int3
a9902c:	cc                   	int3
a9902d:	cc                   	int3
a9902e:	cc                   	int3
a9902f:	cc                   	int3
a99030:	cc                   	int3
a99031:	8b ff                	mov    %edi,%edi
a99033:	55                   	push   %ebp
a99034:	8b ec                	mov    %esp,%ebp
a99036:	83 ec 30             	sub    $0x30,%esp
a99039:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
a9903e:	33 c5                	xor    %ebp,%eax
a99040:	89 45 fc             	mov    %eax,-0x4(%ebp)
a99043:	8b 45 08             	mov    0x8(%ebp),%eax
a99046:	8b 55 10             	mov    0x10(%ebp),%edx
a99049:	89 45 d0             	mov    %eax,-0x30(%ebp)
a9904c:	8b 45 14             	mov    0x14(%ebp),%eax
a9904f:	53                   	push   %ebx
a99050:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
a99053:	89 45 dc             	mov    %eax,-0x24(%ebp)
a99056:	8b 45 0c             	mov    0xc(%ebp),%eax
a99059:	89 55 d4             	mov    %edx,-0x2c(%ebp)
a9905c:	89 5d d8             	mov    %ebx,-0x28(%ebp)
a9905f:	56                   	push   %esi
a99060:	8b 75 18             	mov    0x18(%ebp),%esi
a99063:	89 75 e4             	mov    %esi,-0x1c(%ebp)
a99066:	57                   	push   %edi
a99067:	83 e8 00             	sub    $0x0,%eax
a9906a:	74 15                	je     0xa99081
a9906c:	83 e8 01             	sub    $0x1,%eax
a9906f:	74 08                	je     0xa99079
a99071:	8b bb 5c 01 00 00    	mov    0x15c(%ebx),%edi
a99077:	eb 0e                	jmp    0xa99087
a99079:	8b bb 58 01 00 00    	mov    0x158(%ebx),%edi
a9907f:	eb 06                	jmp    0xa99087
a99081:	8b bb 54 01 00 00    	mov    0x154(%ebx),%edi
a99087:	83 bb ac 00 00 00 01 	cmpl   $0x1,0xac(%ebx)
a9908e:	0f 84 e9 03 00 00    	je     0xa9947d
a99094:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
a99098:	b8 6c 07 00 00       	mov    $0x76c,%eax
a9909d:	0f 94 c1             	sete   %cl
a990a0:	66 03 42 14          	add    0x14(%edx),%ax
a990a4:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
a990a8:	66 8b 42 10          	mov    0x10(%edx),%ax
a990ac:	66 40                	inc    %ax
a990ae:	88 4d e3             	mov    %cl,-0x1d(%ebp)
a990b1:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
a990b5:	66 8b 42 0c          	mov    0xc(%edx),%ax
a990b9:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
a990bd:	66 8b 42 08          	mov    0x8(%edx),%ax
a990c1:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
a990c5:	66 8b 42 04          	mov    0x4(%edx),%ax
a990c9:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
a990cd:	66 8b 02             	mov    (%edx),%ax
a990d0:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
a990d4:	33 c0                	xor    %eax,%eax
a990d6:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
a990da:	8d 45 ec             	lea    -0x14(%ebp),%eax
a990dd:	84 c9                	test   %cl,%cl
a990df:	74 14                	je     0xa990f5
a990e1:	33 c9                	xor    %ecx,%ecx
a990e3:	51                   	push   %ecx
a990e4:	51                   	push   %ecx
a990e5:	57                   	push   %edi
a990e6:	50                   	push   %eax
a990e7:	51                   	push   %ecx
a990e8:	ff b3 60 01 00 00    	push   0x160(%ebx)
a990ee:	e8 ce 62 97 ff       	call   0x40f3c1
a990f3:	eb 13                	jmp    0xa99108
a990f5:	33 c9                	xor    %ecx,%ecx
a990f7:	51                   	push   %ecx
a990f8:	51                   	push   %ecx
a990f9:	51                   	push   %ecx
a990fa:	57                   	push   %edi
a990fb:	50                   	push   %eax
a990fc:	51                   	push   %ecx
a990fd:	ff b3 60 01 00 00    	push   0x160(%ebx)
a99103:	e8 5c 17 9a ff       	call   0x43a864
a99108:	8b d8                	mov    %eax,%ebx
a9910a:	85 db                	test   %ebx,%ebx
a9910c:	0f 84 6b 03 00 00    	je     0xa9947d
a99112:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
a99115:	8d 4a 08             	lea    0x8(%edx),%ecx
a99118:	3b d1                	cmp    %ecx,%edx
a9911a:	1b c0                	sbb    %eax,%eax
a9911c:	85 c1                	test   %eax,%ecx
a9911e:	74 58                	je     0xa99178
a99120:	8d 4a 08             	lea    0x8(%edx),%ecx
a99123:	3b d1                	cmp    %ecx,%edx
a99125:	1b c0                	sbb    %eax,%eax
a99127:	23 c1                	and    %ecx,%eax
a99129:	8d 4a 08             	lea    0x8(%edx),%ecx
a9912c:	3d 00 04 00 00       	cmp    $0x400,%eax
a99131:	77 23                	ja     0xa99156
a99133:	3b d1                	cmp    %ecx,%edx
a99135:	1b c0                	sbb    %eax,%eax
a99137:	23 c1                	and    %ecx,%eax
a99139:	e8 8c 3a 98 ff       	call   0x41cbca
a9913e:	8b f4                	mov    %esp,%esi
a99140:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99143:	85 f6                	test   %esi,%esi
a99145:	0f 84 b4 00 00 00    	je     0xa991ff
a9914b:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
a99151:	83 c6 08             	add    $0x8,%esi
a99154:	eb 24                	jmp    0xa9917a
a99156:	3b d1                	cmp    %ecx,%edx
a99158:	1b c0                	sbb    %eax,%eax
a9915a:	23 c1                	and    %ecx,%eax
a9915c:	50                   	push   %eax
a9915d:	e8 6d 2a 99 ff       	call   0x42bbcf
a99162:	8b f0                	mov    %eax,%esi
a99164:	89 75 e8             	mov    %esi,-0x18(%ebp)
a99167:	59                   	pop    %ecx
a99168:	85 f6                	test   %esi,%esi
a9916a:	0f 84 8f 00 00 00    	je     0xa991ff
a99170:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
a99176:	eb d9                	jmp    0xa99151
a99178:	33 f6                	xor    %esi,%esi
a9917a:	89 75 e8             	mov    %esi,-0x18(%ebp)
a9917d:	85 f6                	test   %esi,%esi
a9917f:	74 7e                	je     0xa991ff
a99181:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
a99185:	8d 45 ec             	lea    -0x14(%ebp),%eax
a99188:	74 16                	je     0xa991a0
a9918a:	53                   	push   %ebx
a9918b:	56                   	push   %esi
a9918c:	57                   	push   %edi
a9918d:	50                   	push   %eax
a9918e:	8b 45 d8             	mov    -0x28(%ebp),%eax
a99191:	6a 00                	push   $0x0
a99193:	ff b0 60 01 00 00    	push   0x160(%eax)
a99199:	e8 23 62 97 ff       	call   0x40f3c1
a9919e:	eb 16                	jmp    0xa991b6
a991a0:	6a 00                	push   $0x0
a991a2:	53                   	push   %ebx
a991a3:	56                   	push   %esi
a991a4:	57                   	push   %edi
a991a5:	50                   	push   %eax
a991a6:	8b 45 d8             	mov    -0x28(%ebp),%eax
a991a9:	6a 00                	push   $0x0
a991ab:	ff b0 60 01 00 00    	push   0x160(%eax)
a991b1:	e8 ae 16 9a ff       	call   0x43a864
a991b6:	8b d0                	mov    %eax,%edx
a991b8:	8b fe                	mov    %esi,%edi
a991ba:	4a                   	dec    %edx
a991bb:	85 d2                	test   %edx,%edx
a991bd:	7e 23                	jle    0xa991e2
a991bf:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
a991c2:	8b 75 dc             	mov    -0x24(%ebp),%esi
a991c5:	83 3b 00             	cmpl   $0x0,(%ebx)
a991c8:	76 15                	jbe    0xa991df
a991ca:	8b 0e                	mov    (%esi),%ecx
a991cc:	66 8b 07             	mov    (%edi),%ax
a991cf:	83 c7 02             	add    $0x2,%edi
a991d2:	66 89 01             	mov    %ax,(%ecx)
a991d5:	83 06 02             	addl   $0x2,(%esi)
a991d8:	ff 0b                	decl   (%ebx)
a991da:	4a                   	dec    %edx
a991db:	85 d2                	test   %edx,%edx
a991dd:	7f e6                	jg     0xa991c5
a991df:	8b 75 e8             	mov    -0x18(%ebp),%esi
a991e2:	56                   	push   %esi
a991e3:	e8 25 96 99 ff       	call   0x43280d
a991e8:	59                   	pop    %ecx
a991e9:	b0 01                	mov    $0x1,%al
a991eb:	8d 65 c4             	lea    -0x3c(%ebp),%esp
a991ee:	5f                   	pop    %edi
a991ef:	5e                   	pop    %esi
a991f0:	5b                   	pop    %ebx
a991f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
a991f4:	33 cd                	xor    %ebp,%ecx
a991f6:	e8 bb 25 98 ff       	call   0x41b7b6
a991fb:	8b e5                	mov    %ebp,%esp
a991fd:	5d                   	pop    %ebp
a991fe:	c3                   	ret
a991ff:	6a 00                	push   $0x0
a99201:	e8 07 96 99 ff       	call   0x43280d
a99206:	8b 75 e4             	mov    -0x1c(%ebp),%esi
a99209:	59                   	pop    %ecx
a9920a:	e9 6e 02 00 00       	jmp    0xa9947d
a9920f:	83 3e 00             	cmpl   $0x0,(%esi)
a99212:	74 d5                	je     0xa991e9
a99214:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
a99218:	33 c9                	xor    %ecx,%ecx
a9921a:	89 7d e8             	mov    %edi,-0x18(%ebp)
a9921d:	8b df                	mov    %edi,%ebx
a9921f:	0f b7 c2             	movzwl %dx,%eax
a99222:	83 c3 02             	add    $0x2,%ebx
a99225:	41                   	inc    %ecx
a99226:	66 39 03             	cmp    %ax,(%ebx)
a99229:	74 f7                	je     0xa99222
a9922b:	0f b7 c2             	movzwl %dx,%eax
a9922e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
a99231:	8b 5d d8             	mov    -0x28(%ebp),%ebx
a99234:	83 f8 64             	cmp    $0x64,%eax
a99237:	0f 8f 2f 01 00 00    	jg     0xa9936c
a9923d:	0f 84 f8 00 00 00    	je     0xa9933b
a99243:	83 f8 27             	cmp    $0x27,%eax
a99246:	0f 84 9a 00 00 00    	je     0xa992e6
a9924c:	83 f8 41             	cmp    $0x41,%eax
a9924f:	74 13                	je     0xa99264
a99251:	83 f8 48             	cmp    $0x48,%eax
a99254:	74 58                	je     0xa992ae
a99256:	83 f8 4d             	cmp    $0x4d,%eax
a99259:	74 22                	je     0xa9927d
a9925b:	83 f8 61             	cmp    $0x61,%eax
a9925e:	0f 85 e2 01 00 00    	jne    0xa99446
a99264:	68 d8 e7 c7 00       	push   $0xc7e7d8
a99269:	57                   	push   %edi
a9926a:	e8 92 a1 99 ff       	call   0x433401
a9926f:	59                   	pop    %ecx
a99270:	59                   	pop    %ecx
a99271:	85 c0                	test   %eax,%eax
a99273:	75 53                	jne    0xa992c8
a99275:	8d 4f 0a             	lea    0xa(%edi),%ecx
a99278:	89 4d e8             	mov    %ecx,-0x18(%ebp)
a9927b:	eb 62                	jmp    0xa992df
a9927d:	83 e9 01             	sub    $0x1,%ecx
a99280:	74 21                	je     0xa992a3
a99282:	83 e9 01             	sub    $0x1,%ecx
a99285:	74 20                	je     0xa992a7
a99287:	83 e9 01             	sub    $0x1,%ecx
a9928a:	74 10                	je     0xa9929c
a9928c:	83 e9 01             	sub    $0x1,%ecx
a9928f:	0f 85 b1 01 00 00    	jne    0xa99446
a99295:	6a 42                	push   $0x42
a99297:	e9 c2 01 00 00       	jmp    0xa9945e
a9929c:	6a 62                	push   $0x62
a9929e:	e9 bb 01 00 00       	jmp    0xa9945e
a992a3:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
a992a7:	6a 6d                	push   $0x6d
a992a9:	e9 b0 01 00 00       	jmp    0xa9945e
a992ae:	83 e9 01             	sub    $0x1,%ecx
a992b1:	74 0a                	je     0xa992bd
a992b3:	83 e9 01             	sub    $0x1,%ecx
a992b6:	74 09                	je     0xa992c1
a992b8:	e9 89 01 00 00       	jmp    0xa99446
a992bd:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
a992c1:	6a 48                	push   $0x48
a992c3:	e9 96 01 00 00       	jmp    0xa9945e
a992c8:	68 e8 e7 c7 00       	push   $0xc7e7e8
a992cd:	57                   	push   %edi
a992ce:	e8 2e a1 99 ff       	call   0x433401
a992d3:	59                   	pop    %ecx
a992d4:	59                   	pop    %ecx
a992d5:	85 c0                	test   %eax,%eax
a992d7:	75 06                	jne    0xa992df
a992d9:	8d 47 06             	lea    0x6(%edi),%eax
a992dc:	89 45 e8             	mov    %eax,-0x18(%ebp)
a992df:	6a 70                	push   $0x70
a992e1:	e9 78 01 00 00       	jmp    0xa9945e
a992e6:	8b c1                	mov    %ecx,%eax
a992e8:	25 01 00 00 80       	and    $0x80000001,%eax
a992ed:	79 05                	jns    0xa992f4
a992ef:	48                   	dec    %eax
a992f0:	83 c8 fe             	or     $0xfffffffe,%eax
a992f3:	40                   	inc    %eax
a992f4:	8d 3c 4f             	lea    (%edi,%ecx,2),%edi
a992f7:	0f 85 80 01 00 00    	jne    0xa9947d
a992fd:	0f b7 0f             	movzwl (%edi),%ecx
a99300:	66 85 c9             	test   %cx,%cx
a99303:	0f 84 e0 fe ff ff    	je     0xa991e9
a99309:	8b 55 dc             	mov    -0x24(%ebp),%edx
a9930c:	83 3e 00             	cmpl   $0x0,(%esi)
a9930f:	0f 84 68 01 00 00    	je     0xa9947d
a99315:	6a 27                	push   $0x27
a99317:	58                   	pop    %eax
a99318:	83 c7 02             	add    $0x2,%edi
a9931b:	66 3b c8             	cmp    %ax,%cx
a9931e:	0f 84 59 01 00 00    	je     0xa9947d
a99324:	8b 02                	mov    (%edx),%eax
a99326:	66 89 08             	mov    %cx,(%eax)
a99329:	83 02 02             	addl   $0x2,(%edx)
a9932c:	ff 0e                	decl   (%esi)
a9932e:	0f b7 0f             	movzwl (%edi),%ecx
a99331:	66 85 c9             	test   %cx,%cx
a99334:	75 d6                	jne    0xa9930c
a99336:	e9 42 01 00 00       	jmp    0xa9947d
a9933b:	83 e9 01             	sub    $0x1,%ecx
a9933e:	74 21                	je     0xa99361