423bc5:	8b 46 04             	mov    0x4(%esi),%eax
423bc8:	8b c8                	mov    %eax,%ecx
423bca:	2b 4e 08             	sub    0x8(%esi),%ecx
423bcd:	3b f9                	cmp    %ecx,%edi
423bcf:	7d 0a                	jge    0x423bdb
423bd1:	33 c0                	xor    %eax,%eax
423bd3:	8d 7d f4             	lea    -0xc(%ebp),%edi
423bd6:	ab                   	stos   %eax,%es:(%edi)
423bd7:	ab                   	stos   %eax,%es:(%edi)
423bd8:	ab                   	stos   %eax,%es:(%edi)
423bd9:	eb 3c                	jmp    0x423c17
423bdb:	3b f8                	cmp    %eax,%edi
423bdd:	7f 3c                	jg     0x423c1b
423bdf:	2b c7                	sub    %edi,%eax
423be1:	8b f8                	mov    %eax,%edi
423be3:	8d 45 e8             	lea    -0x18(%ebp),%eax
423be6:	50                   	push   %eax
423be7:	8d 45 f4             	lea    -0xc(%ebp),%eax
423bea:	50                   	push   %eax
423beb:	e8 94 fe ff ff       	call   0x423a84
423bf0:	8d 45 f4             	lea    -0xc(%ebp),%eax
423bf3:	57                   	push   %edi
423bf4:	50                   	push   %eax
423bf5:	e8 ca fe ff ff       	call   0x423ac4
423bfa:	ff 76 08             	push   0x8(%esi)
423bfd:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c00:	50                   	push   %eax
423c01:	e8 0c fe ff ff       	call   0x423a12
423c06:	8b 46 0c             	mov    0xc(%esi),%eax
423c09:	40                   	inc    %eax
423c0a:	50                   	push   %eax
423c0b:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c0e:	50                   	push   %eax
423c0f:	e8 b0 fe ff ff       	call   0x423ac4
423c14:	83 c4 20             	add    $0x20,%esp
423c17:	33 db                	xor    %ebx,%ebx
423c19:	eb 85                	jmp    0x423ba0
423c1b:	3b 3e                	cmp    (%esi),%edi
423c1d:	ff 76 0c             	push   0xc(%esi)
423c20:	7c 21                	jl     0x423c43
423c22:	33 c0                	xor    %eax,%eax
423c24:	8d 7d f4             	lea    -0xc(%ebp),%edi
423c27:	ab                   	stos   %eax,%es:(%edi)
423c28:	ab                   	stos   %eax,%es:(%edi)
423c29:	ab                   	stos   %eax,%es:(%edi)
423c2a:	80 4d f7 80          	orb    $0x80,-0x9(%ebp)
423c2e:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c31:	50                   	push   %eax
423c32:	e8 8d fe ff ff       	call   0x423ac4
423c37:	8b 5e 14             	mov    0x14(%esi),%ebx
423c3a:	03 1e                	add    (%esi),%ebx
423c3c:	59                   	pop    %ecx
423c3d:	33 c0                	xor    %eax,%eax
423c3f:	59                   	pop    %ecx
423c40:	40                   	inc    %eax
423c41:	eb 16                	jmp    0x423c59
423c43:	8b 5e 14             	mov    0x14(%esi),%ebx
423c46:	80 65 f7 7f          	andb   $0x7f,-0x9(%ebp)
423c4a:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c4d:	50                   	push   %eax
423c4e:	03 df                	add    %edi,%ebx
423c50:	e8 6f fe ff ff       	call   0x423ac4
423c55:	59                   	pop    %ecx
423c56:	59                   	pop    %ecx
423c57:	33 c0                	xor    %eax,%eax
423c59:	6a 1f                	push   $0x1f
423c5b:	59                   	pop    %ecx
423c5c:	2b 4e 0c             	sub    0xc(%esi),%ecx
423c5f:	8b 76 10             	mov    0x10(%esi),%esi
423c62:	d3 e3                	shl    %cl,%ebx
423c64:	8b 4d 08             	mov    0x8(%ebp),%ecx
423c67:	f7 d9                	neg    %ecx
423c69:	1b c9                	sbb    %ecx,%ecx
423c6b:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
423c71:	0b d9                	or     %ecx,%ebx
423c73:	0b 5d f4             	or     -0xc(%ebp),%ebx
423c76:	83 fe 40             	cmp    $0x40,%esi
423c79:	75 0d                	jne    0x423c88
423c7b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423c7e:	8b 55 f8             	mov    -0x8(%ebp),%edx
423c81:	89 59 04             	mov    %ebx,0x4(%ecx)
423c84:	89 11                	mov    %edx,(%ecx)
423c86:	eb 0a                	jmp    0x423c92
423c88:	83 fe 20             	cmp    $0x20,%esi
423c8b:	75 05                	jne    0x423c92
423c8d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423c90:	89 19                	mov    %ebx,(%ecx)
423c92:	5f                   	pop    %edi
423c93:	5e                   	pop    %esi
423c94:	5b                   	pop    %ebx
423c95:	c9                   	leave
423c96:	c3                   	ret
423c97:	68 1c 96 4a 00       	push   $0x4a961c
423c9c:	ff 74 24 0c          	push   0xc(%esp)
423ca0:	ff 74 24 0c          	push   0xc(%esp)
423ca4:	e8 96 fe ff ff       	call   0x423b3f
423ca9:	83 c4 0c             	add    $0xc,%esp
423cac:	c3                   	ret
423cad:	68 34 96 4a 00       	push   $0x4a9634
423cb2:	ff 74 24 0c          	push   0xc(%esp)
423cb6:	ff 74 24 0c          	push   0xc(%esp)
423cba:	e8 80 fe ff ff       	call   0x423b3f
423cbf:	83 c4 0c             	add    $0xc,%esp
423cc2:	c3                   	ret
423cc3:	55                   	push   %ebp
423cc4:	8b ec                	mov    %esp,%ebp
423cc6:	83 ec 10             	sub    $0x10,%esp
423cc9:	8b 45 08             	mov    0x8(%ebp),%eax
423ccc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423cd0:	33 c9                	xor    %ecx,%ecx
423cd2:	66 8b 48 0a          	mov    0xa(%eax),%cx
423cd6:	56                   	push   %esi
423cd7:	57                   	push   %edi
423cd8:	6a 40                	push   $0x40
423cda:	8b f1                	mov    %ecx,%esi
423cdc:	81 e1 00 80 00 00    	and    $0x8000,%ecx
423ce2:	8b f9                	mov    %ecx,%edi
423ce4:	8b 48 06             	mov    0x6(%eax),%ecx
423ce7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
423cea:	8b 48 02             	mov    0x2(%eax),%ecx
423ced:	0f b7 00             	movzwl (%eax),%eax
423cf0:	c1 e0 10             	shl    $0x10,%eax
423cf3:	89 45 f8             	mov    %eax,-0x8(%ebp)
423cf6:	8d 45 f0             	lea    -0x10(%ebp),%eax
423cf9:	50                   	push   %eax
423cfa:	81 e6 ff 7f 00 00    	and    $0x7fff,%esi
423d00:	89 4d f4             	mov    %ecx,-0xc(%ebp)
423d03:	e8 0a fd ff ff       	call   0x423a12
423d08:	85 c0                	test   %eax,%eax
423d0a:	59                   	pop    %ecx
423d0b:	59                   	pop    %ecx
423d0c:	74 08                	je     0x423d16
423d0e:	b9 00 00 00 80       	mov    $0x80000000,%ecx
423d13:	46                   	inc    %esi
423d14:	eb 03                	jmp    0x423d19
423d16:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423d19:	66 81 fe ff 7f       	cmp    $0x7fff,%si
423d1e:	75 07                	jne    0x423d27
423d20:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
423d27:	8b 45 0c             	mov    0xc(%ebp),%eax
423d2a:	0b fe                	or     %esi,%edi
423d2c:	89 48 04             	mov    %ecx,0x4(%eax)
423d2f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423d32:	66 89 78 08          	mov    %di,0x8(%eax)
423d36:	5f                   	pop    %edi
423d37:	89 08                	mov    %ecx,(%eax)
423d39:	8b 45 fc             	mov    -0x4(%ebp),%eax
423d3c:	5e                   	pop    %esi
423d3d:	c9                   	leave
423d3e:	c3                   	ret
423d3f:	55                   	push   %ebp
423d40:	8b ec                	mov    %esp,%ebp
423d42:	83 ec 14             	sub    $0x14,%esp
423d45:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
423d4a:	89 45 fc             	mov    %eax,-0x4(%ebp)
423d4d:	33 c0                	xor    %eax,%eax
423d4f:	50                   	push   %eax
423d50:	50                   	push   %eax
423d51:	50                   	push   %eax
423d52:	50                   	push   %eax
423d53:	ff 75 0c             	push   0xc(%ebp)
423d56:	8d 45 ec             	lea    -0x14(%ebp),%eax
423d59:	50                   	push   %eax
423d5a:	8d 45 f0             	lea    -0x10(%ebp),%eax
423d5d:	50                   	push   %eax
423d5e:	e8 00 42 00 00       	call   0x427f63
423d63:	ff 75 08             	push   0x8(%ebp)
423d66:	8d 45 f0             	lea    -0x10(%ebp),%eax
423d69:	50                   	push   %eax
423d6a:	e8 28 ff ff ff       	call   0x423c97
423d6f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423d72:	83 c4 24             	add    $0x24,%esp
423d75:	e8 64 3e ff ff       	call   0x417bde
423d7a:	c9                   	leave
423d7b:	c3                   	ret
423d7c:	55                   	push   %ebp
423d7d:	8b ec                	mov    %esp,%ebp
423d7f:	83 ec 14             	sub    $0x14,%esp
423d82:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
423d87:	89 45 fc             	mov    %eax,-0x4(%ebp)
423d8a:	33 c0                	xor    %eax,%eax
423d8c:	50                   	push   %eax
423d8d:	50                   	push   %eax
423d8e:	50                   	push   %eax
423d8f:	6a 01                	push   $0x1
423d91:	ff 75 0c             	push   0xc(%ebp)
423d94:	8d 45 ec             	lea    -0x14(%ebp),%eax
423d97:	50                   	push   %eax
423d98:	8d 45 f0             	lea    -0x10(%ebp),%eax
423d9b:	50                   	push   %eax
423d9c:	e8 c2 41 00 00       	call   0x427f63
423da1:	ff 75 08             	push   0x8(%ebp)
423da4:	8d 45 f0             	lea    -0x10(%ebp),%eax
423da7:	50                   	push   %eax
423da8:	e8 16 ff ff ff       	call   0x423cc3
423dad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423db0:	83 c4 24             	add    $0x24,%esp
423db3:	e8 26 3e ff ff       	call   0x417bde
423db8:	c9                   	leave
423db9:	c3                   	ret
423dba:	55                   	push   %ebp
423dbb:	8b ec                	mov    %esp,%ebp
423dbd:	83 ec 14             	sub    $0x14,%esp
423dc0:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
423dc5:	89 45 fc             	mov    %eax,-0x4(%ebp)
423dc8:	33 c0                	xor    %eax,%eax
423dca:	50                   	push   %eax
423dcb:	50                   	push   %eax
423dcc:	50                   	push   %eax
423dcd:	50                   	push   %eax
423dce:	ff 75 0c             	push   0xc(%ebp)
423dd1:	8d 45 ec             	lea    -0x14(%ebp),%eax
423dd4:	50                   	push   %eax
423dd5:	8d 45 f0             	lea    -0x10(%ebp),%eax
423dd8:	50                   	push   %eax
423dd9:	e8 85 41 00 00       	call   0x427f63
423dde:	ff 75 08             	push   0x8(%ebp)
423de1:	8d 45 f0             	lea    -0x10(%ebp),%eax
423de4:	50                   	push   %eax
423de5:	e8 c3 fe ff ff       	call   0x423cad
423dea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423ded:	83 c4 24             	add    $0x24,%esp
423df0:	e8 e9 3d ff ff       	call   0x417bde
423df5:	c9                   	leave
423df6:	c3                   	ret
423df7:	55                   	push   %ebp
423df8:	8b ec                	mov    %esp,%ebp
423dfa:	8b 55 10             	mov    0x10(%ebp),%edx
423dfd:	8b 4a 0c             	mov    0xc(%edx),%ecx
423e00:	53                   	push   %ebx
423e01:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423e04:	85 db                	test   %ebx,%ebx
423e06:	56                   	push   %esi
423e07:	8b 75 08             	mov    0x8(%ebp),%esi
423e0a:	57                   	push   %edi
423e0b:	8d 7e 01             	lea    0x1(%esi),%edi
423e0e:	c6 06 30             	movb   $0x30,(%esi)
423e11:	8b c7                	mov    %edi,%eax
423e13:	7e 1f                	jle    0x423e34
423e15:	89 5d 08             	mov    %ebx,0x8(%ebp)
423e18:	33 db                	xor    %ebx,%ebx
423e1a:	8a 11                	mov    (%ecx),%dl
423e1c:	84 d2                	test   %dl,%dl
423e1e:	74 06                	je     0x423e26
423e20:	0f be d2             	movsbl %dl,%edx
423e23:	41                   	inc    %ecx
423e24:	eb 03                	jmp    0x423e29
423e26:	6a 30                	push   $0x30
423e28:	5a                   	pop    %edx
423e29:	88 10                	mov    %dl,(%eax)
423e2b:	40                   	inc    %eax
423e2c:	ff 4d 08             	decl   0x8(%ebp)
423e2f:	75 e9                	jne    0x423e1a
423e31:	8b 55 10             	mov    0x10(%ebp),%edx
423e34:	85 db                	test   %ebx,%ebx
423e36:	c6 00 00             	movb   $0x0,(%eax)
423e39:	7c 12                	jl     0x423e4d
423e3b:	80 39 35             	cmpb   $0x35,(%ecx)
423e3e:	7c 0d                	jl     0x423e4d
423e40:	eb 03                	jmp    0x423e45
423e42:	c6 00 30             	movb   $0x30,(%eax)
423e45:	48                   	dec    %eax
423e46:	80 38 39             	cmpb   $0x39,(%eax)
423e49:	74 f7                	je     0x423e42
423e4b:	fe 00                	incb   (%eax)
423e4d:	80 3e 31             	cmpb   $0x31,(%esi)
423e50:	75 05                	jne    0x423e57
423e52:	ff 42 04             	incl   0x4(%edx)
423e55:	eb 12                	jmp    0x423e69
423e57:	57                   	push   %edi
423e58:	e8 93 3d ff ff       	call   0x417bf0
423e5d:	40                   	inc    %eax
423e5e:	50                   	push   %eax
423e5f:	57                   	push   %edi
423e60:	56                   	push   %esi
423e61:	e8 ba 31 ff ff       	call   0x417020
423e66:	83 c4 10             	add    $0x10,%esp
423e69:	5f                   	pop    %edi
423e6a:	5e                   	pop    %esi
423e6b:	5b                   	pop    %ebx
423e6c:	5d                   	pop    %ebp
423e6d:	c3                   	ret
423e6e:	55                   	push   %ebp
423e6f:	8b ec                	mov    %esp,%ebp
423e71:	51                   	push   %ecx
423e72:	8b 55 0c             	mov    0xc(%ebp),%edx
423e75:	33 c0                	xor    %eax,%eax
423e77:	66 8b 42 06          	mov    0x6(%edx),%ax
423e7b:	53                   	push   %ebx
423e7c:	56                   	push   %esi
423e7d:	57                   	push   %edi
423e7e:	bf ff 07 00 00       	mov    $0x7ff,%edi
423e83:	be 00 00 00 80       	mov    $0x80000000,%esi
423e88:	89 75 fc             	mov    %esi,-0x4(%ebp)
423e8b:	8b c8                	mov    %eax,%ecx
423e8d:	c1 e9 04             	shr    $0x4,%ecx
423e90:	25 00 80 00 00       	and    $0x8000,%eax
423e95:	23 cf                	and    %edi,%ecx
423e97:	89 45 0c             	mov    %eax,0xc(%ebp)
423e9a:	8b 42 04             	mov    0x4(%edx),%eax
423e9d:	8b 12                	mov    (%edx),%edx
423e9f:	0f b7 d9             	movzwl %cx,%ebx
423ea2:	25 ff ff 0f 00       	and    $0xfffff,%eax
423ea7:	85 db                	test   %ebx,%ebx
423ea9:	74 13                	je     0x423ebe
423eab:	3b df                	cmp    %edi,%ebx
423ead:	74 08                	je     0x423eb7
423eaf:	8d b9 00 3c 00 00    	lea    0x3c00(%ecx),%edi
423eb5:	eb 28                	jmp    0x423edf
423eb7:	bf ff 7f 00 00       	mov    $0x7fff,%edi
423ebc:	eb 21                	jmp    0x423edf
423ebe:	33 db                	xor    %ebx,%ebx
423ec0:	3b c3                	cmp    %ebx,%eax
423ec2:	75 12                	jne    0x423ed6
423ec4:	3b d3                	cmp    %ebx,%edx
423ec6:	75 0e                	jne    0x423ed6
423ec8:	8b 45 08             	mov    0x8(%ebp),%eax
423ecb:	89 58 04             	mov    %ebx,0x4(%eax)
423ece:	89 18                	mov    %ebx,(%eax)
423ed0:	66 89 58 08          	mov    %bx,0x8(%eax)
423ed4:	eb 4d                	jmp    0x423f23
423ed6:	8d b9 01 3c 00 00    	lea    0x3c01(%ecx),%edi
423edc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
423edf:	8b ca                	mov    %edx,%ecx
423ee1:	c1 e9 15             	shr    $0x15,%ecx
423ee4:	c1 e0 0b             	shl    $0xb,%eax
423ee7:	0b c8                	or     %eax,%ecx
423ee9:	0b 4d fc             	or     -0x4(%ebp),%ecx
423eec:	8b 45 08             	mov    0x8(%ebp),%eax
423eef:	c1 e2 0b             	shl    $0xb,%edx
423ef2:	85 ce                	test   %ecx,%esi
423ef4:	89 48 04             	mov    %ecx,0x4(%eax)
423ef7:	89 10                	mov    %edx,(%eax)
423ef9:	75 1f                	jne    0x423f1a
423efb:	8b 08                	mov    (%eax),%ecx
423efd:	8b 50 04             	mov    0x4(%eax),%edx
423f00:	8b d9                	mov    %ecx,%ebx
423f02:	d1 e2                	shl    $1,%edx
423f04:	c1 eb 1f             	shr    $0x1f,%ebx
423f07:	0b d3                	or     %ebx,%edx
423f09:	03 c9                	add    %ecx,%ecx
423f0b:	81 c7 ff ff 00 00    	add    $0xffff,%edi
423f11:	85 d6                	test   %edx,%esi
423f13:	89 50 04             	mov    %edx,0x4(%eax)
423f16:	89 08                	mov    %ecx,(%eax)
423f18:	74 e1                	je     0x423efb
423f1a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423f1d:	0b cf                	or     %edi,%ecx
423f1f:	66 89 48 08          	mov    %cx,0x8(%eax)
423f23:	5f                   	pop    %edi