42084a:	eb 17                	jmp    0x420863
42084c:	0f b7 0e             	movzwl (%esi),%ecx
42084f:	8b 07                	mov    (%edi),%eax
420851:	51                   	push   %ecx
420852:	ff 75 08             	push   0x8(%ebp)
420855:	8b cf                	mov    %edi,%ecx
420857:	8b 40 10             	mov    0x10(%eax),%eax
42085a:	ff d0                	call   *%eax
42085c:	84 c0                	test   %al,%al
42085e:	75 08                	jne    0x420868
420860:	83 c6 02             	add    $0x2,%esi
420863:	3b 75 10             	cmp    0x10(%ebp),%esi
420866:	75 e4                	jne    0x42084c
420868:	5f                   	pop    %edi
420869:	8b c6                	mov    %esi,%eax
42086b:	5e                   	pop    %esi
42086c:	5d                   	pop    %ebp
42086d:	c2 0c 00             	ret    $0xc
420870:	55                   	push   %ebp
420871:	8b ec                	mov    %esp,%ebp
420873:	56                   	push   %esi
420874:	8b 75 0c             	mov    0xc(%ebp),%esi
420877:	57                   	push   %edi
420878:	8b f9                	mov    %ecx,%edi
42087a:	eb 17                	jmp    0x420893
42087c:	0f b7 0e             	movzwl (%esi),%ecx
42087f:	8b 07                	mov    (%edi),%eax
420881:	51                   	push   %ecx
420882:	ff 75 08             	push   0x8(%ebp)
420885:	8b cf                	mov    %edi,%ecx
420887:	8b 40 10             	mov    0x10(%eax),%eax
42088a:	ff d0                	call   *%eax
42088c:	84 c0                	test   %al,%al
42088e:	74 08                	je     0x420898
420890:	83 c6 02             	add    $0x2,%esi
420893:	3b 75 10             	cmp    0x10(%ebp),%esi
420896:	75 e4                	jne    0x42087c
420898:	5f                   	pop    %edi
420899:	8b c6                	mov    %esi,%eax
42089b:	5e                   	pop    %esi
42089c:	5d                   	pop    %ebp
42089d:	c2 0c 00             	ret    $0xc
4208a0:	66 8b 41 0e          	mov    0xe(%ecx),%ax
4208a4:	c3                   	ret
4208a5:	55                   	push   %ebp
4208a6:	8b ec                	mov    %esp,%ebp
4208a8:	8d 41 08             	lea    0x8(%ecx),%eax
4208ab:	50                   	push   %eax
4208ac:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
4208b0:	50                   	push   %eax
4208b1:	e8 ec 55 00 00       	call   0x425ea2
4208b6:	59                   	pop    %ecx
4208b7:	59                   	pop    %ecx
4208b8:	5d                   	pop    %ebp
4208b9:	c2 04 00             	ret    $0x4
4208bc:	55                   	push   %ebp
4208bd:	8b ec                	mov    %esp,%ebp
4208bf:	53                   	push   %ebx
4208c0:	56                   	push   %esi
4208c1:	8b 75 08             	mov    0x8(%ebp),%esi
4208c4:	33 c0                	xor    %eax,%eax
4208c6:	57                   	push   %edi
4208c7:	8b 7d 0c             	mov    0xc(%ebp),%edi
4208ca:	33 db                	xor    %ebx,%ebx
4208cc:	2b fe                	sub    %esi,%edi
4208ce:	3b 75 0c             	cmp    0xc(%ebp),%esi
4208d1:	0f 47 f8             	cmova  %eax,%edi
4208d4:	85 ff                	test   %edi,%edi
4208d6:	74 1d                	je     0x4208f5
4208d8:	8d 41 08             	lea    0x8(%ecx),%eax
4208db:	89 45 0c             	mov    %eax,0xc(%ebp)
4208de:	50                   	push   %eax
4208df:	0f b6 06             	movzbl (%esi),%eax
4208e2:	50                   	push   %eax
4208e3:	e8 ba 55 00 00       	call   0x425ea2
4208e8:	88 06                	mov    %al,(%esi)
4208ea:	46                   	inc    %esi
4208eb:	8b 45 0c             	mov    0xc(%ebp),%eax
4208ee:	43                   	inc    %ebx
4208ef:	59                   	pop    %ecx
4208f0:	59                   	pop    %ecx
4208f1:	3b df                	cmp    %edi,%ebx
4208f3:	75 e9                	jne    0x4208de
4208f5:	5f                   	pop    %edi
4208f6:	8b c6                	mov    %esi,%eax
4208f8:	5e                   	pop    %esi
4208f9:	5b                   	pop    %ebx
4208fa:	5d                   	pop    %ebp
4208fb:	c2 08 00             	ret    $0x8
4208fe:	55                   	push   %ebp
4208ff:	8b ec                	mov    %esp,%ebp
420901:	53                   	push   %ebx
420902:	56                   	push   %esi
420903:	8b 75 08             	mov    0x8(%ebp),%esi
420906:	33 db                	xor    %ebx,%ebx
420908:	57                   	push   %edi
420909:	8b 7d 0c             	mov    0xc(%ebp),%edi
42090c:	33 c0                	xor    %eax,%eax
42090e:	2b fe                	sub    %esi,%edi
420910:	47                   	inc    %edi
420911:	d1 ef                	shr    $1,%edi
420913:	3b 75 0c             	cmp    0xc(%ebp),%esi
420916:	0f 47 f8             	cmova  %eax,%edi
420919:	85 ff                	test   %edi,%edi
42091b:	74 20                	je     0x42093d
42091d:	8d 41 08             	lea    0x8(%ecx),%eax
420920:	89 45 0c             	mov    %eax,0xc(%ebp)
420923:	50                   	push   %eax
420924:	0f b7 06             	movzwl (%esi),%eax
420927:	50                   	push   %eax
420928:	e8 66 5c 00 00       	call   0x426593
42092d:	66 89 06             	mov    %ax,(%esi)
420930:	83 c6 02             	add    $0x2,%esi
420933:	8b 45 0c             	mov    0xc(%ebp),%eax
420936:	43                   	inc    %ebx
420937:	59                   	pop    %ecx
420938:	59                   	pop    %ecx
420939:	3b df                	cmp    %edi,%ebx
42093b:	75 e6                	jne    0x420923
42093d:	5f                   	pop    %edi
42093e:	8b c6                	mov    %esi,%eax
420940:	5e                   	pop    %esi
420941:	5b                   	pop    %ebx
420942:	5d                   	pop    %ebp
420943:	c2 08 00             	ret    $0x8
420946:	55                   	push   %ebp
420947:	8b ec                	mov    %esp,%ebp
420949:	8d 41 08             	lea    0x8(%ecx),%eax
42094c:	50                   	push   %eax
42094d:	ff 75 08             	push   0x8(%ebp)
420950:	e8 3e 5c 00 00       	call   0x426593
420955:	59                   	pop    %ecx
420956:	59                   	pop    %ecx
420957:	5d                   	pop    %ebp
420958:	c2 04 00             	ret    $0x4
42095b:	55                   	push   %ebp
42095c:	8b ec                	mov    %esp,%ebp
42095e:	8d 41 08             	lea    0x8(%ecx),%eax
420961:	50                   	push   %eax
420962:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
420966:	50                   	push   %eax
420967:	e8 68 59 00 00       	call   0x4262d4
42096c:	59                   	pop    %ecx
42096d:	59                   	pop    %ecx
42096e:	5d                   	pop    %ebp
42096f:	c2 04 00             	ret    $0x4
420972:	55                   	push   %ebp
420973:	8b ec                	mov    %esp,%ebp
420975:	53                   	push   %ebx
420976:	56                   	push   %esi
420977:	8b 75 08             	mov    0x8(%ebp),%esi
42097a:	33 c0                	xor    %eax,%eax
42097c:	57                   	push   %edi
42097d:	8b 7d 0c             	mov    0xc(%ebp),%edi
420980:	33 db                	xor    %ebx,%ebx
420982:	2b fe                	sub    %esi,%edi
420984:	3b 75 0c             	cmp    0xc(%ebp),%esi
420987:	0f 47 f8             	cmova  %eax,%edi
42098a:	85 ff                	test   %edi,%edi
42098c:	74 1d                	je     0x4209ab
42098e:	8d 41 08             	lea    0x8(%ecx),%eax
420991:	89 45 0c             	mov    %eax,0xc(%ebp)
420994:	50                   	push   %eax
420995:	0f b6 06             	movzbl (%esi),%eax
420998:	50                   	push   %eax
420999:	e8 36 59 00 00       	call   0x4262d4
42099e:	88 06                	mov    %al,(%esi)
4209a0:	46                   	inc    %esi
4209a1:	8b 45 0c             	mov    0xc(%ebp),%eax
4209a4:	43                   	inc    %ebx
4209a5:	59                   	pop    %ecx
4209a6:	59                   	pop    %ecx
4209a7:	3b df                	cmp    %edi,%ebx
4209a9:	75 e9                	jne    0x420994
4209ab:	5f                   	pop    %edi
4209ac:	8b c6                	mov    %esi,%eax
4209ae:	5e                   	pop    %esi
4209af:	5b                   	pop    %ebx
4209b0:	5d                   	pop    %ebp
4209b1:	c2 08 00             	ret    $0x8
4209b4:	55                   	push   %ebp
4209b5:	8b ec                	mov    %esp,%ebp
4209b7:	53                   	push   %ebx
4209b8:	56                   	push   %esi
4209b9:	8b 75 08             	mov    0x8(%ebp),%esi
4209bc:	33 db                	xor    %ebx,%ebx
4209be:	57                   	push   %edi
4209bf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4209c2:	33 c0                	xor    %eax,%eax
4209c4:	2b fe                	sub    %esi,%edi
4209c6:	47                   	inc    %edi
4209c7:	d1 ef                	shr    $1,%edi
4209c9:	3b 75 0c             	cmp    0xc(%ebp),%esi
4209cc:	0f 47 f8             	cmova  %eax,%edi
4209cf:	85 ff                	test   %edi,%edi
4209d1:	74 20                	je     0x4209f3
4209d3:	8d 41 08             	lea    0x8(%ecx),%eax
4209d6:	89 45 0c             	mov    %eax,0xc(%ebp)
4209d9:	50                   	push   %eax
4209da:	0f b7 06             	movzwl (%esi),%eax
4209dd:	50                   	push   %eax
4209de:	e8 10 5c 00 00       	call   0x4265f3
4209e3:	66 89 06             	mov    %ax,(%esi)
4209e6:	83 c6 02             	add    $0x2,%esi
4209e9:	8b 45 0c             	mov    0xc(%ebp),%eax
4209ec:	43                   	inc    %ebx
4209ed:	59                   	pop    %ecx
4209ee:	59                   	pop    %ecx
4209ef:	3b df                	cmp    %edi,%ebx
4209f1:	75 e6                	jne    0x4209d9
4209f3:	5f                   	pop    %edi
4209f4:	8b c6                	mov    %esi,%eax
4209f6:	5e                   	pop    %esi
4209f7:	5b                   	pop    %ebx
4209f8:	5d                   	pop    %ebp
4209f9:	c2 08 00             	ret    $0x8
4209fc:	55                   	push   %ebp
4209fd:	8b ec                	mov    %esp,%ebp
4209ff:	8d 41 08             	lea    0x8(%ecx),%eax
420a02:	50                   	push   %eax
420a03:	ff 75 08             	push   0x8(%ebp)
420a06:	e8 e8 5b 00 00       	call   0x4265f3
420a0b:	59                   	pop    %ecx
420a0c:	59                   	pop    %ecx
420a0d:	5d                   	pop    %ebp
420a0e:	c2 04 00             	ret    $0x4
420a11:	6a 04                	push   $0x4
420a13:	b8 c5 fb 48 00       	mov    $0x48fbc5,%eax
420a18:	e8 2d f0 01 00       	call   0x43fa4a
420a1d:	33 db                	xor    %ebx,%ebx
420a1f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420a22:	89 5d f0             	mov    %ebx,-0x10(%ebp)
420a25:	8b 75 08             	mov    0x8(%ebp),%esi
420a28:	89 5e 10             	mov    %ebx,0x10(%esi)
420a2b:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
420a32:	88 1e                	mov    %bl,(%esi)
420a34:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420a37:	8b 45 10             	mov    0x10(%ebp),%eax
420a3a:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
420a41:	2b 45 0c             	sub    0xc(%ebp),%eax
420a44:	74 3f                	je     0x420a85
420a46:	8d 79 08             	lea    0x8(%ecx),%edi
420a49:	53                   	push   %ebx
420a4a:	50                   	push   %eax
420a4b:	8b ce                	mov    %esi,%ecx
420a4d:	e8 31 1e 00 00       	call   0x422883
420a52:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
420a56:	8b c6                	mov    %esi,%eax
420a58:	8b 4e 10             	mov    0x10(%esi),%ecx
420a5b:	72 02                	jb     0x420a5f
420a5d:	8b 06                	mov    (%esi),%eax
420a5f:	03 c8                	add    %eax,%ecx
420a61:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
420a65:	8b c6                	mov    %esi,%eax
420a67:	72 02                	jb     0x420a6b
420a69:	8b 06                	mov    (%esi),%eax
420a6b:	57                   	push   %edi
420a6c:	ff 75 10             	push   0x10(%ebp)
420a6f:	ff 75 0c             	push   0xc(%ebp)
420a72:	51                   	push   %ecx
420a73:	50                   	push   %eax
420a74:	e8 b1 57 00 00       	call   0x42622a
420a79:	83 c4 14             	add    $0x14,%esp
420a7c:	3b 46 10             	cmp    0x10(%esi),%eax
420a7f:	76 04                	jbe    0x420a85
420a81:	85 c0                	test   %eax,%eax
420a83:	75 c4                	jne    0x420a49
420a85:	53                   	push   %ebx
420a86:	50                   	push   %eax
420a87:	8b ce                	mov    %esi,%ecx
420a89:	e8 f5 1d 00 00       	call   0x422883
420a8e:	8b c6                	mov    %esi,%eax
420a90:	e8 7e ef 01 00       	call   0x43fa13
420a95:	c2 0c 00             	ret    $0xc
420a98:	6a 04                	push   $0x4
420a9a:	b8 f9 fb 48 00       	mov    $0x48fbf9,%eax
420a9f:	e8 a6 ef 01 00       	call   0x43fa4a
420aa4:	33 db                	xor    %ebx,%ebx
420aa6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420aa9:	33 c0                	xor    %eax,%eax
420aab:	89 5d f0             	mov    %ebx,-0x10(%ebp)
420aae:	8b 75 08             	mov    0x8(%ebp),%esi
420ab1:	89 5e 10             	mov    %ebx,0x10(%esi)
420ab4:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
420abb:	66 89 06             	mov    %ax,(%esi)
420abe:	89 5d fc             	mov    %ebx,-0x4(%ebp)
420ac1:	8b 45 10             	mov    0x10(%ebp),%eax
420ac4:	2b 45 0c             	sub    0xc(%ebp),%eax
420ac7:	d1 f8                	sar    $1,%eax
420ac9:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
420ad0:	74 3c                	je     0x420b0e
420ad2:	8d 79 08             	lea    0x8(%ecx),%edi
420ad5:	53                   	push   %ebx
420ad6:	50                   	push   %eax
420ad7:	8b ce                	mov    %esi,%ecx
420ad9:	e8 d1 1d 00 00       	call   0x4228af
420ade:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
420ae2:	8b c6                	mov    %esi,%eax
420ae4:	8b 4e 10             	mov    0x10(%esi),%ecx
420ae7:	72 02                	jb     0x420aeb
420ae9:	8b 06                	mov    (%esi),%eax
420aeb:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
420aee:	8b c6                	mov    %esi,%eax
420af0:	72 02                	jb     0x420af4
420af2:	8b 06                	mov    (%esi),%eax
420af4:	57                   	push   %edi
420af5:	ff 75 10             	push   0x10(%ebp)
420af8:	ff 75 0c             	push   0xc(%ebp)
420afb:	51                   	push   %ecx
420afc:	50                   	push   %eax
420afd:	e8 8e 59 00 00       	call   0x426490
420b02:	83 c4 14             	add    $0x14,%esp
420b05:	3b 46 10             	cmp    0x10(%esi),%eax
420b08:	76 04                	jbe    0x420b0e
420b0a:	85 c0                	test   %eax,%eax
420b0c:	75 c7                	jne    0x420ad5
420b0e:	53                   	push   %ebx
420b0f:	50                   	push   %eax
420b10:	8b ce                	mov    %esi,%ecx
420b12:	e8 98 1d 00 00       	call   0x4228af
420b17:	8b c6                	mov    %esi,%eax
420b19:	e8 f5 ee 01 00       	call   0x43fa13
420b1e:	c2 0c 00             	ret    $0xc
420b21:	6a 04                	push   $0x4
420b23:	b8 2d fc 48 00       	mov    $0x48fc2d,%eax
420b28:	e8 1d ef 01 00       	call   0x43fa4a
420b2d:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
420b31:	ff 71 14             	push   0x14(%ecx)
420b34:	8b 4d 08             	mov    0x8(%ebp),%ecx
420b37:	e8 22 a8 fe ff       	call   0x40b35e
420b3c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420b40:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
420b47:	8b 45 08             	mov    0x8(%ebp),%eax
420b4a:	e8 c4 ee 01 00       	call   0x43fa13
420b4f:	c2 04 00             	ret    $0x4
420b52:	55                   	push   %ebp
420b53:	8b ec                	mov    %esp,%ebp
420b55:	8a 45 08             	mov    0x8(%ebp),%al
420b58:	5d                   	pop    %ebp
420b59:	c2 04 00             	ret    $0x4
420b5c:	55                   	push   %ebp
420b5d:	8b ec                	mov    %esp,%ebp
420b5f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
420b62:	2b 4d 08             	sub    0x8(%ebp),%ecx
420b65:	51                   	push   %ecx
420b66:	ff 75 08             	push   0x8(%ebp)
420b69:	ff 75 10             	push   0x10(%ebp)
420b6c:	e8 ef 27 02 00       	call   0x443360
420b71:	8b 45 0c             	mov    0xc(%ebp),%eax
420b74:	83 c4 0c             	add    $0xc,%esp