a971a8:	8b 46 38             	mov    0x38(%esi),%eax
a971ab:	85 c0                	test   %eax,%eax
a971ad:	7e 4f                	jle    0xa971fe
a971af:	8b 5e 34             	mov    0x34(%esi),%ebx
a971b2:	33 ff                	xor    %edi,%edi
a971b4:	85 c0                	test   %eax,%eax
a971b6:	74 5e                	je     0xa97216
a971b8:	33 c0                	xor    %eax,%eax
a971ba:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
a971be:	8b 46 08             	mov    0x8(%esi),%eax
a971c1:	50                   	push   %eax
a971c2:	8b 00                	mov    (%eax),%eax
a971c4:	ff 70 04             	push   0x4(%eax)
a971c7:	8d 45 fc             	lea    -0x4(%ebp),%eax
a971ca:	53                   	push   %ebx
a971cb:	50                   	push   %eax
a971cc:	e8 08 56 97 ff       	call   0x40c7d9
a971d1:	83 c4 10             	add    $0x10,%esp
a971d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
a971d7:	85 c0                	test   %eax,%eax
a971d9:	7e 1d                	jle    0xa971f8
a971db:	8d 4e 18             	lea    0x18(%esi),%ecx
a971de:	51                   	push   %ecx
a971df:	ff 75 fc             	push   -0x4(%ebp)
a971e2:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
a971e8:	e8 0e b9 99 ff       	call   0x432afb
a971ed:	03 5d f8             	add    -0x8(%ebp),%ebx
a971f0:	47                   	inc    %edi
a971f1:	3b 7e 38             	cmp    0x38(%esi),%edi
a971f4:	75 c2                	jne    0xa971b8
a971f6:	eb 1e                	jmp    0xa97216
a971f8:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
a971fc:	eb 18                	jmp    0xa97216
a971fe:	ff 76 0c             	push   0xc(%esi)
a97201:	8d 46 18             	lea    0x18(%esi),%eax
a97204:	50                   	push   %eax
a97205:	ff 76 38             	push   0x38(%esi)
a97208:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
a9720e:	ff 76 34             	push   0x34(%esi)
a97211:	e8 ce b2 98 ff       	call   0x4224e4
a97216:	5f                   	pop    %edi
a97217:	5e                   	pop    %esi
a97218:	b0 01                	mov    $0x1,%al
a9721a:	5b                   	pop    %ebx
a9721b:	8b e5                	mov    %ebp,%esp
a9721d:	5d                   	pop    %ebp
a9721e:	c2 04 00             	ret    $0x4
a97221:	cc                   	int3
a97222:	cc                   	int3
a97223:	cc                   	int3
a97224:	cc                   	int3
a97225:	cc                   	int3
a97226:	cc                   	int3
a97227:	cc                   	int3
a97228:	cc                   	int3
a97229:	cc                   	int3
a9722a:	cc                   	int3
a9722b:	cc                   	int3
a9722c:	cc                   	int3
a9722d:	cc                   	int3
a9722e:	cc                   	int3
a9722f:	cc                   	int3
a97230:	cc                   	int3
a97231:	cc                   	int3
a97232:	cc                   	int3
a97233:	cc                   	int3
a97234:	cc                   	int3
a97235:	cc                   	int3
a97236:	cc                   	int3
a97237:	cc                   	int3
a97238:	cc                   	int3
a97239:	cc                   	int3
a9723a:	cc                   	int3
a9723b:	cc                   	int3
a9723c:	cc                   	int3
a9723d:	cc                   	int3
a9723e:	cc                   	int3
a9723f:	cc                   	int3
a97240:	cc                   	int3
a97241:	cc                   	int3
a97242:	cc                   	int3
a97243:	8b ff                	mov    %edi,%edi
a97245:	55                   	push   %ebp
a97246:	8b ec                	mov    %esp,%ebp
a97248:	51                   	push   %ecx
a97249:	51                   	push   %ecx
a9724a:	53                   	push   %ebx
a9724b:	56                   	push   %esi
a9724c:	8b f1                	mov    %ecx,%esi
a9724e:	57                   	push   %edi
a9724f:	80 7e 3c 00          	cmpb   $0x0,0x3c(%esi)
a97253:	75 56                	jne    0xa972ab
a97255:	8b 46 38             	mov    0x38(%esi),%eax
a97258:	85 c0                	test   %eax,%eax
a9725a:	7e 4f                	jle    0xa972ab
a9725c:	8b 5e 34             	mov    0x34(%esi),%ebx
a9725f:	33 ff                	xor    %edi,%edi
a97261:	85 c0                	test   %eax,%eax
a97263:	74 5e                	je     0xa972c3
a97265:	33 c0                	xor    %eax,%eax
a97267:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
a9726b:	8b 46 08             	mov    0x8(%esi),%eax
a9726e:	50                   	push   %eax
a9726f:	8b 00                	mov    (%eax),%eax
a97271:	ff 70 04             	push   0x4(%eax)
a97274:	8d 45 fc             	lea    -0x4(%ebp),%eax
a97277:	53                   	push   %ebx
a97278:	50                   	push   %eax
a97279:	e8 5b 55 97 ff       	call   0x40c7d9
a9727e:	83 c4 10             	add    $0x10,%esp
a97281:	89 45 f8             	mov    %eax,-0x8(%ebp)
a97284:	85 c0                	test   %eax,%eax
a97286:	7e 1d                	jle    0xa972a5
a97288:	8d 4e 18             	lea    0x18(%esi),%ecx
a9728b:	51                   	push   %ecx
a9728c:	ff 75 fc             	push   -0x4(%ebp)
a9728f:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
a97295:	e8 61 b8 99 ff       	call   0x432afb
a9729a:	03 5d f8             	add    -0x8(%ebp),%ebx
a9729d:	47                   	inc    %edi
a9729e:	3b 7e 38             	cmp    0x38(%esi),%edi
a972a1:	75 c2                	jne    0xa97265
a972a3:	eb 1e                	jmp    0xa972c3
a972a5:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
a972a9:	eb 18                	jmp    0xa972c3
a972ab:	ff 76 0c             	push   0xc(%esi)
a972ae:	8d 46 18             	lea    0x18(%esi),%eax
a972b1:	50                   	push   %eax
a972b2:	ff 76 38             	push   0x38(%esi)
a972b5:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
a972bb:	ff 76 34             	push   0x34(%esi)
a972be:	e8 21 b2 98 ff       	call   0x4224e4
a972c3:	5f                   	pop    %edi
a972c4:	5e                   	pop    %esi
a972c5:	b0 01                	mov    $0x1,%al
a972c7:	5b                   	pop    %ebx
a972c8:	8b e5                	mov    %ebp,%esp
a972ca:	5d                   	pop    %ebp
a972cb:	c2 04 00             	ret    $0x4
a972ce:	cc                   	int3
a972cf:	cc                   	int3
a972d0:	cc                   	int3
a972d1:	cc                   	int3
a972d2:	cc                   	int3
a972d3:	cc                   	int3
a972d4:	cc                   	int3
a972d5:	cc                   	int3
a972d6:	cc                   	int3
a972d7:	cc                   	int3
a972d8:	cc                   	int3
a972d9:	cc                   	int3
a972da:	cc                   	int3
a972db:	cc                   	int3
a972dc:	cc                   	int3
a972dd:	cc                   	int3
a972de:	cc                   	int3
a972df:	cc                   	int3
a972e0:	cc                   	int3
a972e1:	cc                   	int3
a972e2:	cc                   	int3
a972e3:	cc                   	int3
a972e4:	cc                   	int3
a972e5:	cc                   	int3
a972e6:	cc                   	int3
a972e7:	cc                   	int3
a972e8:	cc                   	int3
a972e9:	cc                   	int3
a972ea:	cc                   	int3
a972eb:	cc                   	int3
a972ec:	cc                   	int3
a972ed:	cc                   	int3
a972ee:	cc                   	int3
a972ef:	cc                   	int3
a972f0:	8b ff                	mov    %edi,%edi
a972f2:	55                   	push   %ebp
a972f3:	8b ec                	mov    %esp,%ebp
a972f5:	51                   	push   %ecx
a972f6:	51                   	push   %ecx
a972f7:	53                   	push   %ebx
a972f8:	8b d9                	mov    %ecx,%ebx
a972fa:	8b 03                	mov    (%ebx),%eax
a972fc:	8b 40 0c             	mov    0xc(%eax),%eax
a972ff:	c1 e8 0c             	shr    $0xc,%eax
a97302:	a8 01                	test   $0x1,%al
a97304:	74 12                	je     0xa97318
a97306:	8b 03                	mov    (%ebx),%eax
a97308:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
a9730c:	75 0a                	jne    0xa97318
a9730e:	8b 4d 10             	mov    0x10(%ebp),%ecx
a97311:	8b 45 0c             	mov    0xc(%ebp),%eax
a97314:	01 01                	add    %eax,(%ecx)
a97316:	eb 5b                	jmp    0xa97373
a97318:	8b 45 0c             	mov    0xc(%ebp),%eax
a9731b:	56                   	push   %esi
a9731c:	8b 75 14             	mov    0x14(%ebp),%esi
a9731f:	57                   	push   %edi
a97320:	8b 7d 08             	mov    0x8(%ebp),%edi
a97323:	03 c7                	add    %edi,%eax
a97325:	89 45 fc             	mov    %eax,-0x4(%ebp)
a97328:	8b 0e                	mov    (%esi),%ecx
a9732a:	83 26 00             	andl   $0x0,(%esi)
a9732d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a97330:	3b f8                	cmp    %eax,%edi
a97332:	74 32                	je     0xa97366
a97334:	8b 45 10             	mov    0x10(%ebp),%eax
a97337:	50                   	push   %eax
a97338:	0f b6 07             	movzbl (%edi),%eax
a9733b:	8b cb                	mov    %ebx,%ecx
a9733d:	50                   	push   %eax
a9733e:	e8 12 97 97 ff       	call   0x410a55
a97343:	8b 45 10             	mov    0x10(%ebp),%eax
a97346:	83 38 ff             	cmpl   $0xffffffff,(%eax)
a97349:	75 12                	jne    0xa9735d
a9734b:	83 3e 2a             	cmpl   $0x2a,(%esi)
a9734e:	75 13                	jne    0xa97363
a97350:	50                   	push   %eax
a97351:	6a 3f                	push   $0x3f
a97353:	8b cb                	mov    %ebx,%ecx
a97355:	e8 fb 96 97 ff       	call   0x410a55
a9735a:	8b 45 10             	mov    0x10(%ebp),%eax
a9735d:	47                   	inc    %edi
a9735e:	3b 7d fc             	cmp    -0x4(%ebp),%edi
a97361:	75 d4                	jne    0xa97337
a97363:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a97366:	83 3e 00             	cmpl   $0x0,(%esi)
a97369:	75 06                	jne    0xa97371
a9736b:	85 c9                	test   %ecx,%ecx
a9736d:	74 02                	je     0xa97371
a9736f:	89 0e                	mov    %ecx,(%esi)
a97371:	5f                   	pop    %edi
a97372:	5e                   	pop    %esi
a97373:	5b                   	pop    %ebx
a97374:	8b e5                	mov    %ebp,%esp
a97376:	5d                   	pop    %ebp
a97377:	c2 10 00             	ret    $0x10
a9737a:	cc                   	int3
a9737b:	cc                   	int3
a9737c:	cc                   	int3
a9737d:	cc                   	int3
a9737e:	cc                   	int3
a9737f:	cc                   	int3
a97380:	cc                   	int3
a97381:	cc                   	int3
a97382:	cc                   	int3
a97383:	cc                   	int3
a97384:	cc                   	int3
a97385:	cc                   	int3
a97386:	cc                   	int3
a97387:	cc                   	int3
a97388:	cc                   	int3
a97389:	cc                   	int3
a9738a:	cc                   	int3
a9738b:	cc                   	int3
a9738c:	cc                   	int3
a9738d:	cc                   	int3
a9738e:	cc                   	int3
a9738f:	cc                   	int3
a97390:	cc                   	int3
a97391:	cc                   	int3
a97392:	cc                   	int3
a97393:	cc                   	int3
a97394:	cc                   	int3
a97395:	cc                   	int3
a97396:	cc                   	int3
a97397:	cc                   	int3
a97398:	cc                   	int3
a97399:	cc                   	int3
a9739a:	cc                   	int3
a9739b:	cc                   	int3
a9739c:	8b ff                	mov    %edi,%edi
a9739e:	55                   	push   %ebp
a9739f:	8b ec                	mov    %esp,%ebp
a973a1:	51                   	push   %ecx
a973a2:	51                   	push   %ecx
a973a3:	53                   	push   %ebx
a973a4:	8b d9                	mov    %ecx,%ebx
a973a6:	8b 03                	mov    (%ebx),%eax
a973a8:	8b 40 0c             	mov    0xc(%eax),%eax
a973ab:	c1 e8 0c             	shr    $0xc,%eax
a973ae:	a8 01                	test   $0x1,%al
a973b0:	74 12                	je     0xa973c4
a973b2:	8b 03                	mov    (%ebx),%eax
a973b4:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
a973b8:	75 0a                	jne    0xa973c4
a973ba:	8b 4d 10             	mov    0x10(%ebp),%ecx
a973bd:	8b 45 0c             	mov    0xc(%ebp),%eax
a973c0:	01 01                	add    %eax,(%ecx)
a973c2:	eb 5e                	jmp    0xa97422
a973c4:	8b 45 0c             	mov    0xc(%ebp),%eax
a973c7:	56                   	push   %esi
a973c8:	8b 75 14             	mov    0x14(%ebp),%esi
a973cb:	57                   	push   %edi
a973cc:	8b 7d 08             	mov    0x8(%ebp),%edi
a973cf:	8b 0e                	mov    (%esi),%ecx
a973d1:	83 26 00             	andl   $0x0,(%esi)
a973d4:	8d 04 47             	lea    (%edi,%eax,2),%eax
a973d7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
a973da:	89 45 fc             	mov    %eax,-0x4(%ebp)
a973dd:	3b f8                	cmp    %eax,%edi
a973df:	74 34                	je     0xa97415
a973e1:	8b 45 10             	mov    0x10(%ebp),%eax
a973e4:	50                   	push   %eax
a973e5:	0f b7 07             	movzwl (%edi),%eax
a973e8:	8b cb                	mov    %ebx,%ecx
a973ea:	50                   	push   %eax
a973eb:	e8 03 fe 96 ff       	call   0x4071f3
a973f0:	8b 45 10             	mov    0x10(%ebp),%eax
a973f3:	83 38 ff             	cmpl   $0xffffffff,(%eax)
a973f6:	75 12                	jne    0xa9740a
a973f8:	83 3e 2a             	cmpl   $0x2a,(%esi)
a973fb:	75 15                	jne    0xa97412
a973fd:	50                   	push   %eax
a973fe:	6a 3f                	push   $0x3f
a97400:	8b cb                	mov    %ebx,%ecx
a97402:	e8 ec fd 96 ff       	call   0x4071f3
a97407:	8b 45 10             	mov    0x10(%ebp),%eax
a9740a:	83 c7 02             	add    $0x2,%edi
a9740d:	3b 7d fc             	cmp    -0x4(%ebp),%edi
a97410:	75 d2                	jne    0xa973e4
a97412:	8b 4d f8             	mov    -0x8(%ebp),%ecx
a97415:	83 3e 00             	cmpl   $0x0,(%esi)
a97418:	75 06                	jne    0xa97420
a9741a:	85 c9                	test   %ecx,%ecx
a9741c:	74 02                	je     0xa97420
a9741e:	89 0e                	mov    %ecx,(%esi)
a97420:	5f                   	pop    %edi
a97421:	5e                   	pop    %esi
a97422:	5b                   	pop    %ebx
a97423:	8b e5                	mov    %ebp,%esp
a97425:	5d                   	pop    %ebp
a97426:	c2 10 00             	ret    $0x10
a97429:	cc                   	int3
a9742a:	cc                   	int3
a9742b:	cc                   	int3
a9742c:	cc                   	int3
a9742d:	cc                   	int3
a9742e:	cc                   	int3
a9742f:	cc                   	int3
a97430:	cc                   	int3
a97431:	cc                   	int3
a97432:	cc                   	int3
a97433:	cc                   	int3
a97434:	cc                   	int3
a97435:	cc                   	int3
a97436:	cc                   	int3
a97437:	cc                   	int3
a97438:	cc                   	int3
a97439:	cc                   	int3
a9743a:	cc                   	int3
a9743b:	cc                   	int3