55654c:	83 ee 01             	sub    $0x1,%esi
55654f:	79 f5                	jns    0x556546
556551:	46                   	inc    %esi
556552:	66 c7 04 37 0a 00    	movw   $0xa,(%edi,%esi,1)
556558:	8d 46 01             	lea    0x1(%esi),%eax
55655b:	5f                   	pop    %edi
55655c:	5e                   	pop    %esi
55655d:	c3                   	ret
55655e:	33 f6                	xor    %esi,%esi
556560:	53                   	push   %ebx
556561:	8b 5c 24 14          	mov    0x14(%esp),%ebx
556565:	a8 04                	test   $0x4,%al
556567:	74 3a                	je     0x5565a3
556569:	85 db                	test   %ebx,%ebx
55656b:	7e 60                	jle    0x5565cd
55656d:	0f 1f 00             	nopl   (%eax)
556570:	0f be 04 3e          	movsbl (%esi,%edi,1),%eax
556574:	68 00 04 00 00       	push   $0x400
556579:	50                   	push   %eax
55657a:	e8 21 db f8 ff       	call   0x4e40a0
55657f:	83 c4 08             	add    $0x8,%esp
556582:	85 c0                	test   %eax,%eax
556584:	74 47                	je     0x5565cd
556586:	8a 04 3e             	mov    (%esi,%edi,1),%al
556589:	3c 0a                	cmp    $0xa,%al
55658b:	74 40                	je     0x5565cd
55658d:	3c 0d                	cmp    $0xd,%al
55658f:	74 3c                	je     0x5565cd
556591:	46                   	inc    %esi
556592:	3b f3                	cmp    %ebx,%esi
556594:	7c da                	jl     0x556570
556596:	5b                   	pop    %ebx
556597:	66 c7 04 37 0a 00    	movw   $0xa,(%edi,%esi,1)
55659d:	8d 46 01             	lea    0x1(%esi),%eax
5565a0:	5f                   	pop    %edi
5565a1:	5e                   	pop    %esi
5565a2:	c3                   	ret
5565a3:	85 db                	test   %ebx,%ebx
5565a5:	7e 26                	jle    0x5565cd
5565a7:	8a 04 3e             	mov    (%esi,%edi,1),%al
5565aa:	3c 0a                	cmp    $0xa,%al
5565ac:	74 1f                	je     0x5565cd
5565ae:	3c 0d                	cmp    $0xd,%al
5565b0:	74 1b                	je     0x5565cd
5565b2:	0f be c0             	movsbl %al,%eax
5565b5:	6a 40                	push   $0x40
5565b7:	50                   	push   %eax
5565b8:	e8 e3 da f8 ff       	call   0x4e40a0
5565bd:	83 c4 08             	add    $0x8,%esp
5565c0:	85 c0                	test   %eax,%eax
5565c2:	74 04                	je     0x5565c8
5565c4:	c6 04 3e 20          	movb   $0x20,(%esi,%edi,1)
5565c8:	46                   	inc    %esi
5565c9:	3b f3                	cmp    %ebx,%esi
5565cb:	7c da                	jl     0x5565a7
5565cd:	5b                   	pop    %ebx
5565ce:	66 c7 04 37 0a 00    	movw   $0xa,(%edi,%esi,1)
5565d4:	8d 46 01             	lea    0x1(%esi),%eax
5565d7:	5f                   	pop    %edi
5565d8:	5e                   	pop    %esi
5565d9:	c3                   	ret
5565da:	cc                   	int3
5565db:	cc                   	int3
5565dc:	cc                   	int3
5565dd:	cc                   	int3
5565de:	cc                   	int3
5565df:	cc                   	int3
5565e0:	b8 04 00 00 00       	mov    $0x4,%eax
5565e5:	e8 c6 b1 07 00       	call   0x5d17b0
5565ea:	53                   	push   %ebx
5565eb:	55                   	push   %ebp
5565ec:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5565f0:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
5565f7:	00
5565f8:	56                   	push   %esi
5565f9:	85 ed                	test   %ebp,%ebp
5565fb:	0f 84 31 01 00 00    	je     0x556732
556601:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
556605:	85 db                	test   %ebx,%ebx
556607:	0f 8e 25 01 00 00    	jle    0x556732
55660d:	8b 44 24 14          	mov    0x14(%esp),%eax
556611:	8b 70 24             	mov    0x24(%eax),%esi
556614:	85 f6                	test   %esi,%esi
556616:	0f 84 16 01 00 00    	je     0x556732
55661c:	83 78 28 00          	cmpl   $0x0,0x28(%eax)
556620:	0f 84 0c 01 00 00    	je     0x556732
556626:	57                   	push   %edi
556627:	6a 0f                	push   $0xf
556629:	50                   	push   %eax
55662a:	e8 d1 24 fa ff       	call   0x4f8b00
55662f:	8b 7e 04             	mov    0x4(%esi),%edi
556632:	83 c4 08             	add    $0x8,%esp
556635:	8b 4e 18             	mov    0x18(%esi),%ecx
556638:	2b f9                	sub    %ecx,%edi
55663a:	8b 56 1c             	mov    0x1c(%esi),%edx
55663d:	2b fa                	sub    %edx,%edi
55663f:	3b fb                	cmp    %ebx,%edi
556641:	0f 8d a9 00 00 00    	jge    0x5566f0
556647:	85 c9                	test   %ecx,%ecx
556649:	74 57                	je     0x5566a2
55664b:	85 ff                	test   %edi,%edi
55664d:	7e 23                	jle    0x556672
55664f:	8b 46 14             	mov    0x14(%esi),%eax
556652:	57                   	push   %edi
556653:	03 c2                	add    %edx,%eax
556655:	03 c1                	add    %ecx,%eax
556657:	55                   	push   %ebp
556658:	50                   	push   %eax
556659:	e8 72 c7 07 00       	call   0x5d2dd0
55665e:	01 7c 24 1c          	add    %edi,0x1c(%esp)
556662:	83 c4 0c             	add    $0xc,%esp
556665:	8b 56 1c             	mov    0x1c(%esi),%edx
556668:	03 ef                	add    %edi,%ebp
55666a:	2b df                	sub    %edi,%ebx
55666c:	01 7e 18             	add    %edi,0x18(%esi)
55666f:	8b 4e 18             	mov    0x18(%esi),%ecx
556672:	8b 46 14             	mov    0x14(%esi),%eax
556675:	51                   	push   %ecx
556676:	03 c2                	add    %edx,%eax
556678:	50                   	push   %eax
556679:	8b 44 24 20          	mov    0x20(%esp),%eax
55667d:	ff 70 28             	push   0x28(%eax)
556680:	e8 3b 2e fa ff       	call   0x4f94c0
556685:	8b f8                	mov    %eax,%edi
556687:	83 c4 0c             	add    $0xc,%esp
55668a:	85 ff                	test   %edi,%edi
55668c:	0f 8e 7f 00 00 00    	jle    0x556711
556692:	8b 4e 18             	mov    0x18(%esi),%ecx
556695:	01 7e 1c             	add    %edi,0x1c(%esi)
556698:	2b cf                	sub    %edi,%ecx
55669a:	8b 56 1c             	mov    0x1c(%esi),%edx
55669d:	89 4e 18             	mov    %ecx,0x18(%esi)
5566a0:	75 d0                	jne    0x556672
5566a2:	8b 7e 04             	mov    0x4(%esi),%edi
5566a5:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
5566ac:	3b df                	cmp    %edi,%ebx
5566ae:	7c 2e                	jl     0x5566de
5566b0:	8b 44 24 18          	mov    0x18(%esp),%eax
5566b4:	53                   	push   %ebx
5566b5:	55                   	push   %ebp
5566b6:	ff 70 28             	push   0x28(%eax)
5566b9:	e8 02 2e fa ff       	call   0x4f94c0
5566be:	8b f8                	mov    %eax,%edi
5566c0:	83 c4 0c             	add    $0xc,%esp
5566c3:	85 ff                	test   %edi,%edi
5566c5:	7e 4a                	jle    0x556711
5566c7:	8b 44 24 10          	mov    0x10(%esp),%eax
5566cb:	03 ef                	add    %edi,%ebp
5566cd:	03 c7                	add    %edi,%eax
5566cf:	89 44 24 10          	mov    %eax,0x10(%esp)
5566d3:	2b df                	sub    %edi,%ebx
5566d5:	74 34                	je     0x55670b
5566d7:	8b 7e 04             	mov    0x4(%esi),%edi
5566da:	3b df                	cmp    %edi,%ebx
5566dc:	7d d2                	jge    0x5566b0
5566de:	8b 4e 18             	mov    0x18(%esi),%ecx
5566e1:	2b f9                	sub    %ecx,%edi
5566e3:	8b 56 1c             	mov    0x1c(%esi),%edx
5566e6:	2b fa                	sub    %edx,%edi
5566e8:	3b fb                	cmp    %ebx,%edi
5566ea:	0f 8c 57 ff ff ff    	jl     0x556647
5566f0:	8b 46 14             	mov    0x14(%esi),%eax
5566f3:	53                   	push   %ebx
5566f4:	03 c1                	add    %ecx,%eax
5566f6:	03 c2                	add    %edx,%eax
5566f8:	55                   	push   %ebp
5566f9:	50                   	push   %eax
5566fa:	e8 d1 c6 07 00       	call   0x5d2dd0
5566ff:	8b 44 24 1c          	mov    0x1c(%esp),%eax
556703:	83 c4 0c             	add    $0xc,%esp
556706:	01 5e 18             	add    %ebx,0x18(%esi)
556709:	03 c3                	add    %ebx,%eax
55670b:	5f                   	pop    %edi
55670c:	5e                   	pop    %esi
55670d:	5d                   	pop    %ebp
55670e:	5b                   	pop    %ebx
55670f:	59                   	pop    %ecx
556710:	c3                   	ret
556711:	ff 74 24 18          	push   0x18(%esp)
556715:	e8 f6 23 fa ff       	call   0x4f8b10
55671a:	8b 44 24 14          	mov    0x14(%esp),%eax
55671e:	83 c4 04             	add    $0x4,%esp
556721:	85 ff                	test   %edi,%edi
556723:	79 e6                	jns    0x55670b
556725:	85 c0                	test   %eax,%eax
556727:	0f 4f f8             	cmovg  %eax,%edi
55672a:	8b c7                	mov    %edi,%eax
55672c:	5f                   	pop    %edi
55672d:	5e                   	pop    %esi
55672e:	5d                   	pop    %ebp
55672f:	5b                   	pop    %ebx
556730:	59                   	pop    %ecx
556731:	c3                   	ret
556732:	5e                   	pop    %esi
556733:	5d                   	pop    %ebp
556734:	33 c0                	xor    %eax,%eax
556736:	5b                   	pop    %ebx
556737:	59                   	pop    %ecx
556738:	c3                   	ret
556739:	cc                   	int3
55673a:	cc                   	int3
55673b:	cc                   	int3
55673c:	cc                   	int3
55673d:	cc                   	int3
55673e:	cc                   	int3
55673f:	cc                   	int3
556740:	b8 04 00 00 00       	mov    $0x4,%eax
556745:	e8 66 b0 07 00       	call   0x5d17b0
55674a:	53                   	push   %ebx
55674b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
55674f:	57                   	push   %edi
556750:	85 db                	test   %ebx,%ebx
556752:	0f 84 08 01 00 00    	je     0x556860
556758:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55675c:	8b 79 24             	mov    0x24(%ecx),%edi
55675f:	85 ff                	test   %edi,%edi
556761:	0f 84 f9 00 00 00    	je     0x556860
556767:	83 79 28 00          	cmpl   $0x0,0x28(%ecx)
55676b:	0f 84 ef 00 00 00    	je     0x556860
556771:	55                   	push   %ebp
556772:	56                   	push   %esi
556773:	33 c0                	xor    %eax,%eax
556775:	6a 0f                	push   $0xf
556777:	51                   	push   %ecx
556778:	89 44 24 24          	mov    %eax,0x24(%esp)
55677c:	e8 7f 23 fa ff       	call   0x4f8b00
556781:	8b 6f 0c             	mov    0xc(%edi),%ebp
556784:	83 c4 08             	add    $0x8,%esp
556787:	8b 74 24 20          	mov    0x20(%esp),%esi
55678b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
556790:	85 ed                	test   %ebp,%ebp
556792:	74 3a                	je     0x5567ce
556794:	3b ee                	cmp    %esi,%ebp
556796:	8b c6                	mov    %esi,%eax
556798:	0f 4e c5             	cmovle %ebp,%eax
55679b:	50                   	push   %eax
55679c:	89 44 24 14          	mov    %eax,0x14(%esp)
5567a0:	8b 47 08             	mov    0x8(%edi),%eax
5567a3:	03 47 10             	add    0x10(%edi),%eax
5567a6:	50                   	push   %eax
5567a7:	53                   	push   %ebx
5567a8:	e8 23 c6 07 00       	call   0x5d2dd0
5567ad:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5567b1:	83 c4 0c             	add    $0xc,%esp
5567b4:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5567b8:	01 47 10             	add    %eax,0x10(%edi)
5567bb:	03 e8                	add    %eax,%ebp
5567bd:	29 47 0c             	sub    %eax,0xc(%edi)
5567c0:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
5567c4:	3b f0                	cmp    %eax,%esi
5567c6:	74 4e                	je     0x556816
5567c8:	2b f0                	sub    %eax,%esi
5567ca:	03 d8                	add    %eax,%ebx
5567cc:	eb 04                	jmp    0x5567d2
5567ce:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5567d2:	8b 07                	mov    (%edi),%eax
5567d4:	3b f0                	cmp    %eax,%esi
5567d6:	7f 48                	jg     0x556820
5567d8:	50                   	push   %eax
5567d9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5567dd:	ff 77 08             	push   0x8(%edi)
5567e0:	ff 70 28             	push   0x28(%eax)
5567e3:	e8 58 2c fa ff       	call   0x4f9440
5567e8:	8b e8                	mov    %eax,%ebp
5567ea:	83 c4 0c             	add    $0xc,%esp
5567ed:	85 ed                	test   %ebp,%ebp
5567ef:	7e 0c                	jle    0x5567fd
5567f1:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5567f8:	89 6f 0c             	mov    %ebp,0xc(%edi)
5567fb:	eb 93                	jmp    0x556790
5567fd:	ff 74 24 18          	push   0x18(%esp)
556801:	e8 0a 23 fa ff       	call   0x4f8b10
556806:	8b 44 24 20          	mov    0x20(%esp),%eax
55680a:	83 c4 04             	add    $0x4,%esp
55680d:	85 ed                	test   %ebp,%ebp
55680f:	79 07                	jns    0x556818
556811:	85 c0                	test   %eax,%eax
556813:	0f 4f e8             	cmovg  %eax,%ebp
556816:	8b c5                	mov    %ebp,%eax
556818:	5e                   	pop    %esi
556819:	5d                   	pop    %ebp
55681a:	5f                   	pop    %edi
55681b:	5b                   	pop    %ebx
55681c:	59                   	pop    %ecx
55681d:	c3                   	ret
55681e:	66 90                	xchg   %ax,%ax
556820:	8b 44 24 18          	mov    0x18(%esp),%eax
556824:	56                   	push   %esi
556825:	53                   	push   %ebx
556826:	ff 70 28             	push   0x28(%eax)
556829:	e8 12 2c fa ff       	call   0x4f9440
55682e:	8b f8                	mov    %eax,%edi
556830:	83 c4 0c             	add    $0xc,%esp
556833:	85 ff                	test   %edi,%edi
556835:	7e 0c                	jle    0x556843
556837:	03 ef                	add    %edi,%ebp
556839:	3b f7                	cmp    %edi,%esi
55683b:	74 d9                	je     0x556816
55683d:	03 df                	add    %edi,%ebx
55683f:	2b f7                	sub    %edi,%esi
556841:	eb dd                	jmp    0x556820
556843:	ff 74 24 18          	push   0x18(%esp)
556847:	e8 c4 22 fa ff       	call   0x4f8b10
55684c:	83 c4 04             	add    $0x4,%esp
55684f:	85 ff                	test   %edi,%edi
556851:	79 c3                	jns    0x556816
556853:	85 ed                	test   %ebp,%ebp
556855:	5e                   	pop    %esi
556856:	0f 4f fd             	cmovg  %ebp,%edi
556859:	5d                   	pop    %ebp
55685a:	8b c7                	mov    %edi,%eax
55685c:	5f                   	pop    %edi
55685d:	5b                   	pop    %ebx
55685e:	59                   	pop    %ecx
55685f:	c3                   	ret
556860:	5f                   	pop    %edi
556861:	33 c0                	xor    %eax,%eax
556863:	5b                   	pop    %ebx
556864:	59                   	pop    %ecx
556865:	c3                   	ret
556866:	cc                   	int3
556867:	cc                   	int3
556868:	cc                   	int3
556869:	cc                   	int3
55686a:	cc                   	int3
55686b:	cc                   	int3
55686c:	cc                   	int3
55686d:	cc                   	int3
55686e:	cc                   	int3
55686f:	cc                   	int3
556870:	8b 54 24 08          	mov    0x8(%esp),%edx
556874:	8b c2                	mov    %edx,%eax
556876:	56                   	push   %esi
556877:	8d 70 01             	lea    0x1(%eax),%esi
55687a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
556880:	8a 08                	mov    (%eax),%cl
556882:	40                   	inc    %eax
556883:	84 c9                	test   %cl,%cl
556885:	75 f9                	jne    0x556880
556887:	2b c6                	sub    %esi,%eax
556889:	50                   	push   %eax
55688a:	52                   	push   %edx
55688b:	ff 74 24 10          	push   0x10(%esp)
55688f:	e8 4c fd ff ff       	call   0x5565e0
556894:	83 c4 0c             	add    $0xc,%esp
556897:	5e                   	pop    %esi
556898:	c3                   	ret
556899:	cc                   	int3
55689a:	cc                   	int3
55689b:	cc                   	int3