41159a:	8b c6                	mov    %esi,%eax
41159c:	5e                   	pop    %esi
41159d:	c9                   	leave
41159e:	c2 04 00             	ret    $0x4
4115a1:	8b ff                	mov    %edi,%edi
4115a3:	55                   	push   %ebp
4115a4:	8b ec                	mov    %esp,%ebp
4115a6:	51                   	push   %ecx
4115a7:	8b 45 08             	mov    0x8(%ebp),%eax
4115aa:	56                   	push   %esi
4115ab:	8b f1                	mov    %ecx,%esi
4115ad:	89 75 fc             	mov    %esi,-0x4(%ebp)
4115b0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4115b3:	8d 45 fc             	lea    -0x4(%ebp),%eax
4115b6:	50                   	push   %eax
4115b7:	e8 47 0f 00 00       	call   0x412503
4115bc:	c7 06 08 10 40 00    	movl   $0x401008,(%esi)
4115c2:	8b c6                	mov    %esi,%eax
4115c4:	5e                   	pop    %esi
4115c5:	c9                   	leave
4115c6:	c2 04 00             	ret    $0x4
4115c9:	cc                   	int3
4115ca:	cc                   	int3
4115cb:	cc                   	int3
4115cc:	cc                   	int3
4115cd:	cc                   	int3
4115ce:	cc                   	int3
4115cf:	cc                   	int3
4115d0:	c7 01 00 10 40 00    	movl   $0x401000,(%ecx)
4115d6:	e9 3b 0f 00 00       	jmp    0x412516
4115db:	cc                   	int3
4115dc:	cc                   	int3
4115dd:	cc                   	int3
4115de:	cc                   	int3
4115df:	cc                   	int3
4115e0:	e9 31 0f 00 00       	jmp    0x412516
4115e5:	8b ff                	mov    %edi,%edi
4115e7:	55                   	push   %ebp
4115e8:	8b ec                	mov    %esp,%ebp
4115ea:	8b 55 08             	mov    0x8(%ebp),%edx
4115ed:	8b 41 04             	mov    0x4(%ecx),%eax
4115f0:	3b 42 04             	cmp    0x4(%edx),%eax
4115f3:	75 0a                	jne    0x4115ff
4115f5:	8b 01                	mov    (%ecx),%eax
4115f7:	3b 02                	cmp    (%edx),%eax
4115f9:	75 04                	jne    0x4115ff
4115fb:	b0 01                	mov    $0x1,%al
4115fd:	eb 02                	jmp    0x411601
4115ff:	32 c0                	xor    %al,%al
411601:	5d                   	pop    %ebp
411602:	c2 04 00             	ret    $0x4
411605:	cc                   	int3
411606:	cc                   	int3
411607:	cc                   	int3
411608:	cc                   	int3
411609:	cc                   	int3
41160a:	cc                   	int3
41160b:	cc                   	int3
41160c:	cc                   	int3
41160d:	cc                   	int3
41160e:	cc                   	int3
41160f:	cc                   	int3
411610:	8b ff                	mov    %edi,%edi
411612:	55                   	push   %ebp
411613:	8b ec                	mov    %esp,%ebp
411615:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
411619:	56                   	push   %esi
41161a:	8b f1                	mov    %ecx,%esi
41161c:	c7 06 10 10 40 00    	movl   $0x401010,(%esi)
411622:	74 07                	je     0x41162b
411624:	56                   	push   %esi
411625:	e8 80 09 00 00       	call   0x411faa
41162a:	59                   	pop    %ecx
41162b:	8b c6                	mov    %esi,%eax
41162d:	5e                   	pop    %esi
41162e:	5d                   	pop    %ebp
41162f:	c2 04 00             	ret    $0x4
411632:	cc                   	int3
411633:	cc                   	int3
411634:	cc                   	int3
411635:	cc                   	int3
411636:	cc                   	int3
411637:	cc                   	int3
411638:	cc                   	int3
411639:	cc                   	int3
41163a:	cc                   	int3
41163b:	cc                   	int3
41163c:	cc                   	int3
41163d:	cc                   	int3
41163e:	cc                   	int3
41163f:	cc                   	int3
411640:	8b ff                	mov    %edi,%edi
411642:	55                   	push   %ebp
411643:	8b ec                	mov    %esp,%ebp
411645:	56                   	push   %esi
411646:	8b f1                	mov    %ecx,%esi
411648:	c7 06 00 10 40 00    	movl   $0x401000,(%esi)
41164e:	e8 c3 0e 00 00       	call   0x412516
411653:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
411657:	74 07                	je     0x411660
411659:	56                   	push   %esi
41165a:	e8 4b 09 00 00       	call   0x411faa
41165f:	59                   	pop    %ecx
411660:	8b c6                	mov    %esi,%eax
411662:	5e                   	pop    %esi
411663:	5d                   	pop    %ebp
411664:	c2 04 00             	ret    $0x4
411667:	cc                   	int3
411668:	cc                   	int3
411669:	cc                   	int3
41166a:	cc                   	int3
41166b:	cc                   	int3
41166c:	cc                   	int3
41166d:	cc                   	int3
41166e:	cc                   	int3
41166f:	cc                   	int3
411670:	8b ff                	mov    %edi,%edi
411672:	55                   	push   %ebp
411673:	8b ec                	mov    %esp,%ebp
411675:	56                   	push   %esi
411676:	8b f1                	mov    %ecx,%esi
411678:	e8 99 0e 00 00       	call   0x412516
41167d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
411681:	74 07                	je     0x41168a
411683:	56                   	push   %esi
411684:	e8 21 09 00 00       	call   0x411faa
411689:	59                   	pop    %ecx
41168a:	8b c6                	mov    %esi,%eax
41168c:	5e                   	pop    %esi
41168d:	5d                   	pop    %ebp
41168e:	c2 04 00             	ret    $0x4
411691:	6a 10                	push   $0x10
411693:	b8 fe 31 41 00       	mov    $0x4131fe,%eax
411698:	e8 2a 0f 00 00       	call   0x4125c7
41169d:	8b f9                	mov    %ecx,%edi
41169f:	89 7d e8             	mov    %edi,-0x18(%ebp)
4116a2:	8b 75 08             	mov    0x8(%ebp),%esi
4116a5:	83 ce 0f             	or     $0xf,%esi
4116a8:	83 fe fe             	cmp    $0xfffffffe,%esi
4116ab:	76 05                	jbe    0x4116b2
4116ad:	8b 75 08             	mov    0x8(%ebp),%esi
4116b0:	eb 2a                	jmp    0x4116dc
4116b2:	33 d2                	xor    %edx,%edx
4116b4:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
4116bb:	8b c6                	mov    %esi,%eax
4116bd:	8b 5f 14             	mov    0x14(%edi),%ebx
4116c0:	f7 75 ec             	divl   -0x14(%ebp)
4116c3:	8b cb                	mov    %ebx,%ecx
4116c5:	d1 e9                	shr    $1,%ecx
4116c7:	3b c8                	cmp    %eax,%ecx
4116c9:	76 11                	jbe    0x4116dc
4116cb:	6a fe                	push   $0xfffffffe
4116cd:	58                   	pop    %eax
4116ce:	2b c1                	sub    %ecx,%eax
4116d0:	3b d8                	cmp    %eax,%ebx
4116d2:	77 05                	ja     0x4116d9
4116d4:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
4116d7:	eb 03                	jmp    0x4116dc
4116d9:	6a fe                	push   $0xfffffffe
4116db:	5e                   	pop    %esi
4116dc:	33 db                	xor    %ebx,%ebx
4116de:	8d 46 01             	lea    0x1(%esi),%eax
4116e1:	53                   	push   %ebx
4116e2:	50                   	push   %eax
4116e3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4116e6:	e8 f1 fd ff ff       	call   0x4114dc
4116eb:	59                   	pop    %ecx
4116ec:	59                   	pop    %ecx
4116ed:	eb 2c                	jmp    0x41171b
4116ef:	8b 45 08             	mov    0x8(%ebp),%eax
4116f2:	89 65 f0             	mov    %esp,-0x10(%ebp)
4116f5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4116f8:	40                   	inc    %eax
4116f9:	6a 00                	push   $0x0
4116fb:	50                   	push   %eax
4116fc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
411700:	e8 d7 fd ff ff       	call   0x4114dc
411705:	59                   	pop    %ecx
411706:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411709:	b8 10 17 41 00       	mov    $0x411710,%eax
41170e:	59                   	pop    %ecx
41170f:	c3                   	ret
411710:	8b 7d e8             	mov    -0x18(%ebp),%edi
411713:	33 db                	xor    %ebx,%ebx
411715:	8b 75 ec             	mov    -0x14(%ebp),%esi
411718:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41171b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41171e:	89 45 ec             	mov    %eax,-0x14(%ebp)
411721:	85 c9                	test   %ecx,%ecx
411723:	74 17                	je     0x41173c
411725:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
411729:	72 04                	jb     0x41172f
41172b:	8b 17                	mov    (%edi),%edx
41172d:	eb 02                	jmp    0x411731
41172f:	8b d7                	mov    %edi,%edx
411731:	51                   	push   %ecx
411732:	52                   	push   %edx
411733:	50                   	push   %eax
411734:	e8 fd 0e 00 00       	call   0x412636
411739:	83 c4 0c             	add    $0xc,%esp
41173c:	53                   	push   %ebx
41173d:	6a 01                	push   $0x1
41173f:	8b cf                	mov    %edi,%ecx
411741:	e8 d0 00 00 00       	call   0x411816
411746:	8b 45 ec             	mov    -0x14(%ebp),%eax
411749:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41174c:	89 07                	mov    %eax,(%edi)
41174e:	89 77 14             	mov    %esi,0x14(%edi)
411751:	89 4f 10             	mov    %ecx,0x10(%edi)
411754:	83 fe 10             	cmp    $0x10,%esi
411757:	73 02                	jae    0x41175b
411759:	8b c7                	mov    %edi,%eax
41175b:	88 1c 08             	mov    %bl,(%eax,%ecx,1)
41175e:	e8 c9 0d 00 00       	call   0x41252c
411763:	c2 08 00             	ret    $0x8
411766:	8b 4d e8             	mov    -0x18(%ebp),%ecx
411769:	33 db                	xor    %ebx,%ebx
41176b:	53                   	push   %ebx
41176c:	6a 01                	push   $0x1
41176e:	e8 a3 00 00 00       	call   0x411816
411773:	53                   	push   %ebx
411774:	53                   	push   %ebx
411775:	e8 ac 0d 00 00       	call   0x412526
41177a:	cc                   	int3
41177b:	8b ff                	mov    %edi,%edi
41177d:	55                   	push   %ebp
41177e:	8b ec                	mov    %esp,%ebp
411780:	56                   	push   %esi
411781:	8b 75 08             	mov    0x8(%ebp),%esi
411784:	83 fe fe             	cmp    $0xfffffffe,%esi
411787:	77 4a                	ja     0x4117d3
411789:	39 71 14             	cmp    %esi,0x14(%ecx)
41178c:	73 0b                	jae    0x411799
41178e:	ff 71 10             	push   0x10(%ecx)
411791:	56                   	push   %esi
411792:	e8 fa fe ff ff       	call   0x411691
411797:	eb 30                	jmp    0x4117c9
411799:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41179d:	74 18                	je     0x4117b7
41179f:	83 fe 10             	cmp    $0x10,%esi
4117a2:	73 13                	jae    0x4117b7
4117a4:	8b 41 10             	mov    0x10(%ecx),%eax
4117a7:	3b f0                	cmp    %eax,%esi
4117a9:	73 02                	jae    0x4117ad
4117ab:	8b c6                	mov    %esi,%eax
4117ad:	50                   	push   %eax
4117ae:	6a 01                	push   $0x1
4117b0:	e8 61 00 00 00       	call   0x411816
4117b5:	eb 12                	jmp    0x4117c9
4117b7:	85 f6                	test   %esi,%esi
4117b9:	75 10                	jne    0x4117cb
4117bb:	21 71 10             	and    %esi,0x10(%ecx)
4117be:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4117c2:	72 02                	jb     0x4117c6
4117c4:	8b 09                	mov    (%ecx),%ecx
4117c6:	c6 01 00             	movb   $0x0,(%ecx)
4117c9:	85 f6                	test   %esi,%esi
4117cb:	0f 95 c0             	setne  %al
4117ce:	5e                   	pop    %esi
4117cf:	5d                   	pop    %ebp
4117d0:	c2 08 00             	ret    $0x8
4117d3:	e8 a3 00 00 00       	call   0x41187b
4117d8:	cc                   	int3
4117d9:	8b ff                	mov    %edi,%edi
4117db:	55                   	push   %ebp
4117dc:	8b ec                	mov    %esp,%ebp
4117de:	8b 55 08             	mov    0x8(%ebp),%edx
4117e1:	85 d2                	test   %edx,%edx
4117e3:	74 2b                	je     0x411810
4117e5:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4117e9:	72 04                	jb     0x4117ef
4117eb:	8b 01                	mov    (%ecx),%eax
4117ed:	eb 02                	jmp    0x4117f1
4117ef:	8b c1                	mov    %ecx,%eax
4117f1:	3b d0                	cmp    %eax,%edx
4117f3:	72 1b                	jb     0x411810
4117f5:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4117f9:	56                   	push   %esi
4117fa:	72 04                	jb     0x411800
4117fc:	8b 31                	mov    (%ecx),%esi
4117fe:	eb 02                	jmp    0x411802
411800:	8b f1                	mov    %ecx,%esi
411802:	8b 41 10             	mov    0x10(%ecx),%eax
411805:	03 c6                	add    %esi,%eax
411807:	5e                   	pop    %esi
411808:	3b c2                	cmp    %edx,%eax
41180a:	76 04                	jbe    0x411810
41180c:	b0 01                	mov    $0x1,%al
41180e:	eb 02                	jmp    0x411812
411810:	32 c0                	xor    %al,%al
411812:	5d                   	pop    %ebp
411813:	c2 04 00             	ret    $0x4
411816:	8b ff                	mov    %edi,%edi
411818:	55                   	push   %ebp
411819:	8b ec                	mov    %esp,%ebp
41181b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41181f:	56                   	push   %esi
411820:	57                   	push   %edi
411821:	8b 7d 0c             	mov    0xc(%ebp),%edi
411824:	8b f1                	mov    %ecx,%esi
411826:	74 20                	je     0x411848
411828:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
41182c:	72 1a                	jb     0x411848
41182e:	53                   	push   %ebx
41182f:	8b 1e                	mov    (%esi),%ebx
411831:	85 ff                	test   %edi,%edi
411833:	74 0b                	je     0x411840
411835:	57                   	push   %edi
411836:	53                   	push   %ebx
411837:	56                   	push   %esi
411838:	e8 f9 0d 00 00       	call   0x412636
41183d:	83 c4 0c             	add    $0xc,%esp
411840:	53                   	push   %ebx
411841:	e8 64 07 00 00       	call   0x411faa
411846:	59                   	pop    %ecx
411847:	5b                   	pop    %ebx
411848:	89 7e 10             	mov    %edi,0x10(%esi)
41184b:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
411852:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
411856:	5f                   	pop    %edi
411857:	5e                   	pop    %esi
411858:	5d                   	pop    %ebp
411859:	c2 08 00             	ret    $0x8
41185c:	8b ff                	mov    %edi,%edi
41185e:	55                   	push   %ebp
41185f:	8b ec                	mov    %esp,%ebp
411861:	83 ec 0c             	sub    $0xc,%esp
411864:	8d 4d f4             	lea    -0xc(%ebp),%ecx
411867:	e8 e5 fc ff ff       	call   0x411551
41186c:	68 5c 3e 41 00       	push   $0x413e5c
411871:	8d 45 f4             	lea    -0xc(%ebp),%eax
411874:	50                   	push   %eax
411875:	e8 ac 0c 00 00       	call   0x412526
41187a:	cc                   	int3
41187b:	68 60 1e 40 00       	push   $0x401e60
411880:	e8 01 00 00 00       	call   0x411886
411885:	cc                   	int3
411886:	8b ff                	mov    %edi,%edi
411888:	55                   	push   %ebp
411889:	8b ec                	mov    %esp,%ebp
41188b:	83 ec 0c             	sub    $0xc,%esp
41188e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
411891:	ff 75 08             	push   0x8(%ebp)
411894:	e8 08 fd ff ff       	call   0x4115a1
411899:	68 cc 3e 41 00       	push   $0x413ecc
41189e:	8d 45 f4             	lea    -0xc(%ebp),%eax
4118a1:	50                   	push   %eax
4118a2:	e8 7f 0c 00 00       	call   0x412526
4118a7:	cc                   	int3
4118a8:	8b ff                	mov    %edi,%edi