42077c:	eb 2f                	jmp    0x4207ad
42077e:	33 f6                	xor    %esi,%esi
420780:	eb 10                	jmp    0x420792
420782:	85 c0                	test   %eax,%eax
420784:	74 07                	je     0x42078d
420786:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
42078b:	74 1d                	je     0x4207aa
42078d:	03 f0                	add    %eax,%esi
42078f:	83 c7 02             	add    $0x2,%edi
420792:	0f b7 07             	movzwl (%edi),%eax
420795:	53                   	push   %ebx
420796:	50                   	push   %eax
420797:	8d 45 f4             	lea    -0xc(%ebp),%eax
42079a:	50                   	push   %eax
42079b:	e8 07 18 00 00       	call   0x421fa7
4207a0:	83 c4 0c             	add    $0xc,%esp
4207a3:	83 f8 ff             	cmp    $0xffffffff,%eax
4207a6:	75 da                	jne    0x420782
4207a8:	eb 03                	jmp    0x4207ad
4207aa:	48                   	dec    %eax
4207ab:	03 c6                	add    %esi,%eax
4207ad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4207b0:	5f                   	pop    %edi
4207b1:	5e                   	pop    %esi
4207b2:	33 cd                	xor    %ebp,%ecx
4207b4:	5b                   	pop    %ebx
4207b5:	e8 52 6c fe ff       	call   0x40740c
4207ba:	c9                   	leave
4207bb:	c3                   	ret
4207bc:	8b ff                	mov    %edi,%edi
4207be:	55                   	push   %ebp
4207bf:	8b ec                	mov    %esp,%ebp
4207c1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4207c4:	53                   	push   %ebx
4207c5:	8b 5d 10             	mov    0x10(%ebp),%ebx
4207c8:	56                   	push   %esi
4207c9:	8b 75 14             	mov    0x14(%ebp),%esi
4207cc:	85 f6                	test   %esi,%esi
4207ce:	75 1e                	jne    0x4207ee
4207d0:	85 c9                	test   %ecx,%ecx
4207d2:	75 1e                	jne    0x4207f2
4207d4:	39 75 0c             	cmp    %esi,0xc(%ebp)
4207d7:	74 27                	je     0x420800
4207d9:	e8 1d e6 fe ff       	call   0x40edfb
4207de:	6a 16                	push   $0x16
4207e0:	5e                   	pop    %esi
4207e1:	89 30                	mov    %esi,(%eax)
4207e3:	e8 99 c8 fe ff       	call   0x40d081
4207e8:	8b c6                	mov    %esi,%eax
4207ea:	5e                   	pop    %esi
4207eb:	5b                   	pop    %ebx
4207ec:	5d                   	pop    %ebp
4207ed:	c3                   	ret
4207ee:	85 c9                	test   %ecx,%ecx
4207f0:	74 e7                	je     0x4207d9
4207f2:	8b 45 0c             	mov    0xc(%ebp),%eax
4207f5:	85 c0                	test   %eax,%eax
4207f7:	74 e0                	je     0x4207d9
4207f9:	85 f6                	test   %esi,%esi
4207fb:	75 07                	jne    0x420804
4207fd:	c6 01 00             	movb   $0x0,(%ecx)
420800:	33 c0                	xor    %eax,%eax
420802:	eb e6                	jmp    0x4207ea
420804:	85 db                	test   %ebx,%ebx
420806:	75 04                	jne    0x42080c
420808:	88 19                	mov    %bl,(%ecx)
42080a:	eb cd                	jmp    0x4207d9
42080c:	2b d9                	sub    %ecx,%ebx
42080e:	8b d1                	mov    %ecx,%edx
420810:	57                   	push   %edi
420811:	8b f8                	mov    %eax,%edi
420813:	83 fe ff             	cmp    $0xffffffff,%esi
420816:	75 11                	jne    0x420829
420818:	8a 04 13             	mov    (%ebx,%edx,1),%al
42081b:	88 02                	mov    %al,(%edx)
42081d:	42                   	inc    %edx
42081e:	84 c0                	test   %al,%al
420820:	74 27                	je     0x420849
420822:	83 ef 01             	sub    $0x1,%edi
420825:	75 f1                	jne    0x420818
420827:	eb 20                	jmp    0x420849
420829:	8b ce                	mov    %esi,%ecx
42082b:	8a 04 13             	mov    (%ebx,%edx,1),%al
42082e:	88 02                	mov    %al,(%edx)
420830:	42                   	inc    %edx
420831:	84 c0                	test   %al,%al
420833:	74 0a                	je     0x42083f
420835:	83 ef 01             	sub    $0x1,%edi
420838:	74 05                	je     0x42083f
42083a:	83 e9 01             	sub    $0x1,%ecx
42083d:	75 ec                	jne    0x42082b
42083f:	85 c9                	test   %ecx,%ecx
420841:	8b 4d 08             	mov    0x8(%ebp),%ecx
420844:	75 03                	jne    0x420849
420846:	c6 02 00             	movb   $0x0,(%edx)
420849:	85 ff                	test   %edi,%edi
42084b:	5f                   	pop    %edi
42084c:	75 b2                	jne    0x420800
42084e:	83 fe ff             	cmp    $0xffffffff,%esi
420851:	75 0d                	jne    0x420860
420853:	8b 45 0c             	mov    0xc(%ebp),%eax
420856:	6a 50                	push   $0x50
420858:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
42085d:	58                   	pop    %eax
42085e:	eb 8a                	jmp    0x4207ea
420860:	c6 01 00             	movb   $0x0,(%ecx)
420863:	e8 93 e5 fe ff       	call   0x40edfb
420868:	6a 22                	push   $0x22
42086a:	e9 71 ff ff ff       	jmp    0x4207e0
42086f:	8b ff                	mov    %edi,%edi
420871:	55                   	push   %ebp
420872:	8b ec                	mov    %esp,%ebp
420874:	5d                   	pop    %ebp
420875:	e9 42 ff ff ff       	jmp    0x4207bc
42087a:	8b ff                	mov    %edi,%edi
42087c:	55                   	push   %ebp
42087d:	8b ec                	mov    %esp,%ebp
42087f:	ff 75 14             	push   0x14(%ebp)
420882:	ff 75 10             	push   0x10(%ebp)
420885:	ff 75 0c             	push   0xc(%ebp)
420888:	ff 75 08             	push   0x8(%ebp)
42088b:	ff 15 58 40 42 00    	call   *0x424058
420891:	5d                   	pop    %ebp
420892:	c3                   	ret
420893:	8b ff                	mov    %edi,%edi
420895:	55                   	push   %ebp
420896:	8b ec                	mov    %esp,%ebp
420898:	53                   	push   %ebx
420899:	56                   	push   %esi
42089a:	ba 40 80 00 00       	mov    $0x8040,%edx
42089f:	33 f6                	xor    %esi,%esi
4208a1:	57                   	push   %edi
4208a2:	8b 7d 08             	mov    0x8(%ebp),%edi
4208a5:	8b c7                	mov    %edi,%eax
4208a7:	23 c2                	and    %edx,%eax
4208a9:	8d 4a c0             	lea    -0x40(%edx),%ecx
4208ac:	66 3b c1             	cmp    %cx,%ax
4208af:	75 07                	jne    0x4208b8
4208b1:	bb 00 0c 00 00       	mov    $0xc00,%ebx
4208b6:	eb 19                	jmp    0x4208d1
4208b8:	66 83 f8 40          	cmp    $0x40,%ax
4208bc:	75 07                	jne    0x4208c5
4208be:	bb 00 08 00 00       	mov    $0x800,%ebx
4208c3:	eb 0c                	jmp    0x4208d1
4208c5:	bb 00 04 00 00       	mov    $0x400,%ebx
4208ca:	66 3b c2             	cmp    %dx,%ax
4208cd:	74 02                	je     0x4208d1
4208cf:	8b de                	mov    %esi,%ebx
4208d1:	8b c7                	mov    %edi,%eax
4208d3:	b9 00 60 00 00       	mov    $0x6000,%ecx
4208d8:	23 c1                	and    %ecx,%eax
4208da:	74 25                	je     0x420901
4208dc:	3d 00 20 00 00       	cmp    $0x2000,%eax
4208e1:	74 19                	je     0x4208fc
4208e3:	3d 00 40 00 00       	cmp    $0x4000,%eax
4208e8:	74 0b                	je     0x4208f5
4208ea:	3b c1                	cmp    %ecx,%eax
4208ec:	75 13                	jne    0x420901
4208ee:	be 00 03 00 00       	mov    $0x300,%esi
4208f3:	eb 0c                	jmp    0x420901
4208f5:	be 00 02 00 00       	mov    $0x200,%esi
4208fa:	eb 05                	jmp    0x420901
4208fc:	be 00 01 00 00       	mov    $0x100,%esi
420901:	33 c9                	xor    %ecx,%ecx
420903:	8b d7                	mov    %edi,%edx
420905:	41                   	inc    %ecx
420906:	c1 ea 08             	shr    $0x8,%edx
420909:	23 d1                	and    %ecx,%edx
42090b:	8b c7                	mov    %edi,%eax
42090d:	c1 e8 07             	shr    $0x7,%eax
420910:	23 c1                	and    %ecx,%eax
420912:	c1 e2 05             	shl    $0x5,%edx
420915:	c1 e0 04             	shl    $0x4,%eax
420918:	0b d0                	or     %eax,%edx
42091a:	8b c7                	mov    %edi,%eax
42091c:	c1 e8 09             	shr    $0x9,%eax
42091f:	23 c1                	and    %ecx,%eax
420921:	c1 e0 03             	shl    $0x3,%eax
420924:	0b d0                	or     %eax,%edx
420926:	8b c7                	mov    %edi,%eax
420928:	c1 e8 0a             	shr    $0xa,%eax
42092b:	23 c1                	and    %ecx,%eax
42092d:	8b cf                	mov    %edi,%ecx
42092f:	c1 e0 02             	shl    $0x2,%eax
420932:	c1 e9 0b             	shr    $0xb,%ecx
420935:	0b c2                	or     %edx,%eax
420937:	83 e1 01             	and    $0x1,%ecx
42093a:	c1 ef 0c             	shr    $0xc,%edi
42093d:	03 c9                	add    %ecx,%ecx
42093f:	83 e7 01             	and    $0x1,%edi
420942:	0b c1                	or     %ecx,%eax
420944:	0b c7                	or     %edi,%eax
420946:	5f                   	pop    %edi
420947:	0b c6                	or     %esi,%eax
420949:	5e                   	pop    %esi
42094a:	0b c3                	or     %ebx,%eax
42094c:	5b                   	pop    %ebx
42094d:	5d                   	pop    %ebp
42094e:	c3                   	ret
42094f:	8b ff                	mov    %edi,%edi
420951:	55                   	push   %ebp
420952:	8b ec                	mov    %esp,%ebp
420954:	51                   	push   %ecx
420955:	53                   	push   %ebx
420956:	8b 5d 08             	mov    0x8(%ebp),%ebx
420959:	ba 00 10 00 00       	mov    $0x1000,%edx
42095e:	56                   	push   %esi
42095f:	57                   	push   %edi
420960:	0f b7 c3             	movzwl %bx,%eax
420963:	8b f8                	mov    %eax,%edi
420965:	89 55 fc             	mov    %edx,-0x4(%ebp)
420968:	23 fa                	and    %edx,%edi
42096a:	8b c8                	mov    %eax,%ecx
42096c:	c1 e7 02             	shl    $0x2,%edi
42096f:	ba 00 02 00 00       	mov    $0x200,%edx
420974:	6a 00                	push   $0x0
420976:	5e                   	pop    %esi
420977:	81 e1 00 03 00 00    	and    $0x300,%ecx
42097d:	74 09                	je     0x420988
42097f:	3b ca                	cmp    %edx,%ecx
420981:	74 0c                	je     0x42098f
420983:	89 75 fc             	mov    %esi,-0x4(%ebp)
420986:	eb 07                	jmp    0x42098f
420988:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
42098f:	b9 00 0c 00 00       	mov    $0xc00,%ecx
420994:	23 c1                	and    %ecx,%eax
420996:	74 22                	je     0x4209ba
420998:	3d 00 04 00 00       	cmp    $0x400,%eax
42099d:	74 16                	je     0x4209b5
42099f:	3d 00 08 00 00       	cmp    $0x800,%eax
4209a4:	74 0b                	je     0x4209b1
4209a6:	3b c1                	cmp    %ecx,%eax
4209a8:	75 10                	jne    0x4209ba
4209aa:	be 00 03 00 00       	mov    $0x300,%esi
4209af:	eb 09                	jmp    0x4209ba
4209b1:	8b f2                	mov    %edx,%esi
4209b3:	eb 05                	jmp    0x4209ba
4209b5:	be 00 01 00 00       	mov    $0x100,%esi
4209ba:	33 c9                	xor    %ecx,%ecx
4209bc:	8b d3                	mov    %ebx,%edx
4209be:	41                   	inc    %ecx
4209bf:	d1 ea                	shr    $1,%edx
4209c1:	8b c3                	mov    %ebx,%eax
4209c3:	23 d1                	and    %ecx,%edx
4209c5:	c1 e8 02             	shr    $0x2,%eax
4209c8:	23 c1                	and    %ecx,%eax
4209ca:	c1 e2 05             	shl    $0x5,%edx
4209cd:	c1 e0 03             	shl    $0x3,%eax
4209d0:	0b d0                	or     %eax,%edx
4209d2:	8b c3                	mov    %ebx,%eax
4209d4:	c1 e8 03             	shr    $0x3,%eax
4209d7:	23 c1                	and    %ecx,%eax
4209d9:	c1 e0 02             	shl    $0x2,%eax
4209dc:	0b d0                	or     %eax,%edx
4209de:	8b c3                	mov    %ebx,%eax
4209e0:	c1 e8 04             	shr    $0x4,%eax
4209e3:	23 c1                	and    %ecx,%eax
4209e5:	0f b6 cb             	movzbl %bl,%ecx
4209e8:	03 c0                	add    %eax,%eax
4209ea:	c1 eb 05             	shr    $0x5,%ebx
4209ed:	0b c2                	or     %edx,%eax
4209ef:	83 e1 01             	and    $0x1,%ecx
4209f2:	c1 e1 04             	shl    $0x4,%ecx
4209f5:	83 e3 01             	and    $0x1,%ebx
4209f8:	0b c1                	or     %ecx,%eax
4209fa:	0b c3                	or     %ebx,%eax
4209fc:	0b c7                	or     %edi,%eax
4209fe:	5f                   	pop    %edi
4209ff:	0b c6                	or     %esi,%eax
420a01:	0b 45 fc             	or     -0x4(%ebp),%eax
420a04:	5e                   	pop    %esi
420a05:	5b                   	pop    %ebx
420a06:	c9                   	leave
420a07:	c3                   	ret
420a08:	8b ff                	mov    %edi,%edi
420a0a:	55                   	push   %ebp
420a0b:	8b ec                	mov    %esp,%ebp
420a0d:	8b 4d 08             	mov    0x8(%ebp),%ecx
420a10:	8b c1                	mov    %ecx,%eax
420a12:	53                   	push   %ebx
420a13:	56                   	push   %esi
420a14:	8b f1                	mov    %ecx,%esi
420a16:	c1 e8 02             	shr    $0x2,%eax
420a19:	81 e6 ff ff 3f c0    	and    $0xc03fffff,%esi
420a1f:	0b f0                	or     %eax,%esi
420a21:	b8 00 0c 00 00       	mov    $0xc00,%eax
420a26:	57                   	push   %edi
420a27:	23 c8                	and    %eax,%ecx
420a29:	c1 ee 16             	shr    $0x16,%esi
420a2c:	33 ff                	xor    %edi,%edi
420a2e:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
420a34:	74 1c                	je     0x420a52
420a36:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
420a3c:	74 0f                	je     0x420a4d
420a3e:	3b c8                	cmp    %eax,%ecx
420a40:	74 04                	je     0x420a46
420a42:	8b df                	mov    %edi,%ebx
420a44:	eb 11                	jmp    0x420a57
420a46:	bb 00 80 00 00       	mov    $0x8000,%ebx
420a4b:	eb 0a                	jmp    0x420a57
420a4d:	6a 40                	push   $0x40
420a4f:	5b                   	pop    %ebx
420a50:	eb 05                	jmp    0x420a57
420a52:	bb 40 80 00 00       	mov    $0x8040,%ebx
420a57:	8b c6                	mov    %esi,%eax
420a59:	b9 00 03 00 00       	mov    $0x300,%ecx
420a5e:	23 c1                	and    %ecx,%eax
420a60:	74 25                	je     0x420a87
420a62:	3d 00 01 00 00       	cmp    $0x100,%eax
420a67:	74 19                	je     0x420a82
420a69:	3d 00 02 00 00       	cmp    $0x200,%eax
420a6e:	74 0b                	je     0x420a7b
420a70:	3b c1                	cmp    %ecx,%eax
420a72:	75 13                	jne    0x420a87
420a74:	bf 00 60 00 00       	mov    $0x6000,%edi
420a79:	eb 0c                	jmp    0x420a87
420a7b:	bf 00 40 00 00       	mov    $0x4000,%edi
420a80:	eb 05                	jmp    0x420a87
420a82:	bf 00 20 00 00       	mov    $0x2000,%edi
420a87:	33 c9                	xor    %ecx,%ecx
420a89:	8b d6                	mov    %esi,%edx
420a8b:	41                   	inc    %ecx
420a8c:	d1 ea                	shr    $1,%edx
420a8e:	23 d1                	and    %ecx,%edx
420a90:	8b c6                	mov    %esi,%eax
420a92:	c1 e8 02             	shr    $0x2,%eax
420a95:	23 c1                	and    %ecx,%eax
420a97:	c1 e2 0b             	shl    $0xb,%edx
420a9a:	c1 e0 0a             	shl    $0xa,%eax
420a9d:	0b d0                	or     %eax,%edx
420a9f:	8b c6                	mov    %esi,%eax
420aa1:	c1 e8 03             	shr    $0x3,%eax
420aa4:	23 c1                	and    %ecx,%eax
420aa6:	c1 e0 09             	shl    $0x9,%eax
420aa9:	0b d0                	or     %eax,%edx
420aab:	8b c6                	mov    %esi,%eax
420aad:	c1 e8 05             	shr    $0x5,%eax
420ab0:	23 c1                	and    %ecx,%eax
420ab2:	8b ce                	mov    %esi,%ecx
420ab4:	c1 e0 08             	shl    $0x8,%eax
420ab7:	83 e6 01             	and    $0x1,%esi
420aba:	c1 e9 04             	shr    $0x4,%ecx
420abd:	0b c2                	or     %edx,%eax
420abf:	83 e1 01             	and    $0x1,%ecx
420ac2:	c1 e6 0c             	shl    $0xc,%esi
420ac5:	c1 e1 07             	shl    $0x7,%ecx
420ac8:	0b c1                	or     %ecx,%eax
420aca:	0b c6                	or     %esi,%eax
420acc:	0b c3                	or     %ebx,%eax
420ace:	0b c7                	or     %edi,%eax