4619d4:	84 c0                	test   %al,%al
4619d6:	0f 84 84 00 00 00    	je     0x461a60
4619dc:	8b ce                	mov    %esi,%ecx
4619de:	e8 e0 a4 ff ff       	call   0x45bec3
4619e3:	84 c0                	test   %al,%al
4619e5:	74 77                	je     0x461a5e
4619e7:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4619eb:	57                   	push   %edi
4619ec:	ff 76 2c             	push   0x2c(%esi)
4619ef:	50                   	push   %eax
4619f0:	ff 76 04             	push   0x4(%esi)
4619f3:	ff 36                	push   (%esi)
4619f5:	e8 65 65 ff ff       	call   0x457f5f
4619fa:	83 c4 10             	add    $0x10,%esp
4619fd:	8d 7e 40             	lea    0x40(%esi),%edi
461a00:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
461a06:	84 c0                	test   %al,%al
461a08:	75 30                	jne    0x461a3a
461a0a:	8a 45 fc             	mov    -0x4(%ebp),%al
461a0d:	88 45 fc             	mov    %al,-0x4(%ebp)
461a10:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
461a14:	85 c9                	test   %ecx,%ecx
461a16:	75 02                	jne    0x461a1a
461a18:	8b cf                	mov    %edi,%ecx
461a1a:	8b 46 08             	mov    0x8(%esi),%eax
461a1d:	50                   	push   %eax
461a1e:	8b 00                	mov    (%eax),%eax
461a20:	ff 70 04             	push   0x4(%eax)
461a23:	8d 45 fc             	lea    -0x4(%ebp),%eax
461a26:	50                   	push   %eax
461a27:	51                   	push   %ecx
461a28:	e8 43 5a 01 00       	call   0x477470
461a2d:	83 c4 10             	add    $0x10,%esp
461a30:	85 c0                	test   %eax,%eax
461a32:	79 13                	jns    0x461a47
461a34:	c6 46 30 01          	movb   $0x1,0x30(%esi)
461a38:	eb 0d                	jmp    0x461a47
461a3a:	85 c9                	test   %ecx,%ecx
461a3c:	75 02                	jne    0x461a40
461a3e:	8b cf                	mov    %edi,%ecx
461a40:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
461a44:	66 89 01             	mov    %ax,(%ecx)
461a47:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461a4d:	85 c0                	test   %eax,%eax
461a4f:	74 02                	je     0x461a53
461a51:	8b f8                	mov    %eax,%edi
461a53:	89 7e 34             	mov    %edi,0x34(%esi)
461a56:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
461a5d:	5f                   	pop    %edi
461a5e:	b0 01                	mov    $0x1,%al
461a60:	5e                   	pop    %esi
461a61:	8b e5                	mov    %ebp,%esp
461a63:	5d                   	pop    %ebp
461a64:	c2 04 00             	ret    $0x4
461a67:	8b ff                	mov    %edi,%edi
461a69:	55                   	push   %ebp
461a6a:	8b ec                	mov    %esp,%ebp
461a6c:	51                   	push   %ecx
461a6d:	53                   	push   %ebx
461a6e:	56                   	push   %esi
461a6f:	8b f1                	mov    %ecx,%esi
461a71:	57                   	push   %edi
461a72:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
461a76:	83 46 14 04          	addl   $0x4,0x14(%esi)
461a7a:	8b 46 14             	mov    0x14(%esi),%eax
461a7d:	ff 76 2c             	push   0x2c(%esi)
461a80:	0f b7 58 fc          	movzwl -0x4(%eax),%ebx
461a84:	0f b7 46 32          	movzwl 0x32(%esi),%eax
461a88:	50                   	push   %eax
461a89:	ff 76 04             	push   0x4(%esi)
461a8c:	ff 36                	push   (%esi)
461a8e:	e8 cc 64 ff ff       	call   0x457f5f
461a93:	83 c4 10             	add    $0x10,%esp
461a96:	8d 7e 40             	lea    0x40(%esi),%edi
461a99:	84 c0                	test   %al,%al
461a9b:	75 32                	jne    0x461acf
461a9d:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
461aa3:	88 5d fc             	mov    %bl,-0x4(%ebp)
461aa6:	88 45 fd             	mov    %al,-0x3(%ebp)
461aa9:	85 c9                	test   %ecx,%ecx
461aab:	75 02                	jne    0x461aaf
461aad:	8b cf                	mov    %edi,%ecx
461aaf:	8b 46 08             	mov    0x8(%esi),%eax
461ab2:	50                   	push   %eax
461ab3:	8b 00                	mov    (%eax),%eax
461ab5:	ff 70 04             	push   0x4(%eax)
461ab8:	8d 45 fc             	lea    -0x4(%ebp),%eax
461abb:	50                   	push   %eax
461abc:	51                   	push   %ecx
461abd:	e8 ae 59 01 00       	call   0x477470
461ac2:	83 c4 10             	add    $0x10,%esp
461ac5:	85 c0                	test   %eax,%eax
461ac7:	79 15                	jns    0x461ade
461ac9:	c6 46 30 01          	movb   $0x1,0x30(%esi)
461acd:	eb 0f                	jmp    0x461ade
461acf:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461ad5:	85 c0                	test   %eax,%eax
461ad7:	75 02                	jne    0x461adb
461ad9:	8b c7                	mov    %edi,%eax
461adb:	66 89 18             	mov    %bx,(%eax)
461ade:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461ae4:	85 c0                	test   %eax,%eax
461ae6:	74 02                	je     0x461aea
461ae8:	8b f8                	mov    %eax,%edi
461aea:	89 7e 34             	mov    %edi,0x34(%esi)
461aed:	b0 01                	mov    $0x1,%al
461aef:	5f                   	pop    %edi
461af0:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
461af7:	5e                   	pop    %esi
461af8:	5b                   	pop    %ebx
461af9:	8b e5                	mov    %ebp,%esp
461afb:	5d                   	pop    %ebp
461afc:	c2 04 00             	ret    $0x4
461aff:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b03:	6a 00                	push   $0x0
461b05:	6a 0a                	push   $0xa
461b07:	e8 9b 00 00 00       	call   0x461ba7
461b0c:	c3                   	ret
461b0d:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b11:	6a 00                	push   $0x0
461b13:	6a 0a                	push   $0xa
461b15:	e8 db 01 00 00       	call   0x461cf5
461b1a:	c3                   	ret
461b1b:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b1f:	6a 00                	push   $0x0
461b21:	6a 0a                	push   $0xa
461b23:	e8 4f 03 00 00       	call   0x461e77
461b28:	c3                   	ret
461b29:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b2d:	6a 00                	push   $0x0
461b2f:	6a 0a                	push   $0xa
461b31:	e8 8f 04 00 00       	call   0x461fc5
461b36:	c3                   	ret
461b37:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b3b:	6a 00                	push   $0x0
461b3d:	6a 0a                	push   $0xa
461b3f:	e8 cf 05 00 00       	call   0x462113
461b44:	c3                   	ret
461b45:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b49:	6a 00                	push   $0x0
461b4b:	6a 0a                	push   $0xa
461b4d:	e8 43 07 00 00       	call   0x462295
461b52:	c3                   	ret
461b53:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b57:	6a 00                	push   $0x0
461b59:	6a 0a                	push   $0xa
461b5b:	e8 83 08 00 00       	call   0x4623e3
461b60:	c3                   	ret
461b61:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b65:	6a 00                	push   $0x0
461b67:	6a 0a                	push   $0xa
461b69:	e8 c7 09 00 00       	call   0x462535
461b6e:	c3                   	ret
461b6f:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b73:	6a 00                	push   $0x0
461b75:	6a 0a                	push   $0xa
461b77:	e8 3f 0b 00 00       	call   0x4626bb
461b7c:	c3                   	ret
461b7d:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b81:	6a 00                	push   $0x0
461b83:	6a 0a                	push   $0xa
461b85:	e8 83 0c 00 00       	call   0x46280d
461b8a:	c3                   	ret
461b8b:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b8f:	6a 00                	push   $0x0
461b91:	6a 0a                	push   $0xa
461b93:	e8 c7 0d 00 00       	call   0x46295f
461b98:	c3                   	ret
461b99:	83 49 20 10          	orl    $0x10,0x20(%ecx)
461b9d:	6a 00                	push   $0x0
461b9f:	6a 0a                	push   $0xa
461ba1:	e8 3f 0f 00 00       	call   0x462ae5
461ba6:	c3                   	ret
461ba7:	8b ff                	mov    %edi,%edi
461ba9:	55                   	push   %ebp
461baa:	8b ec                	mov    %esp,%ebp
461bac:	53                   	push   %ebx
461bad:	56                   	push   %esi
461bae:	8b f1                	mov    %ecx,%esi
461bb0:	ff 76 2c             	push   0x2c(%esi)
461bb3:	e8 3d e0 ff ff       	call   0x45fbf5
461bb8:	59                   	pop    %ecx
461bb9:	8b d8                	mov    %eax,%ebx
461bbb:	8b cb                	mov    %ebx,%ecx
461bbd:	83 e9 01             	sub    $0x1,%ecx
461bc0:	74 78                	je     0x461c3a
461bc2:	83 e9 01             	sub    $0x1,%ecx
461bc5:	74 56                	je     0x461c1d
461bc7:	49                   	dec    %ecx
461bc8:	83 e9 01             	sub    $0x1,%ecx
461bcb:	74 33                	je     0x461c00
461bcd:	83 e9 04             	sub    $0x4,%ecx
461bd0:	74 17                	je     0x461be9
461bd2:	e8 58 b2 fe ff       	call   0x44ce2f
461bd7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
461bdd:	e8 f4 b0 fe ff       	call   0x44ccd6
461be2:	32 c0                	xor    %al,%al
461be4:	e9 06 01 00 00       	jmp    0x461cef
461be9:	8b 46 20             	mov    0x20(%esi),%eax
461bec:	83 46 14 08          	addl   $0x8,0x14(%esi)
461bf0:	c1 e8 04             	shr    $0x4,%eax
461bf3:	a8 01                	test   $0x1,%al
461bf5:	8b 46 14             	mov    0x14(%esi),%eax
461bf8:	8b 48 f8             	mov    -0x8(%eax),%ecx
461bfb:	8b 50 fc             	mov    -0x4(%eax),%edx
461bfe:	eb 58                	jmp    0x461c58
461c00:	8b 46 20             	mov    0x20(%esi),%eax
461c03:	83 46 14 04          	addl   $0x4,0x14(%esi)
461c07:	c1 e8 04             	shr    $0x4,%eax
461c0a:	a8 01                	test   $0x1,%al
461c0c:	8b 46 14             	mov    0x14(%esi),%eax
461c0f:	74 05                	je     0x461c16
461c11:	8b 40 fc             	mov    -0x4(%eax),%eax
461c14:	eb 3f                	jmp    0x461c55
461c16:	8b 48 fc             	mov    -0x4(%eax),%ecx
461c19:	33 d2                	xor    %edx,%edx
461c1b:	eb 3b                	jmp    0x461c58
461c1d:	8b 46 20             	mov    0x20(%esi),%eax
461c20:	83 46 14 04          	addl   $0x4,0x14(%esi)
461c24:	c1 e8 04             	shr    $0x4,%eax
461c27:	a8 01                	test   $0x1,%al
461c29:	8b 46 14             	mov    0x14(%esi),%eax
461c2c:	74 06                	je     0x461c34
461c2e:	0f bf 40 fc          	movswl -0x4(%eax),%eax
461c32:	eb 21                	jmp    0x461c55
461c34:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
461c38:	eb 1b                	jmp    0x461c55
461c3a:	8b 46 20             	mov    0x20(%esi),%eax
461c3d:	83 46 14 04          	addl   $0x4,0x14(%esi)
461c41:	c1 e8 04             	shr    $0x4,%eax
461c44:	a8 01                	test   $0x1,%al
461c46:	8b 46 14             	mov    0x14(%esi),%eax
461c49:	74 06                	je     0x461c51
461c4b:	0f be 40 fc          	movsbl -0x4(%eax),%eax
461c4f:	eb 04                	jmp    0x461c55
461c51:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
461c55:	99                   	cltd
461c56:	8b c8                	mov    %eax,%ecx
461c58:	57                   	push   %edi
461c59:	8b 7e 20             	mov    0x20(%esi),%edi
461c5c:	8b c7                	mov    %edi,%eax
461c5e:	c1 e8 04             	shr    $0x4,%eax
461c61:	a8 01                	test   $0x1,%al
461c63:	74 17                	je     0x461c7c
461c65:	85 d2                	test   %edx,%edx
461c67:	7f 13                	jg     0x461c7c
461c69:	7c 04                	jl     0x461c6f
461c6b:	85 c9                	test   %ecx,%ecx
461c6d:	73 0d                	jae    0x461c7c
461c6f:	f7 d9                	neg    %ecx
461c71:	83 d2 00             	adc    $0x0,%edx
461c74:	f7 da                	neg    %edx
461c76:	83 cf 40             	or     $0x40,%edi
461c79:	89 7e 20             	mov    %edi,0x20(%esi)
461c7c:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
461c80:	5f                   	pop    %edi
461c81:	7d 09                	jge    0x461c8c
461c83:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
461c8a:	eb 11                	jmp    0x461c9d
461c8c:	83 66 20 f7          	andl   $0xfffffff7,0x20(%esi)
461c90:	b8 00 02 00 00       	mov    $0x200,%eax
461c95:	39 46 28             	cmp    %eax,0x28(%esi)
461c98:	7e 03                	jle    0x461c9d
461c9a:	89 46 28             	mov    %eax,0x28(%esi)
461c9d:	8b c1                	mov    %ecx,%eax
461c9f:	0b c2                	or     %edx,%eax
461ca1:	75 04                	jne    0x461ca7
461ca3:	83 66 20 df          	andl   $0xffffffdf,0x20(%esi)
461ca7:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
461cab:	ff 75 0c             	push   0xc(%ebp)
461cae:	ff 75 08             	push   0x8(%ebp)
461cb1:	83 fb 08             	cmp    $0x8,%ebx
461cb4:	75 0b                	jne    0x461cc1
461cb6:	52                   	push   %edx
461cb7:	51                   	push   %ecx
461cb8:	8b ce                	mov    %esi,%ecx
461cba:	e8 16 6c ff ff       	call   0x4588d5
461cbf:	eb 08                	jmp    0x461cc9
461cc1:	51                   	push   %ecx
461cc2:	8b ce                	mov    %esi,%ecx
461cc4:	e8 3c 66 ff ff       	call   0x458305
461cc9:	8b 46 20             	mov    0x20(%esi),%eax
461ccc:	c1 e8 07             	shr    $0x7,%eax
461ccf:	a8 01                	test   $0x1,%al
461cd1:	74 1a                	je     0x461ced
461cd3:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
461cd7:	74 08                	je     0x461ce1
461cd9:	8b 46 34             	mov    0x34(%esi),%eax
461cdc:	80 38 30             	cmpb   $0x30,(%eax)
461cdf:	74 0c                	je     0x461ced
461ce1:	ff 4e 34             	decl   0x34(%esi)
461ce4:	8b 4e 34             	mov    0x34(%esi),%ecx
461ce7:	c6 01 30             	movb   $0x30,(%ecx)
461cea:	ff 46 38             	incl   0x38(%esi)
461ced:	b0 01                	mov    $0x1,%al
461cef:	5e                   	pop    %esi
461cf0:	5b                   	pop    %ebx
461cf1:	5d                   	pop    %ebp
461cf2:	c2 08 00             	ret    $0x8
461cf5:	8b ff                	mov    %edi,%edi
461cf7:	55                   	push   %ebp
461cf8:	8b ec                	mov    %esp,%ebp
461cfa:	51                   	push   %ecx
461cfb:	51                   	push   %ecx
461cfc:	53                   	push   %ebx
461cfd:	56                   	push   %esi
461cfe:	8b f1                	mov    %ecx,%esi
461d00:	ff 76 2c             	push   0x2c(%esi)
461d03:	e8 ed de ff ff       	call   0x45fbf5
461d08:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
461d0c:	8b d8                	mov    %eax,%ebx
461d0e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
461d12:	59                   	pop    %ecx
461d13:	8b cb                	mov    %ebx,%ecx
461d15:	83 e9 01             	sub    $0x1,%ecx
461d18:	0f 84 81 00 00 00    	je     0x461d9f
461d1e:	83 e9 01             	sub    $0x1,%ecx
461d21:	74 5e                	je     0x461d81
461d23:	49                   	dec    %ecx
461d24:	83 e9 01             	sub    $0x1,%ecx
461d27:	74 3a                	je     0x461d63
461d29:	83 e9 04             	sub    $0x4,%ecx
461d2c:	74 17                	je     0x461d45
461d2e:	e8 fc b0 fe ff       	call   0x44ce2f
461d33:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
461d39:	e8 98 af fe ff       	call   0x44ccd6
461d3e:	32 c0                	xor    %al,%al
461d40:	e9 2a 01 00 00       	jmp    0x461e6f
461d45:	8b 46 20             	mov    0x20(%esi),%eax
461d48:	8b ce                	mov    %esi,%ecx
461d4a:	c1 e8 04             	shr    $0x4,%eax
461d4d:	a8 01                	test   $0x1,%al
461d4f:	8d 45 f8             	lea    -0x8(%ebp),%eax
461d52:	50                   	push   %eax
461d53:	74 07                	je     0x461d5c
461d55:	e8 c5 57 ff ff       	call   0x45751f
461d5a:	eb 5f                	jmp    0x461dbb
461d5c:	e8 76 5a ff ff       	call   0x4577d7
461d61:	eb 58                	jmp    0x461dbb
461d63:	8b 46 20             	mov    0x20(%esi),%eax
461d66:	8b ce                	mov    %esi,%ecx
461d68:	c1 e8 04             	shr    $0x4,%eax
461d6b:	a8 01                	test   $0x1,%al
461d6d:	8d 45 f8             	lea    -0x8(%ebp),%eax
461d70:	50                   	push   %eax
461d71:	74 07                	je     0x461d7a
461d73:	e8 03 48 ff ff       	call   0x45657b
461d78:	eb 41                	jmp    0x461dbb
461d7a:	e8 68 4a ff ff       	call   0x4567e7
461d7f:	eb 3a                	jmp    0x461dbb