55c29d:	f6 86 80 00 00 00 02 	testb  $0x2,0x80(%esi)
55c2a4:	74 0b                	je     0x55c2b1
55c2a6:	f6 86 84 00 00 00 20 	testb  $0x20,0x84(%esi)
55c2ad:	75 02                	jne    0x55c2b1
55c2af:	33 c0                	xor    %eax,%eax
55c2b1:	5e                   	pop    %esi
55c2b2:	c3                   	ret
55c2b3:	cc                   	int3
55c2b4:	cc                   	int3
55c2b5:	cc                   	int3
55c2b6:	cc                   	int3
55c2b7:	cc                   	int3
55c2b8:	cc                   	int3
55c2b9:	cc                   	int3
55c2ba:	cc                   	int3
55c2bb:	cc                   	int3
55c2bc:	cc                   	int3
55c2bd:	cc                   	int3
55c2be:	cc                   	int3
55c2bf:	cc                   	int3
55c2c0:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
55c2c5:	74 12                	je     0x55c2d9
55c2c7:	ff 74 24 08          	push   0x8(%esp)
55c2cb:	e8 20 03 00 00       	call   0x55c5f0
55c2d0:	83 c4 04             	add    $0x4,%esp
55c2d3:	83 f8 02             	cmp    $0x2,%eax
55c2d6:	74 17                	je     0x55c2ef
55c2d8:	c3                   	ret
55c2d9:	8b 44 24 08          	mov    0x8(%esp),%eax
55c2dd:	f6 80 80 00 00 00 02 	testb  $0x2,0x80(%eax)
55c2e4:	74 0c                	je     0x55c2f2
55c2e6:	f6 80 84 00 00 00 02 	testb  $0x2,0x84(%eax)
55c2ed:	75 03                	jne    0x55c2f2
55c2ef:	33 c0                	xor    %eax,%eax
55c2f1:	c3                   	ret
55c2f2:	b8 01 00 00 00       	mov    $0x1,%eax
55c2f7:	c3                   	ret
55c2f8:	cc                   	int3
55c2f9:	cc                   	int3
55c2fa:	cc                   	int3
55c2fb:	cc                   	int3
55c2fc:	cc                   	int3
55c2fd:	cc                   	int3
55c2fe:	cc                   	int3
55c2ff:	cc                   	int3
55c300:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
55c305:	74 0d                	je     0x55c314
55c307:	ff 74 24 08          	push   0x8(%esp)
55c30b:	e8 e0 02 00 00       	call   0x55c5f0
55c310:	83 c4 04             	add    $0x4,%esp
55c313:	c3                   	ret
55c314:	56                   	push   %esi
55c315:	8b 74 24 0c          	mov    0xc(%esp),%esi
55c319:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
55c31f:	a8 02                	test   $0x2,%al
55c321:	74 13                	je     0x55c336
55c323:	8b 8e 84 00 00 00    	mov    0x84(%esi),%ecx
55c329:	f7 c1 3f ff ff ff    	test   $0xffffff3f,%ecx
55c32f:	75 3e                	jne    0x55c36f
55c331:	f6 c1 c0             	test   $0xc0,%cl
55c334:	74 39                	je     0x55c36f
55c336:	a8 04                	test   $0x4,%al
55c338:	74 35                	je     0x55c36f
55c33a:	83 be 88 00 00 00 40 	cmpl   $0x40,0x88(%esi)
55c341:	75 2c                	jne    0x55c36f
55c343:	6a ff                	push   $0xffffffff
55c345:	6a 7e                	push   $0x7e
55c347:	56                   	push   %esi
55c348:	e8 e3 57 01 00       	call   0x571b30
55c34d:	83 c4 0c             	add    $0xc,%esp
55c350:	85 c0                	test   %eax,%eax
55c352:	78 14                	js     0x55c368
55c354:	50                   	push   %eax
55c355:	56                   	push   %esi
55c356:	e8 b5 57 01 00       	call   0x571b10
55c35b:	50                   	push   %eax
55c35c:	e8 1f 58 01 00       	call   0x571b80
55c361:	83 c4 0c             	add    $0xc,%esp
55c364:	85 c0                	test   %eax,%eax
55c366:	74 07                	je     0x55c36f
55c368:	b8 01 00 00 00       	mov    $0x1,%eax
55c36d:	5e                   	pop    %esi
55c36e:	c3                   	ret
55c36f:	33 c0                	xor    %eax,%eax
55c371:	5e                   	pop    %esi
55c372:	c3                   	ret
55c373:	cc                   	int3
55c374:	cc                   	int3
55c375:	cc                   	int3
55c376:	cc                   	int3
55c377:	cc                   	int3
55c378:	cc                   	int3
55c379:	cc                   	int3
55c37a:	cc                   	int3
55c37b:	cc                   	int3
55c37c:	cc                   	int3
55c37d:	cc                   	int3
55c37e:	cc                   	int3
55c37f:	cc                   	int3
55c380:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
55c385:	74 0d                	je     0x55c394
55c387:	ff 74 24 08          	push   0x8(%esp)
55c38b:	e8 60 02 00 00       	call   0x55c5f0
55c390:	83 c4 04             	add    $0x4,%esp
55c393:	c3                   	ret
55c394:	b8 01 00 00 00       	mov    $0x1,%eax
55c399:	c3                   	ret
55c39a:	cc                   	int3
55c39b:	cc                   	int3
55c39c:	cc                   	int3
55c39d:	cc                   	int3
55c39e:	cc                   	int3
55c39f:	cc                   	int3
55c3a0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55c3a4:	85 c9                	test   %ecx,%ecx
55c3a6:	79 03                	jns    0x55c3ab
55c3a8:	33 c0                	xor    %eax,%eax
55c3aa:	c3                   	ret
55c3ab:	83 f9 09             	cmp    $0x9,%ecx
55c3ae:	7d 11                	jge    0x55c3c1
55c3b0:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
55c3b7:	2b c1                	sub    %ecx,%eax
55c3b9:	8d 04 85 a8 e3 68 00 	lea    0x68e3a8(,%eax,4),%eax
55c3c0:	c3                   	ret
55c3c1:	8d 41 f7             	lea    -0x9(%ecx),%eax
55c3c4:	50                   	push   %eax
55c3c5:	ff 35 d0 6a 69 00    	push   0x696ad0
55c3cb:	e8 b0 8e f8 ff       	call   0x4e5280
55c3d0:	83 c4 08             	add    $0x8,%esp
55c3d3:	c3                   	ret
55c3d4:	cc                   	int3
55c3d5:	cc                   	int3
55c3d6:	cc                   	int3
55c3d7:	cc                   	int3
55c3d8:	cc                   	int3
55c3d9:	cc                   	int3
55c3da:	cc                   	int3
55c3db:	cc                   	int3
55c3dc:	cc                   	int3
55c3dd:	cc                   	int3
55c3de:	cc                   	int3
55c3df:	cc                   	int3
55c3e0:	b8 1c 00 00 00       	mov    $0x1c,%eax
55c3e5:	e8 c6 53 07 00       	call   0x5d17b0
55c3ea:	8b 4c 24 20          	mov    0x20(%esp),%ecx
55c3ee:	8d 41 ff             	lea    -0x1(%ecx),%eax
55c3f1:	83 f8 08             	cmp    $0x8,%eax
55c3f4:	76 27                	jbe    0x55c41d
55c3f6:	a1 d0 6a 69 00       	mov    0x696ad0,%eax
55c3fb:	85 c0                	test   %eax,%eax
55c3fd:	74 1b                	je     0x55c41a
55c3ff:	89 0c 24             	mov    %ecx,(%esp)
55c402:	8d 0c 24             	lea    (%esp),%ecx
55c405:	51                   	push   %ecx
55c406:	50                   	push   %eax
55c407:	e8 84 8a f8 ff       	call   0x4e4e90
55c40c:	83 c4 08             	add    $0x8,%esp
55c40f:	85 c0                	test   %eax,%eax
55c411:	78 07                	js     0x55c41a
55c413:	83 c0 09             	add    $0x9,%eax
55c416:	83 c4 1c             	add    $0x1c,%esp
55c419:	c3                   	ret
55c41a:	83 c8 ff             	or     $0xffffffff,%eax
55c41d:	83 c4 1c             	add    $0x1c,%esp
55c420:	c3                   	ret
55c421:	cc                   	int3
55c422:	cc                   	int3
55c423:	cc                   	int3
55c424:	cc                   	int3
55c425:	cc                   	int3
55c426:	cc                   	int3
55c427:	cc                   	int3
55c428:	cc                   	int3
55c429:	cc                   	int3
55c42a:	cc                   	int3
55c42b:	cc                   	int3
55c42c:	cc                   	int3
55c42d:	cc                   	int3
55c42e:	cc                   	int3
55c42f:	cc                   	int3
55c430:	53                   	push   %ebx
55c431:	56                   	push   %esi
55c432:	57                   	push   %edi
55c433:	8b 7c 24 14          	mov    0x14(%esp),%edi
55c437:	85 ff                	test   %edi,%edi
55c439:	0f 84 7e 00 00 00    	je     0x55c4bd
55c43f:	8b 07                	mov    (%edi),%eax
55c441:	8b 5c 24 10          	mov    0x10(%esp),%ebx
55c445:	85 c0                	test   %eax,%eax
55c447:	74 21                	je     0x55c46a
55c449:	8b 8b 90 00 00 00    	mov    0x90(%ebx),%ecx
55c44f:	85 c9                	test   %ecx,%ecx
55c451:	74 17                	je     0x55c46a
55c453:	51                   	push   %ecx
55c454:	50                   	push   %eax
55c455:	e8 c6 35 fd ff       	call   0x52fa20
55c45a:	83 c4 08             	add    $0x8,%esp
55c45d:	85 c0                	test   %eax,%eax
55c45f:	74 09                	je     0x55c46a
55c461:	5f                   	pop    %edi
55c462:	5e                   	pop    %esi
55c463:	b8 1e 00 00 00       	mov    $0x1e,%eax
55c468:	5b                   	pop    %ebx
55c469:	c3                   	ret
55c46a:	8b 47 08             	mov    0x8(%edi),%eax
55c46d:	85 c0                	test   %eax,%eax
55c46f:	74 17                	je     0x55c488
55c471:	50                   	push   %eax
55c472:	53                   	push   %ebx
55c473:	e8 d8 bc ff ff       	call   0x558150
55c478:	83 c4 04             	add    $0x4,%esp
55c47b:	50                   	push   %eax
55c47c:	e8 ef ce fa ff       	call   0x509370
55c481:	83 c4 08             	add    $0x8,%esp
55c484:	85 c0                	test   %eax,%eax
55c486:	75 56                	jne    0x55c4de
55c488:	8b 7f 04             	mov    0x4(%edi),%edi
55c48b:	85 ff                	test   %edi,%edi
55c48d:	74 2e                	je     0x55c4bd
55c48f:	57                   	push   %edi
55c490:	33 f6                	xor    %esi,%esi
55c492:	e8 29 8c f8 ff       	call   0x4e50c0
55c497:	83 c4 04             	add    $0x4,%esp
55c49a:	85 c0                	test   %eax,%eax
55c49c:	7e 1f                	jle    0x55c4bd
55c49e:	66 90                	xchg   %ax,%ax
55c4a0:	56                   	push   %esi
55c4a1:	57                   	push   %edi
55c4a2:	e8 d9 8d f8 ff       	call   0x4e5280
55c4a7:	83 c4 08             	add    $0x8,%esp
55c4aa:	83 38 04             	cmpl   $0x4,(%eax)
55c4ad:	74 14                	je     0x55c4c3
55c4af:	57                   	push   %edi
55c4b0:	46                   	inc    %esi
55c4b1:	e8 0a 8c f8 ff       	call   0x4e50c0
55c4b6:	83 c4 04             	add    $0x4,%esp
55c4b9:	3b f0                	cmp    %eax,%esi
55c4bb:	7c e3                	jl     0x55c4a0
55c4bd:	5f                   	pop    %edi
55c4be:	5e                   	pop    %esi
55c4bf:	33 c0                	xor    %eax,%eax
55c4c1:	5b                   	pop    %ebx
55c4c2:	c3                   	ret
55c4c3:	8b 70 04             	mov    0x4(%eax),%esi
55c4c6:	85 f6                	test   %esi,%esi
55c4c8:	74 f3                	je     0x55c4bd
55c4ca:	53                   	push   %ebx
55c4cb:	e8 c0 53 f9 ff       	call   0x4f1890
55c4d0:	50                   	push   %eax
55c4d1:	56                   	push   %esi
55c4d2:	e8 79 b6 ff ff       	call   0x557b50
55c4d7:	83 c4 0c             	add    $0xc,%esp
55c4da:	85 c0                	test   %eax,%eax
55c4dc:	74 df                	je     0x55c4bd
55c4de:	5f                   	pop    %edi
55c4df:	5e                   	pop    %esi
55c4e0:	b8 1f 00 00 00       	mov    $0x1f,%eax
55c4e5:	5b                   	pop    %ebx
55c4e6:	c3                   	ret
55c4e7:	cc                   	int3
55c4e8:	cc                   	int3
55c4e9:	cc                   	int3
55c4ea:	cc                   	int3
55c4eb:	cc                   	int3
55c4ec:	cc                   	int3
55c4ed:	cc                   	int3
55c4ee:	cc                   	int3
55c4ef:	cc                   	int3
55c4f0:	ff 74 24 04          	push   0x4(%esp)
55c4f4:	e8 17 03 00 00       	call   0x55c810
55c4f9:	83 c4 04             	add    $0x4,%esp
55c4fc:	e9 ef 00 00 00       	jmp    0x55c5f0
55c501:	cc                   	int3
55c502:	cc                   	int3
55c503:	cc                   	int3
55c504:	cc                   	int3
55c505:	cc                   	int3
55c506:	cc                   	int3
55c507:	cc                   	int3
55c508:	cc                   	int3
55c509:	cc                   	int3
55c50a:	cc                   	int3
55c50b:	cc                   	int3
55c50c:	cc                   	int3
55c50d:	cc                   	int3
55c50e:	cc                   	int3
55c50f:	cc                   	int3
55c510:	b8 1c 00 00 00       	mov    $0x1c,%eax
55c515:	e8 96 52 07 00       	call   0x5d17b0
55c51a:	56                   	push   %esi
55c51b:	8b 74 24 24          	mov    0x24(%esp),%esi
55c51f:	56                   	push   %esi
55c520:	e8 eb 02 00 00       	call   0x55c810
55c525:	83 c4 04             	add    $0x4,%esp
55c528:	f6 86 80 00 00 00 80 	testb  $0x80,0x80(%esi)
55c52f:	75 59                	jne    0x55c58a
55c531:	8b 4c 24 28          	mov    0x28(%esp),%ecx
55c535:	83 f9 ff             	cmp    $0xffffffff,%ecx
55c538:	75 08                	jne    0x55c542
55c53a:	8d 41 02             	lea    0x2(%ecx),%eax
55c53d:	5e                   	pop    %esi
55c53e:	83 c4 1c             	add    $0x1c,%esp
55c541:	c3                   	ret
55c542:	8d 41 ff             	lea    -0x1(%ecx),%eax
55c545:	83 f8 08             	cmp    $0x8,%eax
55c548:	76 22                	jbe    0x55c56c
55c54a:	a1 d0 6a 69 00       	mov    0x696ad0,%eax
55c54f:	85 c0                	test   %eax,%eax
55c551:	74 37                	je     0x55c58a
55c553:	89 4c 24 04          	mov    %ecx,0x4(%esp)
55c557:	8d 4c 24 04          	lea    0x4(%esp),%ecx
55c55b:	51                   	push   %ecx
55c55c:	50                   	push   %eax
55c55d:	e8 2e 89 f8 ff       	call   0x4e4e90
55c562:	83 c4 08             	add    $0x8,%esp
55c565:	85 c0                	test   %eax,%eax
55c567:	78 21                	js     0x55c58a
55c569:	83 c0 09             	add    $0x9,%eax
55c56c:	83 f8 ff             	cmp    $0xffffffff,%eax
55c56f:	74 19                	je     0x55c58a
55c571:	50                   	push   %eax
55c572:	e8 29 fe ff ff       	call   0x55c3a0
55c577:	ff 74 24 30          	push   0x30(%esp)
55c57b:	56                   	push   %esi
55c57c:	50                   	push   %eax
55c57d:	8b 40 0c             	mov    0xc(%eax),%eax
55c580:	ff d0                	call   *%eax
55c582:	83 c4 10             	add    $0x10,%esp
55c585:	5e                   	pop    %esi
55c586:	83 c4 1c             	add    $0x1c,%esp
55c589:	c3                   	ret
55c58a:	83 c8 ff             	or     $0xffffffff,%eax
55c58d:	5e                   	pop    %esi
55c58e:	83 c4 1c             	add    $0x1c,%esp
55c591:	c3                   	ret
55c592:	cc                   	int3
55c593:	cc                   	int3
55c594:	cc                   	int3
55c595:	cc                   	int3
55c596:	cc                   	int3
55c597:	cc                   	int3
55c598:	cc                   	int3
55c599:	cc                   	int3
55c59a:	cc                   	int3
55c59b:	cc                   	int3
55c59c:	cc                   	int3
55c59d:	cc                   	int3
55c59e:	cc                   	int3
55c59f:	cc                   	int3
55c5a0:	56                   	push   %esi