4115d8:	83 f8 08             	cmp    $0x8,%eax
4115db:	72 02                	jb     0x4115df
4115dd:	8b 1f                	mov    (%edi),%ebx
4115df:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
4115e2:	89 4f 10             	mov    %ecx,0x10(%edi)
4115e5:	56                   	push   %esi
4115e6:	52                   	push   %edx
4115e7:	53                   	push   %ebx
4115e8:	e8 63 be 00 00       	call   0x41d450
4115ed:	83 c4 0c             	add    $0xc,%esp
4115f0:	33 c0                	xor    %eax,%eax
4115f2:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
4115f6:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
4115fc:	ff 15 34 f2 43 00    	call   *0x43f234
411602:	b0 01                	mov    $0x1,%al
411604:	5f                   	pop    %edi
411605:	5e                   	pop    %esi
411606:	5b                   	pop    %ebx
411607:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41160a:	33 cd                	xor    %ebp,%ecx
41160c:	e8 bf a2 00 00       	call   0x41b8d0
411611:	8b e5                	mov    %ebp,%esp
411613:	5d                   	pop    %ebp
411614:	c3                   	ret
411615:	52                   	push   %edx
411616:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
41161d:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411623:	51                   	push   %ecx
411624:	8b cf                	mov    %edi,%ecx
411626:	e8 e5 0f ff ff       	call   0x402610
41162b:	ff b5 e8 fd ff ff    	push   -0x218(%ebp)
411631:	ff 15 34 f2 43 00    	call   *0x43f234
411637:	b0 01                	mov    $0x1,%al
411639:	5f                   	pop    %edi
41163a:	5e                   	pop    %esi
41163b:	5b                   	pop    %ebx
41163c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41163f:	33 cd                	xor    %ebp,%ecx
411641:	e8 8a a2 00 00       	call   0x41b8d0
411646:	8b e5                	mov    %ebp,%esp
411648:	5d                   	pop    %ebp
411649:	c3                   	ret
41164a:	51                   	push   %ecx
41164b:	b9 1a 00 00 00       	mov    $0x1a,%ecx
411650:	e8 ab f3 ff ff       	call   0x410a00
411655:	83 c4 04             	add    $0x4,%esp
411658:	5f                   	pop    %edi
411659:	5e                   	pop    %esi
41165a:	5b                   	pop    %ebx
41165b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41165e:	33 cd                	xor    %ebp,%ecx
411660:	e8 6b a2 00 00       	call   0x41b8d0
411665:	8b e5                	mov    %ebp,%esp
411667:	5d                   	pop    %ebp
411668:	c3                   	ret
411669:	51                   	push   %ecx
41166a:	b9 1c 00 00 00       	mov    $0x1c,%ecx
41166f:	e8 8c f3 ff ff       	call   0x410a00
411674:	83 c4 04             	add    $0x4,%esp
411677:	5f                   	pop    %edi
411678:	5e                   	pop    %esi
411679:	5b                   	pop    %ebx
41167a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41167d:	33 cd                	xor    %ebp,%ecx
41167f:	e8 4c a2 00 00       	call   0x41b8d0
411684:	8b e5                	mov    %ebp,%esp
411686:	5d                   	pop    %ebp
411687:	c3                   	ret
411688:	51                   	push   %ecx
411689:	b9 23 00 00 00       	mov    $0x23,%ecx
41168e:	e8 6d f3 ff ff       	call   0x410a00
411693:	83 c4 04             	add    $0x4,%esp
411696:	5f                   	pop    %edi
411697:	5e                   	pop    %esi
411698:	5b                   	pop    %ebx
411699:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41169c:	33 cd                	xor    %ebp,%ecx
41169e:	e8 2d a2 00 00       	call   0x41b8d0
4116a3:	8b e5                	mov    %ebp,%esp
4116a5:	5d                   	pop    %ebp
4116a6:	c3                   	ret
4116a7:	51                   	push   %ecx
4116a8:	b9 2e 00 00 00       	mov    $0x2e,%ecx
4116ad:	e8 4e f3 ff ff       	call   0x410a00
4116b2:	83 c4 04             	add    $0x4,%esp
4116b5:	5f                   	pop    %edi
4116b6:	5e                   	pop    %esi
4116b7:	5b                   	pop    %ebx
4116b8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4116bb:	33 cd                	xor    %ebp,%ecx
4116bd:	e8 0e a2 00 00       	call   0x41b8d0
4116c2:	8b e5                	mov    %ebp,%esp
4116c4:	5d                   	pop    %ebp
4116c5:	c3                   	ret
4116c6:	8b cf                	mov    %edi,%ecx
4116c8:	e8 c3 f4 ff ff       	call   0x410b90
4116cd:	5f                   	pop    %edi
4116ce:	5e                   	pop    %esi
4116cf:	5b                   	pop    %ebx
4116d0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4116d3:	33 cd                	xor    %ebp,%ecx
4116d5:	e8 f6 a1 00 00       	call   0x41b8d0
4116da:	8b e5                	mov    %ebp,%esp
4116dc:	5d                   	pop    %ebp
4116dd:	c3                   	ret
4116de:	68 04 01 00 00       	push   $0x104
4116e3:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
4116e9:	50                   	push   %eax
4116ea:	6a 00                	push   $0x0
4116ec:	ff 15 10 f0 43 00    	call   *0x43f010
4116f2:	85 c0                	test   %eax,%eax
4116f4:	0f 84 68 05 00 00    	je     0x411c62
4116fa:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
411700:	8d 51 02             	lea    0x2(%ecx),%edx
411703:	66 8b 01             	mov    (%ecx),%ax
411706:	83 c1 02             	add    $0x2,%ecx
411709:	66 85 c0             	test   %ax,%ax
41170c:	75 f5                	jne    0x411703
41170e:	8b 47 14             	mov    0x14(%edi),%eax
411711:	2b ca                	sub    %edx,%ecx
411713:	d1 f9                	sar    $1,%ecx
411715:	3b c8                	cmp    %eax,%ecx
411717:	77 39                	ja     0x411752
411719:	8b df                	mov    %edi,%ebx
41171b:	83 f8 08             	cmp    $0x8,%eax
41171e:	72 02                	jb     0x411722
411720:	8b 1f                	mov    (%edi),%ebx
411722:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
411725:	89 4f 10             	mov    %ecx,0x10(%edi)
411728:	56                   	push   %esi
411729:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
41172f:	50                   	push   %eax
411730:	53                   	push   %ebx
411731:	e8 1a bd 00 00       	call   0x41d450
411736:	83 c4 0c             	add    $0xc,%esp
411739:	33 c0                	xor    %eax,%eax
41173b:	66 89 04 33          	mov    %ax,(%ebx,%esi,1)
41173f:	b0 01                	mov    $0x1,%al
411741:	5f                   	pop    %edi
411742:	5e                   	pop    %esi
411743:	5b                   	pop    %ebx
411744:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411747:	33 cd                	xor    %ebp,%ecx
411749:	e8 82 a1 00 00       	call   0x41b8d0
41174e:	8b e5                	mov    %ebp,%esp
411750:	5d                   	pop    %ebp
411751:	c3                   	ret
411752:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
411758:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
41175f:	50                   	push   %eax
411760:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411766:	51                   	push   %ecx
411767:	8b cf                	mov    %edi,%ecx
411769:	e8 a2 0e ff ff       	call   0x402610
41176e:	b0 01                	mov    $0x1,%al
411770:	5f                   	pop    %edi
411771:	5e                   	pop    %esi
411772:	5b                   	pop    %ebx
411773:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411776:	33 cd                	xor    %ebp,%ecx
411778:	e8 53 a1 00 00       	call   0x41b8d0
41177d:	8b e5                	mov    %ebp,%esp
41177f:	5d                   	pop    %ebp
411780:	c3                   	ret
411781:	68 04 01 00 00       	push   $0x104
411786:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
41178c:	50                   	push   %eax
41178d:	6a 00                	push   $0x0
41178f:	ff 15 10 f0 43 00    	call   *0x43f010
411795:	85 c0                	test   %eax,%eax
411797:	0f 84 c5 04 00 00    	je     0x411c62
41179d:	8d 85 ec fd ff ff    	lea    -0x214(%ebp),%eax
4117a3:	50                   	push   %eax
4117a4:	ff 15 f4 f1 43 00    	call   *0x43f1f4
4117aa:	85 c0                	test   %eax,%eax
4117ac:	0f 84 b0 04 00 00    	je     0x411c62
4117b2:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
4117b8:	8d 51 02             	lea    0x2(%ecx),%edx
4117bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4117c0:	66 8b 01             	mov    (%ecx),%ax
4117c3:	83 c1 02             	add    $0x2,%ecx
4117c6:	66 85 c0             	test   %ax,%ax
4117c9:	75 f5                	jne    0x4117c0
4117cb:	e9 3e ff ff ff       	jmp    0x41170e
4117d0:	8b cf                	mov    %edi,%ecx
4117d2:	e8 b9 f6 ff ff       	call   0x410e90
4117d7:	5f                   	pop    %edi
4117d8:	5e                   	pop    %esi
4117d9:	5b                   	pop    %ebx
4117da:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4117dd:	33 cd                	xor    %ebp,%ecx
4117df:	e8 ec a0 00 00       	call   0x41b8d0
4117e4:	8b e5                	mov    %ebp,%esp
4117e6:	5d                   	pop    %ebp
4117e7:	c3                   	ret
4117e8:	8b cf                	mov    %edi,%ecx
4117ea:	e8 71 f4 ff ff       	call   0x410c60
4117ef:	5f                   	pop    %edi
4117f0:	5e                   	pop    %esi
4117f1:	5b                   	pop    %ebx
4117f2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4117f5:	33 cd                	xor    %ebp,%ecx
4117f7:	e8 d4 a0 00 00       	call   0x41b8d0
4117fc:	8b e5                	mov    %ebp,%esp
4117fe:	5d                   	pop    %ebp
4117ff:	c3                   	ret
411800:	8b cf                	mov    %edi,%ecx
411802:	e8 99 f7 ff ff       	call   0x410fa0
411807:	5f                   	pop    %edi
411808:	5e                   	pop    %esi
411809:	5b                   	pop    %ebx
41180a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41180d:	33 cd                	xor    %ebp,%ecx
41180f:	e8 bc a0 00 00       	call   0x41b8d0
411814:	8b e5                	mov    %ebp,%esp
411816:	5d                   	pop    %ebp
411817:	c3                   	ret
411818:	8b cf                	mov    %edi,%ecx
41181a:	e8 41 f4 ff ff       	call   0x410c60
41181f:	eb 07                	jmp    0x411828
411821:	8b cf                	mov    %edi,%ecx
411823:	e8 78 f7 ff ff       	call   0x410fa0
411828:	8b 57 14             	mov    0x14(%edi),%edx
41182b:	8b c2                	mov    %edx,%eax
41182d:	8b 4f 10             	mov    0x10(%edi),%ecx
411830:	2b c1                	sub    %ecx,%eax
411832:	83 f8 04             	cmp    $0x4,%eax
411835:	72 39                	jb     0x411870
411837:	8d 71 04             	lea    0x4(%ecx),%esi
41183a:	89 77 10             	mov    %esi,0x10(%edi)
41183d:	83 fa 08             	cmp    $0x8,%edx
411840:	72 02                	jb     0x411844
411842:	8b 3f                	mov    (%edi),%edi
411844:	6a 08                	push   $0x8
411846:	68 20 e4 44 00       	push   $0x44e420
41184b:	8d 04 4f             	lea    (%edi,%ecx,2),%eax
41184e:	50                   	push   %eax
41184f:	e8 fc bb 00 00       	call   0x41d450
411854:	83 c4 0c             	add    $0xc,%esp
411857:	33 c0                	xor    %eax,%eax
411859:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
41185d:	b0 01                	mov    $0x1,%al
41185f:	5f                   	pop    %edi
411860:	5e                   	pop    %esi
411861:	5b                   	pop    %ebx
411862:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411865:	33 cd                	xor    %ebp,%ecx
411867:	e8 64 a0 00 00       	call   0x41b8d0
41186c:	8b e5                	mov    %ebp,%esp
41186e:	5d                   	pop    %ebp
41186f:	c3                   	ret
411870:	6a 04                	push   $0x4
411872:	68 20 e4 44 00       	push   $0x44e420
411877:	c6 85 e4 fd ff ff 00 	movb   $0x0,-0x21c(%ebp)
41187e:	8b cf                	mov    %edi,%ecx
411880:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
411886:	6a 04                	push   $0x4
411888:	e8 b3 0e ff ff       	call   0x402740
41188d:	b0 01                	mov    $0x1,%al
41188f:	5f                   	pop    %edi
411890:	5e                   	pop    %esi
411891:	5b                   	pop    %ebx
411892:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411895:	33 cd                	xor    %ebp,%ecx
411897:	e8 34 a0 00 00       	call   0x41b8d0
41189c:	8b e5                	mov    %ebp,%esp
41189e:	5d                   	pop    %ebp
41189f:	c3                   	ret
4118a0:	8b cf                	mov    %edi,%ecx
4118a2:	e8 d9 f7 ff ff       	call   0x411080
4118a7:	5f                   	pop    %edi
4118a8:	5e                   	pop    %esi
4118a9:	5b                   	pop    %ebx
4118aa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4118ad:	33 cd                	xor    %ebp,%ecx
4118af:	e8 1c a0 00 00       	call   0x41b8d0
4118b4:	8b e5                	mov    %ebp,%esp
4118b6:	5d                   	pop    %ebp
4118b7:	c3                   	ret
4118b8:	51                   	push   %ecx
4118b9:	b9 23 00 00 00       	mov    $0x23,%ecx
4118be:	e8 3d f1 ff ff       	call   0x410a00
4118c3:	83 c4 04             	add    $0x4,%esp
4118c6:	8b cf                	mov    %edi,%ecx
4118c8:	68 10 e4 44 00       	push   $0x44e410
4118cd:	e8 0e 09 ff ff       	call   0x4021e0
4118d2:	b0 01                	mov    $0x1,%al
4118d4:	5f                   	pop    %edi
4118d5:	5e                   	pop    %esi
4118d6:	5b                   	pop    %ebx
4118d7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4118da:	33 cd                	xor    %ebp,%ecx
4118dc:	e8 ef 9f 00 00       	call   0x41b8d0
4118e1:	8b e5                	mov    %ebp,%esp
4118e3:	5d                   	pop    %ebp
4118e4:	c3                   	ret
4118e5:	8b cf                	mov    %edi,%ecx
4118e7:	e8 a4 f5 ff ff       	call   0x410e90
4118ec:	84 c0                	test   %al,%al
4118ee:	0f 84 6e 03 00 00    	je     0x411c62
4118f4:	b8 b4 e5 44 00       	mov    $0x44e5b4,%eax
4118f9:	8b cf                	mov    %edi,%ecx
4118fb:	50                   	push   %eax
4118fc:	e8 df 08 ff ff       	call   0x4021e0
411901:	b0 01                	mov    $0x1,%al
411903:	5f                   	pop    %edi
411904:	5e                   	pop    %esi
411905:	5b                   	pop    %ebx
411906:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411909:	33 cd                	xor    %ebp,%ecx
41190b:	e8 c0 9f 00 00       	call   0x41b8d0
411910:	8b e5                	mov    %ebp,%esp
411912:	5d                   	pop    %ebp
411913:	c3                   	ret
411914:	8b cf                	mov    %edi,%ecx
411916:	e8 65 f7 ff ff       	call   0x411080
41191b:	84 c0                	test   %al,%al
41191d:	0f 84 3f 03 00 00    	je     0x411c62
411923:	b8 b4 e5 44 00       	mov    $0x44e5b4,%eax
411928:	8b cf                	mov    %edi,%ecx
41192a:	50                   	push   %eax
41192b:	e8 b0 08 ff ff       	call   0x4021e0
411930:	b0 01                	mov    $0x1,%al
411932:	5f                   	pop    %edi
411933:	5e                   	pop    %esi
411934:	5b                   	pop    %ebx
411935:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411938:	33 cd                	xor    %ebp,%ecx
41193a:	e8 91 9f 00 00       	call   0x41b8d0
41193f:	8b e5                	mov    %ebp,%esp
411941:	5d                   	pop    %ebp
411942:	c3                   	ret
411943:	51                   	push   %ecx
411944:	b9 23 00 00 00       	mov    $0x23,%ecx
411949:	e8 b2 f0 ff ff       	call   0x410a00
41194e:	83 c4 04             	add    $0x4,%esp
411951:	8b cf                	mov    %edi,%ecx
411953:	68 10 e4 44 00       	push   $0x44e410
411958:	e8 83 08 ff ff       	call   0x4021e0
41195d:	b8 b4 e5 44 00       	mov    $0x44e5b4,%eax
411962:	8b cf                	mov    %edi,%ecx
411964:	50                   	push   %eax
411965:	e8 76 08 ff ff       	call   0x4021e0
41196a:	b0 01                	mov    $0x1,%al
41196c:	5f                   	pop    %edi
41196d:	5e                   	pop    %esi
41196e:	5b                   	pop    %ebx
41196f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411972:	33 cd                	xor    %ebp,%ecx
411974:	e8 57 9f 00 00       	call   0x41b8d0