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
55c5a1:	8b 74 24 08          	mov    0x8(%esp),%esi
55c5a5:	56                   	push   %esi
55c5a6:	e8 65 02 00 00       	call   0x55c810
55c5ab:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
55c5b1:	83 c4 04             	add    $0x4,%esp
55c5b4:	5e                   	pop    %esi
55c5b5:	c3                   	ret
55c5b6:	cc                   	int3
55c5b7:	cc                   	int3
55c5b8:	cc                   	int3
55c5b9:	cc                   	int3
55c5ba:	cc                   	int3
55c5bb:	cc                   	int3
55c5bc:	cc                   	int3
55c5bd:	cc                   	int3
55c5be:	cc                   	int3
55c5bf:	cc                   	int3
55c5c0:	56                   	push   %esi
55c5c1:	8b 74 24 08          	mov    0x8(%esp),%esi
55c5c5:	56                   	push   %esi
55c5c6:	e8 45 02 00 00       	call   0x55c810
55c5cb:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
55c5d1:	83 c4 04             	add    $0x4,%esp
55c5d4:	84 c0                	test   %al,%al
55c5d6:	79 04                	jns    0x55c5dc
55c5d8:	33 c0                	xor    %eax,%eax
55c5da:	5e                   	pop    %esi
55c5db:	c3                   	ret
55c5dc:	a8 02                	test   $0x2,%al
55c5de:	74 08                	je     0x55c5e8
55c5e0:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
55c5e6:	5e                   	pop    %esi
55c5e7:	c3                   	ret
55c5e8:	83 c8 ff             	or     $0xffffffff,%eax
55c5eb:	5e                   	pop    %esi
55c5ec:	c3                   	ret
55c5ed:	cc                   	int3
55c5ee:	cc                   	int3
55c5ef:	cc                   	int3
55c5f0:	8b 54 24 04          	mov    0x4(%esp),%edx
55c5f4:	56                   	push   %esi
55c5f5:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
55c5fb:	8b f1                	mov    %ecx,%esi
55c5fd:	83 e6 02             	and    $0x2,%esi
55c600:	74 09                	je     0x55c60b
55c602:	f6 82 84 00 00 00 04 	testb  $0x4,0x84(%edx)
55c609:	74 46                	je     0x55c651
55c60b:	f6 c1 01             	test   $0x1,%cl
55c60e:	74 0c                	je     0x55c61c
55c610:	f6 c1 10             	test   $0x10,%cl
55c613:	74 3c                	je     0x55c651
55c615:	b8 01 00 00 00       	mov    $0x1,%eax
55c61a:	5e                   	pop    %esi
55c61b:	c3                   	ret
55c61c:	8b c1                	mov    %ecx,%eax
55c61e:	25 40 20 00 00       	and    $0x2040,%eax
55c623:	3d 40 20 00 00       	cmp    $0x2040,%eax
55c628:	75 07                	jne    0x55c631
55c62a:	b8 03 00 00 00       	mov    $0x3,%eax
55c62f:	5e                   	pop    %esi
55c630:	c3                   	ret
55c631:	85 f6                	test   %esi,%esi
55c633:	74 07                	je     0x55c63c
55c635:	b8 04 00 00 00       	mov    $0x4,%eax
55c63a:	5e                   	pop    %esi
55c63b:	c3                   	ret
55c63c:	f6 c1 08             	test   $0x8,%cl
55c63f:	74 10                	je     0x55c651
55c641:	f6 82 8c 00 00 00 07 	testb  $0x7,0x8c(%edx)
55c648:	74 07                	je     0x55c651
55c64a:	b8 05 00 00 00       	mov    $0x5,%eax
55c64f:	5e                   	pop    %esi
55c650:	c3                   	ret
55c651:	33 c0                	xor    %eax,%eax
55c653:	5e                   	pop    %esi
55c654:	c3                   	ret
55c655:	cc                   	int3
55c656:	cc                   	int3
55c657:	cc                   	int3
55c658:	cc                   	int3
55c659:	cc                   	int3
55c65a:	cc                   	int3
55c65b:	cc                   	int3
55c65c:	cc                   	int3
55c65d:	cc                   	int3
55c65e:	cc                   	int3
55c65f:	cc                   	int3
55c660:	b8 04 00 00 00       	mov    $0x4,%eax
55c665:	e8 46 51 07 00       	call   0x5d17b0
55c66a:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
55c66f:	75 07                	jne    0x55c678
55c671:	b8 4d 00 00 00       	mov    $0x4d,%eax
55c676:	59                   	pop    %ecx
55c677:	c3                   	ret
55c678:	8d 04 24             	lea    (%esp),%eax
55c67b:	50                   	push   %eax
55c67c:	8b 44 24 10          	mov    0x10(%esp),%eax
55c680:	6a 00                	push   $0x0
55c682:	ff 70 14             	push   0x14(%eax)
55c685:	e8 76 2f f9 ff       	call   0x4ef600
55c68a:	83 c4 04             	add    $0x4,%esp
55c68d:	50                   	push   %eax
55c68e:	e8 1d fb fa ff       	call   0x50c1b0
55c693:	83 c4 0c             	add    $0xc,%esp
55c696:	85 c0                	test   %eax,%eax
55c698:	75 07                	jne    0x55c6a1
55c69a:	b8 4e 00 00 00       	mov    $0x4e,%eax
55c69f:	59                   	pop    %ecx
55c6a0:	c3                   	ret
55c6a1:	56                   	push   %esi
55c6a2:	ff 74 24 04          	push   0x4(%esp)
55c6a6:	e8 b5 4d f9 ff       	call   0x4f1460
55c6ab:	ff 74 24 10          	push   0x10(%esp)
55c6af:	8b f0                	mov    %eax,%esi
55c6b1:	e8 5a 44 f9 ff       	call   0x4f0b10
55c6b6:	2b f0                	sub    %eax,%esi
55c6b8:	83 c4 08             	add    $0x8,%esp
55c6bb:	f7 de                	neg    %esi
55c6bd:	1b f6                	sbb    %esi,%esi
55c6bf:	83 e6 4c             	and    $0x4c,%esi
55c6c2:	8b c6                	mov    %esi,%eax
55c6c4:	5e                   	pop    %esi
55c6c5:	59                   	pop    %ecx
55c6c6:	c3                   	ret
55c6c7:	cc                   	int3
55c6c8:	cc                   	int3
55c6c9:	cc                   	int3
55c6ca:	cc                   	int3
55c6cb:	cc                   	int3
55c6cc:	cc                   	int3
55c6cd:	cc                   	int3
55c6ce:	cc                   	int3
55c6cf:	cc                   	int3
55c6d0:	56                   	push   %esi
55c6d1:	8b 74 24 08          	mov    0x8(%esp),%esi
55c6d5:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
55c6db:	a8 04                	test   $0x4,%al
55c6dd:	74 09                	je     0x55c6e8
55c6df:	f6 86 88 00 00 00 04 	testb  $0x4,0x88(%esi)
55c6e6:	74 22                	je     0x55c70a
55c6e8:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
55c6ed:	74 1f                	je     0x55c70e
55c6ef:	56                   	push   %esi
55c6f0:	e8 fb fe ff ff       	call   0x55c5f0
55c6f5:	83 c4 04             	add    $0x4,%esp
55c6f8:	85 c0                	test   %eax,%eax
55c6fa:	74 0e                	je     0x55c70a
55c6fc:	83 f8 05             	cmp    $0x5,%eax
55c6ff:	75 2b                	jne    0x55c72c
55c701:	f6 86 8c 00 00 00 02 	testb  $0x2,0x8c(%esi)
55c708:	75 22                	jne    0x55c72c
55c70a:	33 c0                	xor    %eax,%eax
55c70c:	5e                   	pop    %esi
55c70d:	c3                   	ret
55c70e:	a8 08                	test   $0x8,%al
55c710:	74 15                	je     0x55c727
55c712:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
55c718:	a8 20                	test   $0x20,%al
55c71a:	75 0b                	jne    0x55c727
55c71c:	84 c0                	test   %al,%al
55c71e:	79 ea                	jns    0x55c70a
55c720:	b8 02 00 00 00       	mov    $0x2,%eax
55c725:	5e                   	pop    %esi
55c726:	c3                   	ret
55c727:	b8 01 00 00 00       	mov    $0x1,%eax
55c72c:	5e                   	pop    %esi
55c72d:	c3                   	ret
55c72e:	cc                   	int3
55c72f:	cc                   	int3
55c730:	56                   	push   %esi
55c731:	8b 74 24 0c          	mov    0xc(%esp),%esi
55c735:	57                   	push   %edi
55c736:	56                   	push   %esi
55c737:	e8 54 51 f9 ff       	call   0x4f1890
55c73c:	8b 7c 24 10          	mov    0x10(%esp),%edi