54d1d9:	85 db                	test   %ebx,%ebx
54d1db:	7e 13                	jle    0x54d1f0
54d1dd:	8b 47 04             	mov    0x4(%edi),%eax
54d1e0:	83 c0 08             	add    $0x8,%eax
54d1e3:	f6 00 01             	testb  $0x1,(%eax)
54d1e6:	75 28                	jne    0x54d210
54d1e8:	41                   	inc    %ecx
54d1e9:	83 c0 28             	add    $0x28,%eax
54d1ec:	3b cb                	cmp    %ebx,%ecx
54d1ee:	7c f3                	jl     0x54d1e3
54d1f0:	8b 45 0c             	mov    0xc(%ebp),%eax
54d1f3:	6a 00                	push   $0x0
54d1f5:	57                   	push   %edi
54d1f6:	ff 70 10             	push   0x10(%eax)
54d1f9:	ff 70 0c             	push   0xc(%eax)
54d1fc:	e8 3f f3 ff ff       	call   0x54c540
54d201:	8b 4d 14             	mov    0x14(%ebp),%ecx
54d204:	83 c4 10             	add    $0x10,%esp
54d207:	5f                   	pop    %edi
54d208:	5e                   	pop    %esi
54d209:	89 01                	mov    %eax,(%ecx)
54d20b:	33 c0                	xor    %eax,%eax
54d20d:	5b                   	pop    %ebx
54d20e:	5d                   	pop    %ebp
54d20f:	c3                   	ret
54d210:	8b 45 14             	mov    0x14(%ebp),%eax
54d213:	5f                   	pop    %edi
54d214:	5e                   	pop    %esi
54d215:	5b                   	pop    %ebx
54d216:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
54d21c:	33 c0                	xor    %eax,%eax
54d21e:	5d                   	pop    %ebp
54d21f:	c3                   	ret
54d220:	55                   	push   %ebp
54d221:	8b ec                	mov    %esp,%ebp
54d223:	83 ec 10             	sub    $0x10,%esp
54d226:	53                   	push   %ebx
54d227:	8b 5d 08             	mov    0x8(%ebp),%ebx
54d22a:	56                   	push   %esi
54d22b:	57                   	push   %edi
54d22c:	33 ff                	xor    %edi,%edi
54d22e:	80 7b 50 02          	cmpb   $0x2,0x50(%ebx)
54d232:	74 11                	je     0x54d245
54d234:	80 3d 14 18 72 00 00 	cmpb   $0x0,0x721814
54d23b:	74 08                	je     0x54d245
54d23d:	8b 8b 98 00 00 00    	mov    0x98(%ebx),%ecx
54d243:	eb 02                	jmp    0x54d247
54d245:	33 c9                	xor    %ecx,%ecx
54d247:	8b 45 10             	mov    0x10(%ebp),%eax
54d24a:	89 4d 08             	mov    %ecx,0x8(%ebp)
54d24d:	8b 40 2c             	mov    0x2c(%eax),%eax
54d250:	0f b7 40 06          	movzwl 0x6(%eax),%eax
54d254:	8d 14 85 14 00 00 00 	lea    0x14(,%eax,4),%edx
54d25b:	8d 04 c9             	lea    (%ecx,%ecx,8),%eax
54d25e:	89 55 f4             	mov    %edx,-0xc(%ebp)
54d261:	8d 04 c5 88 00 00 00 	lea    0x88(,%eax,8),%eax
54d268:	89 45 fc             	mov    %eax,-0x4(%ebp)
54d26b:	03 c2                	add    %edx,%eax
54d26d:	99                   	cltd
54d26e:	52                   	push   %edx
54d26f:	50                   	push   %eax
54d270:	53                   	push   %ebx
54d271:	89 45 f8             	mov    %eax,-0x8(%ebp)
54d274:	e8 67 41 fd ff       	call   0x5213e0
54d279:	8b f0                	mov    %eax,%esi
54d27b:	83 c4 0c             	add    $0xc,%esp
54d27e:	85 f6                	test   %esi,%esi
54d280:	74 0e                	je     0x54d290
54d282:	ff 75 f8             	push   -0x8(%ebp)
54d285:	6a 00                	push   $0x0
54d287:	56                   	push   %esi
54d288:	e8 73 67 09 00       	call   0x5e3a00
54d28d:	83 c4 0c             	add    $0xc,%esp
54d290:	8b 4d 10             	mov    0x10(%ebp),%ecx
54d293:	89 71 28             	mov    %esi,0x28(%ecx)
54d296:	85 f6                	test   %esi,%esi
54d298:	75 0a                	jne    0x54d2a4
54d29a:	5f                   	pop    %edi
54d29b:	8d 46 07             	lea    0x7(%esi),%eax
54d29e:	5e                   	pop    %esi
54d29f:	5b                   	pop    %ebx
54d2a0:	8b e5                	mov    %ebp,%esp
54d2a2:	5d                   	pop    %ebp
54d2a3:	c3                   	ret
54d2a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
54d2a7:	ff 75 f4             	push   -0xc(%ebp)
54d2aa:	03 c6                	add    %esi,%eax
54d2ac:	89 46 1c             	mov    %eax,0x1c(%esi)
54d2af:	ff 71 2c             	push   0x2c(%ecx)
54d2b2:	50                   	push   %eax
54d2b3:	e8 48 5c 09 00       	call   0x5e2f00
54d2b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54d2bb:	83 c4 0c             	add    $0xc,%esp
54d2be:	8b 45 0c             	mov    0xc(%ebp),%eax
54d2c1:	89 7c 0e 0c          	mov    %edi,0xc(%esi,%ecx,1)
54d2c5:	85 c0                	test   %eax,%eax
54d2c7:	74 0a                	je     0x54d2d3
54d2c9:	39 7d 08             	cmp    %edi,0x8(%ebp)
54d2cc:	75 05                	jne    0x54d2d3
54d2ce:	66 89 44 0e 06       	mov    %ax,0x6(%esi,%ecx,1)
54d2d3:	8b 43 10             	mov    0x10(%ebx),%eax
54d2d6:	8b 40 04             	mov    0x4(%eax),%eax
54d2d9:	8b 40 04             	mov    0x4(%eax),%eax
54d2dc:	8b 40 20             	mov    0x20(%eax),%eax
54d2df:	89 45 10             	mov    %eax,0x10(%ebp)
54d2e2:	89 46 0c             	mov    %eax,0xc(%esi)
54d2e5:	8b 45 08             	mov    0x8(%ebp),%eax
54d2e8:	89 5e 18             	mov    %ebx,0x18(%esi)
54d2eb:	8d 48 01             	lea    0x1(%eax),%ecx
54d2ee:	fe c8                	dec    %al
54d2f0:	80 f9 01             	cmp    $0x1,%cl
54d2f3:	88 46 3a             	mov    %al,0x3a(%esi)
54d2f6:	88 4e 3b             	mov    %cl,0x3b(%esi)
54d2f9:	0f 97 c0             	seta   %al
54d2fc:	33 d2                	xor    %edx,%edx
54d2fe:	88 46 39             	mov    %al,0x39(%esi)
54d301:	84 c9                	test   %cl,%cl
54d303:	74 19                	je     0x54d31e
54d305:	8d 4e 48             	lea    0x48(%esi),%ecx
54d308:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
54d30f:	00
54d310:	89 31                	mov    %esi,(%ecx)
54d312:	8d 49 48             	lea    0x48(%ecx),%ecx
54d315:	0f b6 46 3b          	movzbl 0x3b(%esi),%eax
54d319:	42                   	inc    %edx
54d31a:	3b d0                	cmp    %eax,%edx
54d31c:	7c f2                	jl     0x54d310
54d31e:	80 7b 50 02          	cmpb   $0x2,0x50(%ebx)
54d322:	0f 84 86 00 00 00    	je     0x54d3ae
54d328:	a1 dc 18 72 00       	mov    0x7218dc,%eax
54d32d:	8b 4d 10             	mov    0x10(%ebp),%ecx
54d330:	0f af c1             	imul   %ecx,%eax
54d333:	89 45 f8             	mov    %eax,-0x8(%ebp)
54d336:	89 06                	mov    %eax,(%esi)
54d338:	8b 43 10             	mov    0x10(%ebx),%eax
54d33b:	8b 40 0c             	mov    0xc(%eax),%eax
54d33e:	8b 40 50             	mov    0x50(%eax),%eax
54d341:	99                   	cltd
54d342:	89 45 f4             	mov    %eax,-0xc(%ebp)
54d345:	89 55 08             	mov    %edx,0x8(%ebp)
54d348:	85 d2                	test   %edx,%edx
54d34a:	7f 0f                	jg     0x54d35b
54d34c:	7c 04                	jl     0x54d352
54d34e:	85 c0                	test   %eax,%eax
54d350:	73 09                	jae    0x54d35b
54d352:	6a ff                	push   $0xffffffff
54d354:	68 00 fc ff ff       	push   $0xfffffc00
54d359:	eb 09                	jmp    0x54d364
54d35b:	ff 75 08             	push   0x8(%ebp)
54d35e:	8b c1                	mov    %ecx,%eax
54d360:	ff 75 f4             	push   -0xc(%ebp)
54d363:	99                   	cltd
54d364:	52                   	push   %edx
54d365:	50                   	push   %eax
54d366:	e8 95 47 09 00       	call   0x5e1b00
54d36b:	85 d2                	test   %edx,%edx
54d36d:	7c 0e                	jl     0x54d37d
54d36f:	7f 07                	jg     0x54d378
54d371:	3d 00 00 00 20       	cmp    $0x20000000,%eax
54d376:	72 05                	jb     0x54d37d
54d378:	b8 00 00 00 20       	mov    $0x20000000,%eax
54d37d:	39 45 f8             	cmp    %eax,-0x8(%ebp)
54d380:	0f 4f 45 f8          	cmovg  -0x8(%ebp),%eax
54d384:	89 46 04             	mov    %eax,0x4(%esi)
54d387:	80 3d 18 18 72 00 00 	cmpb   $0x0,0x721818
54d38e:	75 1e                	jne    0x54d3ae
54d390:	8b 45 10             	mov    0x10(%ebp),%eax
54d393:	89 46 34             	mov    %eax,0x34(%esi)
54d396:	99                   	cltd
54d397:	52                   	push   %edx
54d398:	50                   	push   %eax
54d399:	e8 c2 3b fe ff       	call   0x530f60
54d39e:	83 c4 08             	add    $0x8,%esp
54d3a1:	89 46 28             	mov    %eax,0x28(%esi)
54d3a4:	85 c0                	test   %eax,%eax
54d3a6:	b9 07 00 00 00       	mov    $0x7,%ecx
54d3ab:	0f 44 f9             	cmove  %ecx,%edi
54d3ae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54d3b1:	66 83 7c 0e 08 0d    	cmpw   $0xd,0x8(%esi,%ecx,1)
54d3b7:	73 23                	jae    0x54d3dc
54d3b9:	8b 44 0e 14          	mov    0x14(%esi,%ecx,1),%eax
54d3bd:	85 c0                	test   %eax,%eax
54d3bf:	74 05                	je     0x54d3c6
54d3c1:	3b 43 08             	cmp    0x8(%ebx),%eax
54d3c4:	75 16                	jne    0x54d3dc
54d3c6:	8b 44 0e 10          	mov    0x10(%esi,%ecx,1),%eax
54d3ca:	f6 00 02             	testb  $0x2,(%eax)
54d3cd:	8b c7                	mov    %edi,%eax
54d3cf:	75 0d                	jne    0x54d3de
54d3d1:	5f                   	pop    %edi
54d3d2:	c6 46 3c 03          	movb   $0x3,0x3c(%esi)
54d3d6:	5e                   	pop    %esi
54d3d7:	5b                   	pop    %ebx
54d3d8:	8b e5                	mov    %ebp,%esp
54d3da:	5d                   	pop    %ebp
54d3db:	c3                   	ret
54d3dc:	8b c7                	mov    %edi,%eax
54d3de:	5f                   	pop    %edi
54d3df:	5e                   	pop    %esi
54d3e0:	5b                   	pop    %ebx
54d3e1:	8b e5                	mov    %ebp,%esp
54d3e3:	5d                   	pop    %ebp
54d3e4:	c3                   	ret
54d3e5:	cc                   	int3
54d3e6:	cc                   	int3
54d3e7:	cc                   	int3
54d3e8:	cc                   	int3
54d3e9:	cc                   	int3
54d3ea:	cc                   	int3
54d3eb:	cc                   	int3
54d3ec:	cc                   	int3
54d3ed:	cc                   	int3
54d3ee:	cc                   	int3
54d3ef:	cc                   	int3
54d3f0:	55                   	push   %ebp
54d3f1:	8b ec                	mov    %esp,%ebp
54d3f3:	8b 45 0c             	mov    0xc(%ebp),%eax
54d3f6:	56                   	push   %esi
54d3f7:	8b 70 28             	mov    0x28(%eax),%esi
54d3fa:	80 7e 38 00          	cmpb   $0x0,0x38(%esi)
54d3fe:	74 4c                	je     0x54d44c
54d400:	80 7e 39 00          	cmpb   $0x0,0x39(%esi)
54d404:	74 1f                	je     0x54d425
54d406:	ff 76 10             	push   0x10(%esi)
54d409:	e8 a2 e6 00 00       	call   0x55bab0
54d40e:	83 c4 04             	add    $0x4,%esp
54d411:	85 c0                	test   %eax,%eax
54d413:	75 66                	jne    0x54d47b
54d415:	8b 4e 10             	mov    0x10(%esi),%ecx
54d418:	39 41 18             	cmp    %eax,0x18(%ecx)
54d41b:	75 5e                	jne    0x54d47b
54d41d:	b8 65 00 00 00       	mov    $0x65,%eax
54d422:	5e                   	pop    %esi
54d423:	5d                   	pop    %ebp
54d424:	c3                   	ret
54d425:	8d 45 0c             	lea    0xc(%ebp),%eax
54d428:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
54d42f:	50                   	push   %eax
54d430:	ff 76 14             	push   0x14(%esi)
54d433:	e8 98 e0 00 00       	call   0x55b4d0
54d438:	83 c4 08             	add    $0x8,%esp
54d43b:	85 c0                	test   %eax,%eax
54d43d:	75 3c                	jne    0x54d47b
54d43f:	39 45 0c             	cmp    %eax,0xc(%ebp)
54d442:	74 37                	je     0x54d47b
54d444:	b8 65 00 00 00       	mov    $0x65,%eax
54d449:	5e                   	pop    %esi
54d44a:	5d                   	pop    %ebp
54d44b:	c3                   	ret
54d44c:	8b 4e 24             	mov    0x24(%esi),%ecx
54d44f:	8b 41 04             	mov    0x4(%ecx),%eax
54d452:	89 46 24             	mov    %eax,0x24(%esi)
54d455:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
54d45c:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
54d460:	75 0c                	jne    0x54d46e
54d462:	51                   	push   %ecx
54d463:	ff 75 08             	push   0x8(%ebp)
54d466:	e8 05 fc 00 00       	call   0x55d070
54d46b:	83 c4 08             	add    $0x8,%esp
54d46e:	33 c9                	xor    %ecx,%ecx
54d470:	b8 65 00 00 00       	mov    $0x65,%eax
54d475:	39 4e 24             	cmp    %ecx,0x24(%esi)
54d478:	0f 45 c1             	cmovne %ecx,%eax
54d47b:	5e                   	pop    %esi
54d47c:	5d                   	pop    %ebp
54d47d:	c3                   	ret
54d47e:	cc                   	int3
54d47f:	cc                   	int3
54d480:	55                   	push   %ebp
54d481:	8b ec                	mov    %esp,%ebp
54d483:	53                   	push   %ebx
54d484:	56                   	push   %esi
54d485:	8b 75 0c             	mov    0xc(%ebp),%esi
54d488:	57                   	push   %edi
54d489:	6a 00                	push   $0x0
54d48b:	56                   	push   %esi
54d48c:	e8 cf f6 00 00       	call   0x55cb60
54d491:	8b 5e 10             	mov    0x10(%esi),%ebx
54d494:	83 c4 08             	add    $0x8,%esp
54d497:	8b 7d 08             	mov    0x8(%ebp),%edi
54d49a:	85 db                	test   %ebx,%ebx
54d49c:	74 5a                	je     0x54d4f8
54d49e:	ff 73 1c             	push   0x1c(%ebx)
54d4a1:	e8 ea d8 f9 ff       	call   0x4ead90
54d4a6:	ff 73 24             	push   0x24(%ebx)
54d4a9:	e8 e2 d8 f9 ff       	call   0x4ead90
54d4ae:	8b 53 2c             	mov    0x2c(%ebx),%edx
54d4b1:	83 c4 08             	add    $0x8,%esp
54d4b4:	85 d2                	test   %edx,%edx
54d4b6:	74 13                	je     0x54d4cb
54d4b8:	8b 43 18             	mov    0x18(%ebx),%eax
54d4bb:	52                   	push   %edx
54d4bc:	6a 00                	push   $0x0
54d4be:	6a 00                	push   $0x0
54d4c0:	8b 08                	mov    (%eax),%ecx
54d4c2:	50                   	push   %eax
54d4c3:	8b 41 48             	mov    0x48(%ecx),%eax
54d4c6:	ff d0                	call   *%eax
54d4c8:	83 c4 10             	add    $0x10,%esp
54d4cb:	ff 73 30             	push   0x30(%ebx)
54d4ce:	e8 0d d4 00 00       	call   0x55a8e0
54d4d3:	6a 38                	push   $0x38
54d4d5:	6a 00                	push   $0x0
54d4d7:	53                   	push   %ebx
54d4d8:	e8 23 65 09 00       	call   0x5e3a00
54d4dd:	8b 46 10             	mov    0x10(%esi),%eax
54d4e0:	83 c4 10             	add    $0x10,%esp
54d4e3:	85 c0                	test   %eax,%eax
54d4e5:	74 0a                	je     0x54d4f1
54d4e7:	50                   	push   %eax
54d4e8:	57                   	push   %edi
54d4e9:	e8 82 3e fd ff       	call   0x521370
54d4ee:	83 c4 08             	add    $0x8,%esp
54d4f1:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
54d4f8:	ff 76 14             	push   0x14(%esi)
54d4fb:	e8 f0 db 00 00       	call   0x55b0f0
54d500:	83 c4 04             	add    $0x4,%esp
54d503:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
54d50a:	80 7e 3b 00          	cmpb   $0x0,0x3b(%esi)
54d50e:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
54d515:	76 28                	jbe    0x54d53f
54d517:	8d 5e 40             	lea    0x40(%esi),%ebx
54d51a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
54d520:	53                   	push   %ebx
54d521:	57                   	push   %edi
54d522:	e8 09 ef 00 00       	call   0x55c430
54d527:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54d52a:	83 c4 08             	add    $0x8,%esp
54d52d:	89 73 08             	mov    %esi,0x8(%ebx)
54d530:	41                   	inc    %ecx
54d531:	0f b6 46 3b          	movzbl 0x3b(%esi),%eax
54d535:	83 c3 48             	add    $0x48,%ebx
54d538:	89 4d 0c             	mov    %ecx,0xc(%ebp)
54d53b:	3b c8                	cmp    %eax,%ecx
54d53d:	7c e1                	jl     0x54d520
54d53f:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
54d543:	75 0d                	jne    0x54d552
54d545:	ff 76 24             	push   0x24(%esi)
54d548:	6a 00                	push   $0x0
54d54a:	e8 21 fb 00 00       	call   0x55d070
54d54f:	83 c4 08             	add    $0x8,%esp
54d552:	8b 5e 20             	mov    0x20(%esi),%ebx
54d555:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
54d55c:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
54d563:	c6 46 38 00          	movb   $0x0,0x38(%esi)
54d567:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
54d56e:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
54d575:	85 db                	test   %ebx,%ebx
54d577:	0f 84 d1 00 00 00    	je     0x54d64e
54d57d:	85 ff                	test   %edi,%edi