411595:	00 60 14             	add    %ah,0x14(%eax)
411598:	41                   	inc    %ecx
411599:	00 6a 14             	add    %ch,0x14(%edx)
41159c:	41                   	inc    %ecx
41159d:	00 9a 14 41 00 a4    	add    %bl,-0x5bffbeec(%edx)
4115a3:	14 41                	adc    $0x41,%al
4115a5:	00 ae 14 41 00 b5    	add    %ch,-0x4affbeec(%esi)
4115ab:	14 41                	adc    $0x41,%al
4115ad:	00 b9 14 41 00 c3    	add    %bh,-0x3cffbeec(%ecx)
4115b3:	14 41                	adc    $0x41,%al
4115b5:	00 ca                	add    %cl,%dl
4115b7:	14 41                	adc    $0x41,%al
4115b9:	00 d1                	add    %dl,%cl
4115bb:	14 41                	adc    $0x41,%al
4115bd:	00 46 15             	add    %al,0x15(%esi)
4115c0:	41                   	inc    %ecx
4115c1:	00 de                	add    %bl,%dh
4115c3:	14 41                	adc    $0x41,%al
4115c5:	00 e8                	add    %ch,%al
4115c7:	14 41                	adc    $0x41,%al
4115c9:	00 ff                	add    %bh,%bh
4115cb:	74 24                	je     0x4115f1
4115cd:	0c ff                	or     $0xff,%al
4115cf:	74 24                	je     0x4115f5
4115d1:	0c 6a                	or     $0x6a,%al
4115d3:	00 ff                	add    %bh,%bh
4115d5:	74 24                	je     0x4115fb
4115d7:	10 e8                	adc    %ch,%al
4115d9:	52                   	push   %edx
4115da:	ca ff ff             	lret   $0xffff
4115dd:	c2 0c 00             	ret    $0xc
4115e0:	a0 f2 0c 44 00       	mov    0x440cf2,%al
4115e5:	c3                   	ret
4115e6:	e9 3d b9 ff ff       	jmp    0x40cf28
4115eb:	e9 5c cc ff ff       	jmp    0x40e24c
4115f0:	55                   	push   %ebp
4115f1:	8b ec                	mov    %esp,%ebp
4115f3:	b8 00 10 00 00       	mov    $0x1000,%eax
4115f8:	e8 d3 8e 00 00       	call   0x41a4d0
4115fd:	53                   	push   %ebx
4115fe:	8b 5d 08             	mov    0x8(%ebp),%ebx
411601:	8b 83 2c 51 00 00    	mov    0x512c(%ebx),%eax
411607:	57                   	push   %edi
411608:	83 f8 02             	cmp    $0x2,%eax
41160b:	75 05                	jne    0x411612
41160d:	33 c0                	xor    %eax,%eax
41160f:	40                   	inc    %eax
411610:	eb 52                	jmp    0x411664
411612:	80 bb 7c 51 00 00 00 	cmpb   $0x0,0x517c(%ebx)
411619:	75 47                	jne    0x411662
41161b:	83 f8 01             	cmp    $0x1,%eax
41161e:	74 42                	je     0x411662
411620:	8b 7d 0c             	mov    0xc(%ebp),%edi
411623:	56                   	push   %esi
411624:	be 00 08 00 00       	mov    $0x800,%esi
411629:	56                   	push   %esi
41162a:	57                   	push   %edi
41162b:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
411631:	50                   	push   %eax
411632:	e8 e8 f2 ff ff       	call   0x41091f
411637:	ff 75 20             	push   0x20(%ebp)
41163a:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
411640:	ff 75 1c             	push   0x1c(%ebp)
411643:	ff 75 18             	push   0x18(%ebp)
411646:	ff 75 14             	push   0x14(%ebp)
411649:	56                   	push   %esi
41164a:	50                   	push   %eax
41164b:	e8 bf fc ff ff       	call   0x41130f
411650:	6a 02                	push   $0x2
411652:	59                   	pop    %ecx
411653:	5e                   	pop    %esi
411654:	3b c1                	cmp    %ecx,%eax
411656:	75 12                	jne    0x41166a
411658:	c7 83 2c 51 00 00 01 	movl   $0x1,0x512c(%ebx)
41165f:	00 00 00
411662:	33 c0                	xor    %eax,%eax
411664:	5f                   	pop    %edi
411665:	5b                   	pop    %ebx
411666:	c9                   	leave
411667:	c2 1c 00             	ret    $0x1c
41166a:	83 f8 03             	cmp    $0x3,%eax
41166d:	75 08                	jne    0x411677
41166f:	89 8b 2c 51 00 00    	mov    %ecx,0x512c(%ebx)
411675:	eb 96                	jmp    0x41160d
411677:	83 f8 04             	cmp    $0x4,%eax
41167a:	75 e8                	jne    0x411664
41167c:	8d 85 00 f0 ff ff    	lea    -0x1000(%ebp),%eax
411682:	50                   	push   %eax
411683:	e8 1e 8c ff ff       	call   0x40a2a6
411688:	ff 75 10             	push   0x10(%ebp)
41168b:	8d 8d 00 f0 ff ff    	lea    -0x1000(%ebp),%ecx
411691:	3b c1                	cmp    %ecx,%eax
411693:	8b c1                	mov    %ecx,%eax
411695:	50                   	push   %eax
411696:	57                   	push   %edi
411697:	75 07                	jne    0x4116a0
411699:	e8 72 8d ff ff       	call   0x40a410
41169e:	eb 05                	jmp    0x4116a5
4116a0:	e8 7a f2 ff ff       	call   0x41091f
4116a5:	57                   	push   %edi
4116a6:	e8 8c 7b ff ff       	call   0x409237
4116ab:	84 c0                	test   %al,%al
4116ad:	74 b3                	je     0x411662
4116af:	ff 75 20             	push   0x20(%ebp)
4116b2:	ff 75 1c             	push   0x1c(%ebp)
4116b5:	ff 75 18             	push   0x18(%ebp)
4116b8:	ff 75 14             	push   0x14(%ebp)
4116bb:	ff 75 10             	push   0x10(%ebp)
4116be:	57                   	push   %edi
4116bf:	53                   	push   %ebx
4116c0:	e8 2b ff ff ff       	call   0x4115f0
4116c5:	eb 9d                	jmp    0x411664
4116c7:	55                   	push   %ebp
4116c8:	8b ec                	mov    %esp,%ebp
4116ca:	b8 00 12 00 00       	mov    $0x1200,%eax
4116cf:	e8 fc 8d 00 00       	call   0x41a4d0
4116d4:	53                   	push   %ebx
4116d5:	56                   	push   %esi
4116d6:	ff 75 08             	push   0x8(%ebp)
4116d9:	68 83 00 00 00       	push   $0x83
4116de:	e8 09 ab ff ff       	call   0x40c1ec
4116e3:	50                   	push   %eax
4116e4:	8d 85 00 ee ff ff    	lea    -0x1200(%ebp),%eax
4116ea:	68 00 09 00 00       	push   $0x900
4116ef:	50                   	push   %eax
4116f0:	e8 ed be ff ff       	call   0x40d5e2
4116f5:	83 c4 10             	add    $0x10,%esp
4116f8:	ff 15 24 a2 42 00    	call   *0x42a224
4116fe:	6a 35                	push   $0x35
411700:	68 96 00 00 00       	push   $0x96
411705:	8b f0                	mov    %eax,%esi
411707:	e8 e0 aa ff ff       	call   0x40c1ec
41170c:	50                   	push   %eax
41170d:	8d 85 00 ee ff ff    	lea    -0x1200(%ebp),%eax
411713:	50                   	push   %eax
411714:	ff 35 fc 0c 44 00    	push   0x440cfc
41171a:	ff 15 d4 a2 42 00    	call   *0x42a2d4
411720:	83 f8 04             	cmp    $0x4,%eax
411723:	56                   	push   %esi
411724:	0f 94 c3             	sete   %bl
411727:	ff 15 20 a2 42 00    	call   *0x42a220
41172d:	5e                   	pop    %esi
41172e:	8a c3                	mov    %bl,%al
411730:	5b                   	pop    %ebx
411731:	c9                   	leave
411732:	c2 08 00             	ret    $0x8
411735:	55                   	push   %ebp
411736:	8b ec                	mov    %esp,%ebp
411738:	51                   	push   %ecx
411739:	53                   	push   %ebx
41173a:	56                   	push   %esi
41173b:	8b 75 0c             	mov    0xc(%ebp),%esi
41173e:	57                   	push   %edi
41173f:	8b 7d 10             	mov    0x10(%ebp),%edi
411742:	33 db                	xor    %ebx,%ebx
411744:	53                   	push   %ebx
411745:	53                   	push   %ebx
411746:	57                   	push   %edi
411747:	56                   	push   %esi
411748:	6a ff                	push   $0xffffffff
41174a:	ff 75 08             	push   0x8(%ebp)
41174d:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
411751:	53                   	push   %ebx
411752:	53                   	push   %ebx
411753:	88 1e                	mov    %bl,(%esi)
411755:	ff 15 20 a1 42 00    	call   *0x42a120
41175b:	85 c0                	test   %eax,%eax
41175d:	75 03                	jne    0x411762
41175f:	88 5d ff             	mov    %bl,-0x1(%ebp)
411762:	3b fb                	cmp    %ebx,%edi
411764:	76 04                	jbe    0x41176a
411766:	88 5c 3e ff          	mov    %bl,-0x1(%esi,%edi,1)
41176a:	8a 45 ff             	mov    -0x1(%ebp),%al
41176d:	5f                   	pop    %edi
41176e:	5e                   	pop    %esi
41176f:	5b                   	pop    %ebx
411770:	c9                   	leave
411771:	c2 0c 00             	ret    $0xc
411774:	53                   	push   %ebx
411775:	56                   	push   %esi
411776:	8b 74 24 10          	mov    0x10(%esp),%esi
41177a:	57                   	push   %edi
41177b:	8b 7c 24 18          	mov    0x18(%esp),%edi
41177f:	57                   	push   %edi
411780:	56                   	push   %esi
411781:	6a ff                	push   $0xffffffff
411783:	ff 74 24 1c          	push   0x1c(%esp)
411787:	33 c0                	xor    %eax,%eax
411789:	50                   	push   %eax
41178a:	50                   	push   %eax
41178b:	b3 01                	mov    $0x1,%bl
41178d:	66 89 06             	mov    %ax,(%esi)
411790:	ff 15 2c a2 42 00    	call   *0x42a22c
411796:	85 c0                	test   %eax,%eax
411798:	75 02                	jne    0x41179c
41179a:	32 db                	xor    %bl,%bl
41179c:	85 ff                	test   %edi,%edi
41179e:	76 07                	jbe    0x4117a7
4117a0:	33 c0                	xor    %eax,%eax
4117a2:	66 89 44 7e fe       	mov    %ax,-0x2(%esi,%edi,2)
4117a7:	5f                   	pop    %edi
4117a8:	5e                   	pop    %esi
4117a9:	8a c3                	mov    %bl,%al
4117ab:	5b                   	pop    %ebx
4117ac:	c2 0c 00             	ret    $0xc
4117af:	8b 44 24 08          	mov    0x8(%esp),%eax
4117b3:	56                   	push   %esi
4117b4:	33 f6                	xor    %esi,%esi
4117b6:	39 74 24 10          	cmp    %esi,0x10(%esp)
4117ba:	76 1f                	jbe    0x4117db
4117bc:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4117c0:	8a 11                	mov    (%ecx),%dl
4117c2:	88 14 70             	mov    %dl,(%eax,%esi,2)
4117c5:	8a 51 01             	mov    0x1(%ecx),%dl
4117c8:	88 54 70 01          	mov    %dl,0x1(%eax,%esi,2)
4117cc:	66 83 39 00          	cmpw   $0x0,(%ecx)
4117d0:	74 09                	je     0x4117db
4117d2:	46                   	inc    %esi
4117d3:	41                   	inc    %ecx
4117d4:	41                   	inc    %ecx
4117d5:	3b 74 24 10          	cmp    0x10(%esp),%esi
4117d9:	72 e5                	jb     0x4117c0
4117db:	5e                   	pop    %esi
4117dc:	c2 0c 00             	ret    $0xc
4117df:	55                   	push   %ebp
4117e0:	8b ec                	mov    %esp,%ebp
4117e2:	56                   	push   %esi
4117e3:	33 f6                	xor    %esi,%esi
4117e5:	39 75 10             	cmp    %esi,0x10(%ebp)
4117e8:	76 2d                	jbe    0x411817
4117ea:	8b 4d 08             	mov    0x8(%ebp),%ecx
4117ed:	8b 55 0c             	mov    0xc(%ebp),%edx
4117f0:	2b d1                	sub    %ecx,%edx
4117f2:	57                   	push   %edi
4117f3:	66 0f b6 41 01       	movzbw 0x1(%ecx),%ax
4117f8:	bf 00 01 00 00       	mov    $0x100,%edi
4117fd:	66 0f af c7          	imul   %di,%ax
411801:	66 0f b6 39          	movzbw (%ecx),%di
411805:	66 03 c7             	add    %di,%ax
411808:	66 89 04 0a          	mov    %ax,(%edx,%ecx,1)
41180c:	74 08                	je     0x411816
41180e:	46                   	inc    %esi
41180f:	41                   	inc    %ecx
411810:	41                   	inc    %ecx
411811:	3b 75 10             	cmp    0x10(%ebp),%esi
411814:	72 dd                	jb     0x4117f3
411816:	5f                   	pop    %edi
411817:	8b 45 0c             	mov    0xc(%ebp),%eax
41181a:	5e                   	pop    %esi
41181b:	5d                   	pop    %ebp
41181c:	c2 0c 00             	ret    $0xc
41181f:	55                   	push   %ebp
411820:	8b ec                	mov    %esp,%ebp
411822:	8b 45 10             	mov    0x10(%ebp),%eax
411825:	8b 4d 0c             	mov    0xc(%ebp),%ecx
411828:	53                   	push   %ebx
411829:	48                   	dec    %eax
41182a:	56                   	push   %esi
41182b:	8b 75 08             	mov    0x8(%ebp),%esi
41182e:	89 45 10             	mov    %eax,0x10(%ebp)
411831:	0f b7 06             	movzwl (%esi),%eax
411834:	57                   	push   %edi
411835:	66 85 c0             	test   %ax,%ax
411838:	0f 84 c1 00 00 00    	je     0x4118ff
41183e:	b3 80                	mov    $0x80,%bl
411840:	ff 4d 10             	decl   0x10(%ebp)
411843:	0f 88 b6 00 00 00    	js     0x4118ff
411849:	0f b7 c0             	movzwl %ax,%eax
41184c:	46                   	inc    %esi
41184d:	46                   	inc    %esi
41184e:	3d 80 00 00 00       	cmp    $0x80,%eax
411853:	0f 82 97 00 00 00    	jb     0x4118f0
411859:	3d 00 08 00 00       	cmp    $0x800,%eax
41185e:	73 0f                	jae    0x41186f
411860:	ff 4d 10             	decl   0x10(%ebp)
411863:	78 0a                	js     0x41186f
411865:	8b d0                	mov    %eax,%edx
411867:	c1 ea 06             	shr    $0x6,%edx
41186a:	80 ca c0             	or     $0xc0,%dl
41186d:	eb 7a                	jmp    0x4118e9
41186f:	8d 90 00 28 ff ff    	lea    -0xd800(%eax),%edx
411875:	81 fa ff 03 00 00    	cmp    $0x3ff,%edx
41187b:	77 26                	ja     0x4118a3
41187d:	0f b7 16             	movzwl (%esi),%edx
411880:	bf 00 dc 00 00       	mov    $0xdc00,%edi
411885:	66 3b d7             	cmp    %di,%dx
411888:	72 19                	jb     0x4118a3
41188a:	bf ff df 00 00       	mov    $0xdfff,%edi
41188f:	66 3b d7             	cmp    %di,%dx
411892:	77 0f                	ja     0x4118a3
411894:	05 09 28 ff ff       	add    $0xffff2809,%eax
411899:	c1 e0 0a             	shl    $0xa,%eax
41189c:	0f b7 d2             	movzwl %dx,%edx
41189f:	03 c2                	add    %edx,%eax
4118a1:	46                   	inc    %esi
4118a2:	46                   	inc    %esi
4118a3:	3d 00 00 01 00       	cmp    $0x10000,%eax
4118a8:	73 10                	jae    0x4118ba
4118aa:	83 6d 10 02          	subl   $0x2,0x10(%ebp)
4118ae:	78 0a                	js     0x4118ba
4118b0:	8b d0                	mov    %eax,%edx
4118b2:	c1 ea 0c             	shr    $0xc,%edx
4118b5:	80 ca e0             	or     $0xe0,%dl
4118b8:	eb 22                	jmp    0x4118dc
4118ba:	3d 00 00 20 00       	cmp    $0x200000,%eax
4118bf:	73 32                	jae    0x4118f3
4118c1:	83 6d 10 03          	subl   $0x3,0x10(%ebp)
4118c5:	78 2c                	js     0x4118f3
4118c7:	8b d0                	mov    %eax,%edx
4118c9:	c1 ea 12             	shr    $0x12,%edx
4118cc:	80 ca f0             	or     $0xf0,%dl
4118cf:	88 11                	mov    %dl,(%ecx)
4118d1:	8b d0                	mov    %eax,%edx
4118d3:	c1 ea 0c             	shr    $0xc,%edx
4118d6:	80 e2 3f             	and    $0x3f,%dl
4118d9:	41                   	inc    %ecx
4118da:	0a d3                	or     %bl,%dl
4118dc:	88 11                	mov    %dl,(%ecx)
4118de:	8b d0                	mov    %eax,%edx
4118e0:	c1 ea 06             	shr    $0x6,%edx
4118e3:	80 e2 3f             	and    $0x3f,%dl
4118e6:	41                   	inc    %ecx
4118e7:	0a d3                	or     %bl,%dl
4118e9:	88 11                	mov    %dl,(%ecx)
4118eb:	24 3f                	and    $0x3f,%al
4118ed:	41                   	inc    %ecx
4118ee:	0a c3                	or     %bl,%al
4118f0:	88 01                	mov    %al,(%ecx)
4118f2:	41                   	inc    %ecx
4118f3:	0f b7 06             	movzwl (%esi),%eax
4118f6:	66 85 c0             	test   %ax,%ax
4118f9:	0f 85 41 ff ff ff    	jne    0x411840
4118ff:	5f                   	pop    %edi
411900:	5e                   	pop    %esi
411901:	c6 01 00             	movb   $0x0,(%ecx)
411904:	5b                   	pop    %ebx
411905:	5d                   	pop    %ebp
411906:	c2 0c 00             	ret    $0xc
411909:	55                   	push   %ebp
41190a:	8b ec                	mov    %esp,%ebp
41190c:	51                   	push   %ecx
41190d:	8b 45 10             	mov    0x10(%ebp),%eax
411910:	56                   	push   %esi
411911:	8b 75 08             	mov    0x8(%ebp),%esi
411914:	8a 0e                	mov    (%esi),%cl
411916:	48                   	dec    %eax
411917:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
41191b:	89 45 10             	mov    %eax,0x10(%ebp)
41191e:	84 c9                	test   %cl,%cl
411920:	0f 84 5e 01 00 00    	je     0x411a84