42dade:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
42dae2:	74 08                	je     0x42daec
42dae4:	6a 40                	push   $0x40
42dae6:	59                   	pop    %ecx
42dae7:	f0 09 08             	lock or %ecx,(%eax)
42daea:	eb 11                	jmp    0x42dafd
42daec:	b9 00 04 00 00       	mov    $0x400,%ecx
42daf1:	f0 09 08             	lock or %ecx,(%eax)
42daf4:	8d 46 14             	lea    0x14(%esi),%eax
42daf7:	6a 02                	push   $0x2
42daf9:	89 46 04             	mov    %eax,0x4(%esi)
42dafc:	5f                   	pop    %edi
42dafd:	89 7e 18             	mov    %edi,0x18(%esi)
42db00:	8b 46 04             	mov    0x4(%esi),%eax
42db03:	83 66 08 00          	andl   $0x0,0x8(%esi)
42db07:	5f                   	pop    %edi
42db08:	89 06                	mov    %eax,(%esi)
42db0a:	5e                   	pop    %esi
42db0b:	5d                   	pop    %ebp
42db0c:	c3                   	ret
42db0d:	8b ff                	mov    %edi,%edi
42db0f:	55                   	push   %ebp
42db10:	8b ec                	mov    %esp,%ebp
42db12:	83 ec 18             	sub    $0x18,%esp
42db15:	8b 45 08             	mov    0x8(%ebp),%eax
42db18:	8b c8                	mov    %eax,%ecx
42db1a:	53                   	push   %ebx
42db1b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42db1e:	83 e0 3f             	and    $0x3f,%eax
42db21:	c1 f9 06             	sar    $0x6,%ecx
42db24:	56                   	push   %esi
42db25:	57                   	push   %edi
42db26:	6b f8 38             	imul   $0x38,%eax,%edi
42db29:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42db30:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42db33:	8b 4c 07 18          	mov    0x18(%edi,%eax,1),%ecx
42db37:	89 4d ec             	mov    %ecx,-0x14(%ebp)
42db3a:	8b 4d 10             	mov    0x10(%ebp),%ecx
42db3d:	85 c9                	test   %ecx,%ecx
42db3f:	74 0c                	je     0x42db4d
42db41:	80 3b 0a             	cmpb   $0xa,(%ebx)
42db44:	75 07                	jne    0x42db4d
42db46:	80 4c 07 28 04       	orb    $0x4,0x28(%edi,%eax,1)
42db4b:	eb 05                	jmp    0x42db52
42db4d:	80 64 07 28 fb       	andb   $0xfb,0x28(%edi,%eax,1)
42db52:	03 cb                	add    %ebx,%ecx
42db54:	8b c3                	mov    %ebx,%eax
42db56:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42db59:	8b f3                	mov    %ebx,%esi
42db5b:	89 45 f8             	mov    %eax,-0x8(%ebp)
42db5e:	3b d9                	cmp    %ecx,%ebx
42db60:	0f 83 eb 00 00 00    	jae    0x42dc51
42db66:	8a 10                	mov    (%eax),%dl
42db68:	80 fa 1a             	cmp    $0x1a,%dl
42db6b:	0f 84 c3 00 00 00    	je     0x42dc34
42db71:	40                   	inc    %eax
42db72:	80 fa 0d             	cmp    $0xd,%dl
42db75:	74 07                	je     0x42db7e
42db77:	89 45 f8             	mov    %eax,-0x8(%ebp)
42db7a:	88 16                	mov    %dl,(%esi)
42db7c:	eb 26                	jmp    0x42dba4
42db7e:	3b c1                	cmp    %ecx,%eax
42db80:	73 30                	jae    0x42dbb2
42db82:	8a 08                	mov    (%eax),%cl
42db84:	33 c0                	xor    %eax,%eax
42db86:	80 f9 0a             	cmp    $0xa,%cl
42db89:	0f 94 c0             	sete   %al
42db8c:	40                   	inc    %eax
42db8d:	01 45 f8             	add    %eax,-0x8(%ebp)
42db90:	80 f9 0a             	cmp    $0xa,%cl
42db93:	0f 94 c0             	sete   %al
42db96:	fe c8                	dec    %al
42db98:	24 03                	and    $0x3,%al
42db9a:	04 0a                	add    $0xa,%al
42db9c:	88 06                	mov    %al,(%esi)
42db9e:	8b 45 f8             	mov    -0x8(%ebp),%eax
42dba1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42dba4:	33 d2                	xor    %edx,%edx
42dba6:	42                   	inc    %edx
42dba7:	03 f2                	add    %edx,%esi
42dba9:	3b c1                	cmp    %ecx,%eax
42dbab:	72 b9                	jb     0x42db66
42dbad:	e9 9f 00 00 00       	jmp    0x42dc51
42dbb2:	6a 00                	push   $0x0
42dbb4:	8d 45 f0             	lea    -0x10(%ebp),%eax
42dbb7:	50                   	push   %eax
42dbb8:	6a 01                	push   $0x1
42dbba:	8d 45 ff             	lea    -0x1(%ebp),%eax
42dbbd:	50                   	push   %eax
42dbbe:	ff 75 ec             	push   -0x14(%ebp)
42dbc1:	ff 15 98 e0 43 00    	call   *0x43e098
42dbc7:	85 c0                	test   %eax,%eax
42dbc9:	74 64                	je     0x42dc2f
42dbcb:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
42dbcf:	74 5e                	je     0x42dc2f
42dbd1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42dbd4:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42dbdb:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
42dbe0:	74 27                	je     0x42dc09
42dbe2:	8a 55 ff             	mov    -0x1(%ebp),%dl
42dbe5:	8d 46 01             	lea    0x1(%esi),%eax
42dbe8:	89 45 ec             	mov    %eax,-0x14(%ebp)
42dbeb:	80 fa 0a             	cmp    $0xa,%dl
42dbee:	75 04                	jne    0x42dbf4
42dbf0:	88 16                	mov    %dl,(%esi)
42dbf2:	eb 11                	jmp    0x42dc05
42dbf4:	c6 06 0d             	movb   $0xd,(%esi)
42dbf7:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42dbfe:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
42dc02:	8b 45 ec             	mov    -0x14(%ebp),%eax
42dc05:	8b f0                	mov    %eax,%esi
42dc07:	eb 48                	jmp    0x42dc51
42dc09:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
42dc0d:	75 09                	jne    0x42dc18
42dc0f:	3b f3                	cmp    %ebx,%esi
42dc11:	75 05                	jne    0x42dc18
42dc13:	c6 06 0a             	movb   $0xa,(%esi)
42dc16:	eb 38                	jmp    0x42dc50
42dc18:	6a 01                	push   $0x1
42dc1a:	6a ff                	push   $0xffffffff
42dc1c:	6a ff                	push   $0xffffffff
42dc1e:	ff 75 08             	push   0x8(%ebp)
42dc21:	e8 ea 08 00 00       	call   0x42e510
42dc26:	83 c4 10             	add    $0x10,%esp
42dc29:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
42dc2d:	74 22                	je     0x42dc51
42dc2f:	c6 06 0d             	movb   $0xd,(%esi)
42dc32:	eb 1c                	jmp    0x42dc50
42dc34:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42dc37:	8b 0c 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%ecx
42dc3e:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
42dc42:	a8 40                	test   $0x40,%al
42dc44:	75 08                	jne    0x42dc4e
42dc46:	0c 02                	or     $0x2,%al
42dc48:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
42dc4c:	eb 03                	jmp    0x42dc51
42dc4e:	88 16                	mov    %dl,(%esi)
42dc50:	46                   	inc    %esi
42dc51:	2b f3                	sub    %ebx,%esi
42dc53:	5f                   	pop    %edi
42dc54:	8b c6                	mov    %esi,%eax
42dc56:	5e                   	pop    %esi
42dc57:	5b                   	pop    %ebx
42dc58:	c9                   	leave
42dc59:	c3                   	ret
42dc5a:	8b ff                	mov    %edi,%edi
42dc5c:	55                   	push   %ebp
42dc5d:	8b ec                	mov    %esp,%ebp
42dc5f:	83 ec 1c             	sub    $0x1c,%esp
42dc62:	8b 45 08             	mov    0x8(%ebp),%eax
42dc65:	8b c8                	mov    %eax,%ecx
42dc67:	53                   	push   %ebx
42dc68:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42dc6b:	83 e0 3f             	and    $0x3f,%eax
42dc6e:	56                   	push   %esi
42dc6f:	c1 f9 06             	sar    $0x6,%ecx
42dc72:	57                   	push   %edi
42dc73:	6b f8 38             	imul   $0x38,%eax,%edi
42dc76:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42dc79:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42dc80:	6a 0a                	push   $0xa
42dc82:	5a                   	pop    %edx
42dc83:	89 55 e8             	mov    %edx,-0x18(%ebp)
42dc86:	8b 4c 38 18          	mov    0x18(%eax,%edi,1),%ecx
42dc8a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
42dc8d:	8b 4d 10             	mov    0x10(%ebp),%ecx
42dc90:	85 c9                	test   %ecx,%ecx
42dc92:	74 0c                	je     0x42dca0
42dc94:	66 39 13             	cmp    %dx,(%ebx)
42dc97:	75 07                	jne    0x42dca0
42dc99:	80 4c 38 28 04       	orb    $0x4,0x28(%eax,%edi,1)
42dc9e:	eb 05                	jmp    0x42dca5
42dca0:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
42dca5:	8d 14 4b             	lea    (%ebx,%ecx,2),%edx
42dca8:	8b c3                	mov    %ebx,%eax
42dcaa:	89 55 f4             	mov    %edx,-0xc(%ebp)
42dcad:	8b f3                	mov    %ebx,%esi
42dcaf:	89 45 fc             	mov    %eax,-0x4(%ebp)
42dcb2:	3b da                	cmp    %edx,%ebx
42dcb4:	0f 83 4e 01 00 00    	jae    0x42de08
42dcba:	c7 45 f0 0d 00 00 00 	movl   $0xd,-0x10(%ebp)
42dcc1:	0f b7 08             	movzwl (%eax),%ecx
42dcc4:	8b d1                	mov    %ecx,%edx
42dcc6:	89 55 ec             	mov    %edx,-0x14(%ebp)
42dcc9:	8b 55 f4             	mov    -0xc(%ebp),%edx
42dccc:	83 f9 1a             	cmp    $0x1a,%ecx
42dccf:	0f 84 13 01 00 00    	je     0x42dde8
42dcd5:	83 c0 02             	add    $0x2,%eax
42dcd8:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
42dcdc:	74 08                	je     0x42dce6
42dcde:	89 45 fc             	mov    %eax,-0x4(%ebp)
42dce1:	66 89 0e             	mov    %cx,(%esi)
42dce4:	eb 36                	jmp    0x42dd1c
42dce6:	3b c2                	cmp    %edx,%eax
42dce8:	73 40                	jae    0x42dd2a
42dcea:	0f b7 00             	movzwl (%eax),%eax
42dced:	33 c9                	xor    %ecx,%ecx
42dcef:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
42dcf3:	8b d0                	mov    %eax,%edx
42dcf5:	6a 0a                	push   $0xa
42dcf7:	0f 94 c1             	sete   %cl
42dcfa:	33 c0                	xor    %eax,%eax
42dcfc:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
42dd03:	01 4d fc             	add    %ecx,-0x4(%ebp)
42dd06:	59                   	pop    %ecx
42dd07:	66 3b d1             	cmp    %cx,%dx
42dd0a:	8b 55 f4             	mov    -0xc(%ebp),%edx
42dd0d:	0f 94 c0             	sete   %al
42dd10:	48                   	dec    %eax
42dd11:	83 e0 03             	and    $0x3,%eax
42dd14:	03 c1                	add    %ecx,%eax
42dd16:	66 89 06             	mov    %ax,(%esi)
42dd19:	8b 45 fc             	mov    -0x4(%ebp),%eax
42dd1c:	6a 02                	push   $0x2
42dd1e:	59                   	pop    %ecx
42dd1f:	03 f1                	add    %ecx,%esi
42dd21:	3b c2                	cmp    %edx,%eax
42dd23:	72 9c                	jb     0x42dcc1
42dd25:	e9 de 00 00 00       	jmp    0x42de08
42dd2a:	6a 00                	push   $0x0
42dd2c:	8d 45 e8             	lea    -0x18(%ebp),%eax
42dd2f:	50                   	push   %eax
42dd30:	6a 02                	push   $0x2
42dd32:	8d 45 fc             	lea    -0x4(%ebp),%eax
42dd35:	50                   	push   %eax
42dd36:	ff 75 e4             	push   -0x1c(%ebp)
42dd39:	ff 15 98 e0 43 00    	call   *0x43e098
42dd3f:	85 c0                	test   %eax,%eax
42dd41:	0f 84 9c 00 00 00    	je     0x42dde3
42dd47:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
42dd4b:	0f 84 92 00 00 00    	je     0x42dde3
42dd51:	8b 55 f8             	mov    -0x8(%ebp),%edx
42dd54:	6a 0a                	push   $0xa
42dd56:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42dd5d:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
42dd62:	74 55                	je     0x42ddb9
42dd64:	8d 46 02             	lea    0x2(%esi),%eax
42dd67:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42dd6a:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
42dd6e:	59                   	pop    %ecx
42dd6f:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
42dd73:	66 3b c1             	cmp    %cx,%ax
42dd76:	75 05                	jne    0x42dd7d
42dd78:	66 89 0e             	mov    %cx,(%esi)
42dd7b:	eb 37                	jmp    0x42ddb4
42dd7d:	6a 0d                	push   $0xd
42dd7f:	59                   	pop    %ecx
42dd80:	66 89 0e             	mov    %cx,(%esi)
42dd83:	0f b7 c8             	movzwl %ax,%ecx
42dd86:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42dd8d:	66 8b 55 fe          	mov    -0x2(%ebp),%dx
42dd91:	c1 e9 08             	shr    $0x8,%ecx
42dd94:	6a 0a                	push   $0xa
42dd96:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
42dd9a:	8b 55 f8             	mov    -0x8(%ebp),%edx
42dd9d:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42dda4:	88 4c 38 2b          	mov    %cl,0x2b(%eax,%edi,1)
42dda8:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42ddaf:	59                   	pop    %ecx
42ddb0:	88 4c 38 2c          	mov    %cl,0x2c(%eax,%edi,1)
42ddb4:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42ddb7:	eb 4f                	jmp    0x42de08
42ddb9:	58                   	pop    %eax
42ddba:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
42ddbe:	75 09                	jne    0x42ddc9
42ddc0:	3b f3                	cmp    %ebx,%esi
42ddc2:	75 05                	jne    0x42ddc9
42ddc4:	66 89 06             	mov    %ax,(%esi)
42ddc7:	eb 3c                	jmp    0x42de05
42ddc9:	6a 01                	push   $0x1
42ddcb:	6a ff                	push   $0xffffffff
42ddcd:	6a fe                	push   $0xfffffffe
42ddcf:	ff 75 08             	push   0x8(%ebp)
42ddd2:	e8 39 07 00 00       	call   0x42e510
42ddd7:	83 c4 10             	add    $0x10,%esp
42ddda:	6a 0a                	push   $0xa
42dddc:	58                   	pop    %eax
42dddd:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
42dde1:	74 25                	je     0x42de08
42dde3:	6a 0d                	push   $0xd
42dde5:	58                   	pop    %eax
42dde6:	eb dc                	jmp    0x42ddc4
42dde8:	8b 55 f8             	mov    -0x8(%ebp),%edx
42ddeb:	8b 14 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%edx
42ddf2:	8a 44 3a 28          	mov    0x28(%edx,%edi,1),%al
42ddf6:	a8 40                	test   $0x40,%al
42ddf8:	75 08                	jne    0x42de02
42ddfa:	0c 02                	or     $0x2,%al
42ddfc:	88 44 3a 28          	mov    %al,0x28(%edx,%edi,1)
42de00:	eb 06                	jmp    0x42de08
42de02:	66 89 0e             	mov    %cx,(%esi)
42de05:	83 c6 02             	add    $0x2,%esi
42de08:	2b f3                	sub    %ebx,%esi
42de0a:	83 e6 fe             	and    $0xfffffffe,%esi
42de0d:	5f                   	pop    %edi
42de0e:	8b c6                	mov    %esi,%eax
42de10:	5e                   	pop    %esi
42de11:	5b                   	pop    %ebx
42de12:	c9                   	leave
42de13:	c3                   	ret
42de14:	8b ff                	mov    %edi,%edi
42de16:	55                   	push   %ebp
42de17:	8b ec                	mov    %esp,%ebp
42de19:	51                   	push   %ecx
42de1a:	51                   	push   %ecx
42de1b:	53                   	push   %ebx
42de1c:	ff 75 10             	push   0x10(%ebp)
42de1f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42de22:	53                   	push   %ebx
42de23:	ff 75 08             	push   0x8(%ebp)
42de26:	e8 e2 fc ff ff       	call   0x42db0d
42de2b:	8b c8                	mov    %eax,%ecx
42de2d:	83 c4 0c             	add    $0xc,%esp
42de30:	85 c9                	test   %ecx,%ecx
42de32:	0f 84 30 01 00 00    	je     0x42df68
42de38:	8b 45 08             	mov    0x8(%ebp),%eax
42de3b:	8b 55 08             	mov    0x8(%ebp),%edx
42de3e:	83 e0 3f             	and    $0x3f,%eax
42de41:	c1 fa 06             	sar    $0x6,%edx
42de44:	57                   	push   %edi
42de45:	6b f8 38             	imul   $0x38,%eax,%edi
42de48:	89 55 fc             	mov    %edx,-0x4(%ebp)
42de4b:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42de52:	89 45 f8             	mov    %eax,-0x8(%ebp)
42de55:	80 7c 38 29 00       	cmpb   $0x0,0x29(%eax,%edi,1)
42de5a:	75 07                	jne    0x42de63
42de5c:	8b c1                	mov    %ecx,%eax
42de5e:	e9 04 01 00 00       	jmp    0x42df67
42de63:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
42de66:	56                   	push   %esi
42de67:	8d 70 ff             	lea    -0x1(%eax),%esi
42de6a:	8a 0e                	mov    (%esi),%cl
42de6c:	84 c9                	test   %cl,%cl
42de6e:	78 07                	js     0x42de77
42de70:	8b f0                	mov    %eax,%esi
42de72:	e9 9b 00 00 00       	jmp    0x42df12
42de77:	33 d2                	xor    %edx,%edx
42de79:	0f b6 c1             	movzbl %cl,%eax
42de7c:	42                   	inc    %edx
42de7d:	eb 0e                	jmp    0x42de8d
42de7f:	83 fa 04             	cmp    $0x4,%edx
42de82:	77 12                	ja     0x42de96
42de84:	3b f3                	cmp    %ebx,%esi
42de86:	72 0e                	jb     0x42de96
42de88:	4e                   	dec    %esi
42de89:	42                   	inc    %edx
42de8a:	0f b6 06             	movzbl (%esi),%eax
42de8d:	80 b8 b0 52 45 00 00 	cmpb   $0x0,0x4552b0(%eax)
42de94:	74 e9                	je     0x42de7f
42de96:	8a 0e                	mov    (%esi),%cl