5da4ee:	89 7e 30             	mov    %edi,0x30(%esi)
5da4f1:	b0 01                	mov    $0x1,%al
5da4f3:	5f                   	pop    %edi
5da4f4:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
5da4fb:	5e                   	pop    %esi
5da4fc:	5b                   	pop    %ebx
5da4fd:	c9                   	leave
5da4fe:	c2 04 00             	ret    $0x4
5da501:	8b ff                	mov    %edi,%edi
5da503:	56                   	push   %esi
5da504:	8b f1                	mov    %ecx,%esi
5da506:	57                   	push   %edi
5da507:	8b 56 10             	mov    0x10(%esi),%edx
5da50a:	8d 42 04             	lea    0x4(%edx),%eax
5da50d:	89 46 10             	mov    %eax,0x10(%esi)
5da510:	8b 3a                	mov    (%edx),%edi
5da512:	e8 c1 1b 01 00       	call   0x5ec0d8
5da517:	85 c0                	test   %eax,%eax
5da519:	75 24                	jne    0x5da53f
5da51b:	8b 46 08             	mov    0x8(%esi),%eax
5da51e:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5da522:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5da529:	33 c0                	xor    %eax,%eax
5da52b:	ff 76 08             	push   0x8(%esi)
5da52e:	50                   	push   %eax
5da52f:	50                   	push   %eax
5da530:	50                   	push   %eax
5da531:	50                   	push   %eax
5da532:	50                   	push   %eax
5da533:	e8 2b bc ff ff       	call   0x5d6163
5da538:	83 c4 18             	add    $0x18,%esp
5da53b:	32 c0                	xor    %al,%al
5da53d:	eb 44                	jmp    0x5da583
5da53f:	ff 76 28             	push   0x28(%esi)
5da542:	e8 2b fa ff ff       	call   0x5d9f72
5da547:	59                   	pop    %ecx
5da548:	83 e8 01             	sub    $0x1,%eax
5da54b:	74 2b                	je     0x5da578
5da54d:	83 e8 01             	sub    $0x1,%eax
5da550:	74 1d                	je     0x5da56f
5da552:	48                   	dec    %eax
5da553:	83 e8 01             	sub    $0x1,%eax
5da556:	74 10                	je     0x5da568
5da558:	83 e8 04             	sub    $0x4,%eax
5da55b:	75 be                	jne    0x5da51b
5da55d:	8b 46 14             	mov    0x14(%esi),%eax
5da560:	99                   	cltd
5da561:	89 07                	mov    %eax,(%edi)
5da563:	89 57 04             	mov    %edx,0x4(%edi)
5da566:	eb 15                	jmp    0x5da57d
5da568:	8b 46 14             	mov    0x14(%esi),%eax
5da56b:	89 07                	mov    %eax,(%edi)
5da56d:	eb 0e                	jmp    0x5da57d
5da56f:	66 8b 46 14          	mov    0x14(%esi),%ax
5da573:	66 89 07             	mov    %ax,(%edi)
5da576:	eb 05                	jmp    0x5da57d
5da578:	8a 46 14             	mov    0x14(%esi),%al
5da57b:	88 07                	mov    %al,(%edi)
5da57d:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
5da581:	b0 01                	mov    $0x1,%al
5da583:	5f                   	pop    %edi
5da584:	5e                   	pop    %esi
5da585:	c3                   	ret
5da586:	8b 51 1c             	mov    0x1c(%ecx),%edx
5da589:	8b c2                	mov    %edx,%eax
5da58b:	c1 e8 05             	shr    $0x5,%eax
5da58e:	a8 01                	test   $0x1,%al
5da590:	74 09                	je     0x5da59b
5da592:	81 ca 80 00 00 00    	or     $0x80,%edx
5da598:	89 51 1c             	mov    %edx,0x1c(%ecx)
5da59b:	6a 00                	push   $0x0
5da59d:	e8 8f cf ff ff       	call   0x5d7531
5da5a2:	c3                   	ret
5da5a3:	8b 51 1c             	mov    0x1c(%ecx),%edx
5da5a6:	8b c2                	mov    %edx,%eax
5da5a8:	c1 e8 05             	shr    $0x5,%eax
5da5ab:	a8 01                	test   $0x1,%al
5da5ad:	74 09                	je     0x5da5b8
5da5af:	81 ca 80 00 00 00    	or     $0x80,%edx
5da5b5:	89 51 1c             	mov    %edx,0x1c(%ecx)
5da5b8:	6a 00                	push   $0x0
5da5ba:	e8 ff d0 ff ff       	call   0x5d76be
5da5bf:	c3                   	ret
5da5c0:	6a 01                	push   $0x1
5da5c2:	c7 41 24 08 00 00 00 	movl   $0x8,0x24(%ecx)
5da5c9:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
5da5d0:	e8 9a d5 ff ff       	call   0x5d7b6f
5da5d5:	c3                   	ret
5da5d6:	6a 01                	push   $0x1
5da5d8:	c7 41 24 08 00 00 00 	movl   $0x8,0x24(%ecx)
5da5df:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
5da5e6:	e8 11 d7 ff ff       	call   0x5d7cfc
5da5eb:	c3                   	ret
5da5ec:	8b ff                	mov    %edi,%edi
5da5ee:	53                   	push   %ebx
5da5ef:	56                   	push   %esi
5da5f0:	8b f1                	mov    %ecx,%esi
5da5f2:	57                   	push   %edi
5da5f3:	8b 56 10             	mov    0x10(%esi),%edx
5da5f6:	8d 42 04             	lea    0x4(%edx),%eax
5da5f9:	89 46 10             	mov    %eax,0x10(%esi)
5da5fc:	8b 5e 24             	mov    0x24(%esi),%ebx
5da5ff:	8b 3a                	mov    (%edx),%edi
5da601:	89 7e 30             	mov    %edi,0x30(%esi)
5da604:	83 fb ff             	cmp    $0xffffffff,%ebx
5da607:	75 05                	jne    0x5da60e
5da609:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
5da60e:	ff 76 28             	push   0x28(%esi)
5da611:	0f b6 46 2d          	movzbl 0x2d(%esi),%eax
5da615:	50                   	push   %eax
5da616:	ff 76 04             	push   0x4(%esi)
5da619:	ff 36                	push   (%esi)
5da61b:	e8 77 c6 ff ff       	call   0x5d6c97
5da620:	83 c4 10             	add    $0x10,%esp
5da623:	84 c0                	test   %al,%al
5da625:	74 19                	je     0x5da640
5da627:	85 ff                	test   %edi,%edi
5da629:	75 08                	jne    0x5da633
5da62b:	bf 70 28 67 00       	mov    $0x672870,%edi
5da630:	89 7e 30             	mov    %edi,0x30(%esi)
5da633:	53                   	push   %ebx
5da634:	57                   	push   %edi
5da635:	c6 46 38 01          	movb   $0x1,0x38(%esi)
5da639:	e8 6a e1 00 00       	call   0x5e87a8
5da63e:	eb 13                	jmp    0x5da653
5da640:	85 ff                	test   %edi,%edi
5da642:	75 08                	jne    0x5da64c
5da644:	bf 68 b1 65 00       	mov    $0x65b168,%edi
5da649:	89 7e 30             	mov    %edi,0x30(%esi)
5da64c:	53                   	push   %ebx
5da64d:	57                   	push   %edi
5da64e:	e8 33 e0 00 00       	call   0x5e8686
5da653:	59                   	pop    %ecx
5da654:	59                   	pop    %ecx
5da655:	5f                   	pop    %edi
5da656:	89 46 34             	mov    %eax,0x34(%esi)
5da659:	b0 01                	mov    $0x1,%al
5da65b:	5e                   	pop    %esi
5da65c:	5b                   	pop    %ebx
5da65d:	c3                   	ret
5da65e:	8b ff                	mov    %edi,%edi
5da660:	53                   	push   %ebx
5da661:	56                   	push   %esi
5da662:	8b f1                	mov    %ecx,%esi
5da664:	57                   	push   %edi
5da665:	8b 56 10             	mov    0x10(%esi),%edx
5da668:	8d 42 04             	lea    0x4(%edx),%eax
5da66b:	89 46 10             	mov    %eax,0x10(%esi)
5da66e:	8b 5e 24             	mov    0x24(%esi),%ebx
5da671:	8b 3a                	mov    (%edx),%edi
5da673:	89 7e 30             	mov    %edi,0x30(%esi)
5da676:	83 fb ff             	cmp    $0xffffffff,%ebx
5da679:	75 05                	jne    0x5da680
5da67b:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
5da680:	ff 76 28             	push   0x28(%esi)
5da683:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
5da687:	50                   	push   %eax
5da688:	ff 76 04             	push   0x4(%esi)
5da68b:	ff 36                	push   (%esi)
5da68d:	e8 36 c6 ff ff       	call   0x5d6cc8
5da692:	83 c4 10             	add    $0x10,%esp
5da695:	84 c0                	test   %al,%al
5da697:	74 1b                	je     0x5da6b4
5da699:	85 ff                	test   %edi,%edi
5da69b:	75 08                	jne    0x5da6a5
5da69d:	bf 70 28 67 00       	mov    $0x672870,%edi
5da6a2:	89 7e 30             	mov    %edi,0x30(%esi)
5da6a5:	53                   	push   %ebx
5da6a6:	57                   	push   %edi
5da6a7:	c6 46 38 01          	movb   $0x1,0x38(%esi)
5da6ab:	e8 f8 e0 00 00       	call   0x5e87a8
5da6b0:	59                   	pop    %ecx
5da6b1:	59                   	pop    %ecx
5da6b2:	eb 15                	jmp    0x5da6c9
5da6b4:	85 ff                	test   %edi,%edi
5da6b6:	75 07                	jne    0x5da6bf
5da6b8:	c7 46 30 68 b1 65 00 	movl   $0x65b168,0x30(%esi)
5da6bf:	6a 00                	push   $0x0
5da6c1:	53                   	push   %ebx
5da6c2:	8b ce                	mov    %esi,%ecx
5da6c4:	e8 09 00 00 00       	call   0x5da6d2
5da6c9:	5f                   	pop    %edi
5da6ca:	89 46 34             	mov    %eax,0x34(%esi)
5da6cd:	b0 01                	mov    $0x1,%al
5da6cf:	5e                   	pop    %esi
5da6d0:	5b                   	pop    %ebx
5da6d1:	c3                   	ret
5da6d2:	8b ff                	mov    %edi,%edi
5da6d4:	55                   	push   %ebp
5da6d5:	8b ec                	mov    %esp,%ebp
5da6d7:	53                   	push   %ebx
5da6d8:	56                   	push   %esi
5da6d9:	8b f1                	mov    %ecx,%esi
5da6db:	57                   	push   %edi
5da6dc:	8b 5e 08             	mov    0x8(%esi),%ebx
5da6df:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
5da6e3:	75 07                	jne    0x5da6ec
5da6e5:	8b cb                	mov    %ebx,%ecx
5da6e7:	e8 94 00 00 00       	call   0x5da780
5da6ec:	8b 76 30             	mov    0x30(%esi),%esi
5da6ef:	33 ff                	xor    %edi,%edi
5da6f1:	39 7d 08             	cmp    %edi,0x8(%ebp)
5da6f4:	7e 28                	jle    0x5da71e
5da6f6:	8a 06                	mov    (%esi),%al
5da6f8:	84 c0                	test   %al,%al
5da6fa:	74 22                	je     0x5da71e
5da6fc:	0f b6 c0             	movzbl %al,%eax
5da6ff:	68 00 80 00 00       	push   $0x8000
5da704:	50                   	push   %eax
5da705:	8b 43 0c             	mov    0xc(%ebx),%eax
5da708:	ff 30                	push   (%eax)
5da70a:	e8 11 b7 ff ff       	call   0x5d5e20
5da70f:	83 c4 0c             	add    $0xc,%esp
5da712:	85 c0                	test   %eax,%eax
5da714:	74 01                	je     0x5da717
5da716:	46                   	inc    %esi
5da717:	46                   	inc    %esi
5da718:	47                   	inc    %edi
5da719:	3b 7d 08             	cmp    0x8(%ebp),%edi
5da71c:	7c d8                	jl     0x5da6f6
5da71e:	8b c7                	mov    %edi,%eax
5da720:	5f                   	pop    %edi
5da721:	5e                   	pop    %esi
5da722:	5b                   	pop    %ebx
5da723:	5d                   	pop    %ebp
5da724:	c2 08 00             	ret    $0x8
5da727:	8b ff                	mov    %edi,%edi
5da729:	55                   	push   %ebp
5da72a:	8b ec                	mov    %esp,%ebp
5da72c:	8b 01                	mov    (%ecx),%eax
5da72e:	48                   	dec    %eax
5da72f:	89 01                	mov    %eax,(%ecx)
5da731:	8a 4d 08             	mov    0x8(%ebp),%cl
5da734:	84 c9                	test   %cl,%cl
5da736:	74 14                	je     0x5da74c
5da738:	38 08                	cmp    %cl,(%eax)
5da73a:	74 10                	je     0x5da74c
5da73c:	e8 47 05 00 00       	call   0x5dac88
5da741:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5da747:	e8 94 ba ff ff       	call   0x5d61e0
5da74c:	5d                   	pop    %ebp
5da74d:	c2 04 00             	ret    $0x4
5da750:	8b ff                	mov    %edi,%edi
5da752:	55                   	push   %ebp
5da753:	8b ec                	mov    %esp,%ebp
5da755:	8b 01                	mov    (%ecx),%eax
5da757:	83 c0 fe             	add    $0xfffffffe,%eax
5da75a:	89 01                	mov    %eax,(%ecx)
5da75c:	66 8b 4d 08          	mov    0x8(%ebp),%cx
5da760:	66 85 c9             	test   %cx,%cx
5da763:	74 15                	je     0x5da77a
5da765:	66 39 08             	cmp    %cx,(%eax)
5da768:	74 10                	je     0x5da77a
5da76a:	e8 19 05 00 00       	call   0x5dac88
5da76f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5da775:	e8 66 ba ff ff       	call   0x5d61e0
5da77a:	5d                   	pop    %ebp
5da77b:	c2 04 00             	ret    $0x4
5da77e:	cc                   	int3
5da77f:	cc                   	int3
5da780:	8b ff                	mov    %edi,%edi
5da782:	55                   	push   %ebp
5da783:	8b ec                	mov    %esp,%ebp
5da785:	51                   	push   %ecx
5da786:	53                   	push   %ebx
5da787:	56                   	push   %esi
5da788:	57                   	push   %edi
5da789:	8b d9                	mov    %ecx,%ebx
5da78b:	e8 37 b8 ff ff       	call   0x5d5fc7
5da790:	ff 73 04             	push   0x4(%ebx)
5da793:	8d 73 0c             	lea    0xc(%ebx),%esi
5da796:	89 45 fc             	mov    %eax,-0x4(%ebp)
5da799:	56                   	push   %esi
5da79a:	8b 50 4c             	mov    0x4c(%eax),%edx
5da79d:	8d 7b 10             	lea    0x10(%ebx),%edi
5da7a0:	89 16                	mov    %edx,(%esi)
5da7a2:	8b 50 48             	mov    0x48(%eax),%edx
5da7a5:	50                   	push   %eax
5da7a6:	89 17                	mov    %edx,(%edi)
5da7a8:	e8 d0 01 01 00       	call   0x5ea97d
5da7ad:	ff 73 04             	push   0x4(%ebx)
5da7b0:	8b 75 fc             	mov    -0x4(%ebp),%esi
5da7b3:	57                   	push   %edi
5da7b4:	56                   	push   %esi
5da7b5:	e8 21 02 01 00       	call   0x5ea9db
5da7ba:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
5da7c0:	83 c4 18             	add    $0x18,%esp
5da7c3:	a8 02                	test   $0x2,%al
5da7c5:	75 0d                	jne    0x5da7d4
5da7c7:	83 c8 02             	or     $0x2,%eax
5da7ca:	89 86 50 03 00 00    	mov    %eax,0x350(%esi)
5da7d0:	c6 43 14 02          	movb   $0x2,0x14(%ebx)
5da7d4:	5f                   	pop    %edi
5da7d5:	5e                   	pop    %esi
5da7d6:	5b                   	pop    %ebx
5da7d7:	8b e5                	mov    %ebp,%esp
5da7d9:	5d                   	pop    %ebp
5da7da:	c3                   	ret
5da7db:	83 39 00             	cmpl   $0x0,(%ecx)
5da7de:	75 13                	jne    0x5da7f3
5da7e0:	e8 a3 04 00 00       	call   0x5dac88
5da7e5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5da7eb:	e8 f0 b9 ff ff       	call   0x5d61e0
5da7f0:	32 c0                	xor    %al,%al
5da7f2:	c3                   	ret
5da7f3:	b0 01                	mov    $0x1,%al
5da7f5:	c3                   	ret
5da7f6:	8b ff                	mov    %edi,%edi
5da7f8:	55                   	push   %ebp
5da7f9:	8b ec                	mov    %esp,%ebp
5da7fb:	8b 01                	mov    (%ecx),%eax
5da7fd:	85 c0                	test   %eax,%eax
5da7ff:	75 22                	jne    0x5da823
5da801:	8b 45 08             	mov    0x8(%ebp),%eax
5da804:	50                   	push   %eax
5da805:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5da809:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5da810:	33 c0                	xor    %eax,%eax
5da812:	50                   	push   %eax
5da813:	50                   	push   %eax
5da814:	50                   	push   %eax
5da815:	50                   	push   %eax
5da816:	50                   	push   %eax
5da817:	e8 47 b9 ff ff       	call   0x5d6163
5da81c:	83 c4 18             	add    $0x18,%esp
5da81f:	32 c0                	xor    %al,%al
5da821:	eb 07                	jmp    0x5da82a
5da823:	50                   	push   %eax
5da824:	e8 36 00 00 00       	call   0x5da85f
5da829:	59                   	pop    %ecx
5da82a:	5d                   	pop    %ebp
5da82b:	c2 04 00             	ret    $0x4
5da82e:	8b ff                	mov    %edi,%edi
5da830:	55                   	push   %ebp
5da831:	8b ec                	mov    %esp,%ebp
5da833:	33 d2                	xor    %edx,%edx
5da835:	39 11                	cmp    %edx,(%ecx)
5da837:	75 20                	jne    0x5da859
5da839:	8b 45 08             	mov    0x8(%ebp),%eax
5da83c:	50                   	push   %eax
5da83d:	52                   	push   %edx
5da83e:	52                   	push   %edx
5da83f:	52                   	push   %edx
5da840:	52                   	push   %edx
5da841:	52                   	push   %edx
5da842:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5da846:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5da84d:	e8 11 b9 ff ff       	call   0x5d6163
5da852:	83 c4 18             	add    $0x18,%esp
5da855:	32 c0                	xor    %al,%al