4d9c21:	8b 74 24 08          	mov    0x8(%esp),%esi
4d9c25:	85 f6                	test   %esi,%esi
4d9c27:	74 55                	je     0x4d9c7e
4d9c29:	8b 46 10             	mov    0x10(%esi),%eax
4d9c2c:	a8 02                	test   $0x2,%al
4d9c2e:	75 35                	jne    0x4d9c65
4d9c30:	a8 08                	test   $0x8,%al
4d9c32:	74 1d                	je     0x4d9c51
4d9c34:	8b 46 08             	mov    0x8(%esi),%eax
4d9c37:	68 cc 00 00 00       	push   $0xcc
4d9c3c:	68 30 20 61 00       	push   $0x612030
4d9c41:	c1 e0 02             	shl    $0x2,%eax
4d9c44:	50                   	push   %eax
4d9c45:	ff 36                	push   (%esi)
4d9c47:	e8 a4 a4 00 00       	call   0x4e40f0
4d9c4c:	83 c4 10             	add    $0x10,%esp
4d9c4f:	eb 14                	jmp    0x4d9c65
4d9c51:	68 d0 00 00 00       	push   $0xd0
4d9c56:	68 30 20 61 00       	push   $0x612030
4d9c5b:	ff 36                	push   (%esi)
4d9c5d:	e8 1e 6b 00 00       	call   0x4e0780
4d9c62:	83 c4 0c             	add    $0xc,%esp
4d9c65:	f6 46 10 01          	testb  $0x1,0x10(%esi)
4d9c69:	74 13                	je     0x4d9c7e
4d9c6b:	68 e7 00 00 00       	push   $0xe7
4d9c70:	68 30 20 61 00       	push   $0x612030
4d9c75:	56                   	push   %esi
4d9c76:	e8 05 6b 00 00       	call   0x4e0780
4d9c7b:	83 c4 0c             	add    $0xc,%esp
4d9c7e:	5e                   	pop    %esi
4d9c7f:	c3                   	ret
4d9c80:	8b 44 24 04          	mov    0x4(%esp),%eax
4d9c84:	8b 40 10             	mov    0x10(%eax),%eax
4d9c87:	23 44 24 08          	and    0x8(%esp),%eax
4d9c8b:	c3                   	ret
4d9c8c:	cc                   	int3
4d9c8d:	cc                   	int3
4d9c8e:	cc                   	int3
4d9c8f:	cc                   	int3
4d9c90:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9c94:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4d9c98:	7e 04                	jle    0x4d9c9e
4d9c9a:	83 c8 ff             	or     $0xffffffff,%eax
4d9c9d:	c3                   	ret
4d9c9e:	75 05                	jne    0x4d9ca5
4d9ca0:	8b 01                	mov    (%ecx),%eax
4d9ca2:	8b 00                	mov    (%eax),%eax
4d9ca4:	c3                   	ret
4d9ca5:	33 c0                	xor    %eax,%eax
4d9ca7:	c3                   	ret
4d9ca8:	cc                   	int3
4d9ca9:	cc                   	int3
4d9caa:	cc                   	int3
4d9cab:	cc                   	int3
4d9cac:	cc                   	int3
4d9cad:	cc                   	int3
4d9cae:	cc                   	int3
4d9caf:	cc                   	int3
4d9cb0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4d9cb4:	85 c9                	test   %ecx,%ecx
4d9cb6:	78 1c                	js     0x4d9cd4
4d9cb8:	8b 44 24 04          	mov    0x4(%esp),%eax
4d9cbc:	8b d1                	mov    %ecx,%edx
4d9cbe:	c1 ea 05             	shr    $0x5,%edx
4d9cc1:	39 50 04             	cmp    %edx,0x4(%eax)
4d9cc4:	7e 0e                	jle    0x4d9cd4
4d9cc6:	8b 00                	mov    (%eax),%eax
4d9cc8:	83 e1 1f             	and    $0x1f,%ecx
4d9ccb:	8b 04 90             	mov    (%eax,%edx,4),%eax
4d9cce:	d3 e8                	shr    %cl,%eax
4d9cd0:	83 e0 01             	and    $0x1,%eax
4d9cd3:	c3                   	ret
4d9cd4:	33 c0                	xor    %eax,%eax
4d9cd6:	c3                   	ret
4d9cd7:	cc                   	int3
4d9cd8:	cc                   	int3
4d9cd9:	cc                   	int3
4d9cda:	cc                   	int3
4d9cdb:	cc                   	int3
4d9cdc:	cc                   	int3
4d9cdd:	cc                   	int3
4d9cde:	cc                   	int3
4d9cdf:	cc                   	int3
4d9ce0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9ce4:	33 c0                	xor    %eax,%eax
4d9ce6:	39 41 0c             	cmp    %eax,0xc(%ecx)
4d9ce9:	0f 95 c0             	setne  %al
4d9cec:	c3                   	ret
4d9ced:	cc                   	int3
4d9cee:	cc                   	int3
4d9cef:	cc                   	int3
4d9cf0:	8b 44 24 04          	mov    0x4(%esp),%eax
4d9cf4:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4d9cf8:	7e 0d                	jle    0x4d9d07
4d9cfa:	8b 00                	mov    (%eax),%eax
4d9cfc:	f6 00 01             	testb  $0x1,(%eax)
4d9cff:	74 06                	je     0x4d9d07
4d9d01:	b8 01 00 00 00       	mov    $0x1,%eax
4d9d06:	c3                   	ret
4d9d07:	33 c0                	xor    %eax,%eax
4d9d09:	c3                   	ret
4d9d0a:	cc                   	int3
4d9d0b:	cc                   	int3
4d9d0c:	cc                   	int3
4d9d0d:	cc                   	int3
4d9d0e:	cc                   	int3
4d9d0f:	cc                   	int3
4d9d10:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9d14:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4d9d18:	75 13                	jne    0x4d9d2d
4d9d1a:	8b 01                	mov    (%ecx),%eax
4d9d1c:	83 38 01             	cmpl   $0x1,(%eax)
4d9d1f:	75 0c                	jne    0x4d9d2d
4d9d21:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
4d9d25:	75 06                	jne    0x4d9d2d
4d9d27:	b8 01 00 00 00       	mov    $0x1,%eax
4d9d2c:	c3                   	ret
4d9d2d:	33 c0                	xor    %eax,%eax
4d9d2f:	c3                   	ret
4d9d30:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9d34:	8b 54 24 08          	mov    0x8(%esp),%edx
4d9d38:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
4d9d3c:	75 06                	jne    0x4d9d44
4d9d3e:	8b 01                	mov    (%ecx),%eax
4d9d40:	39 10                	cmp    %edx,(%eax)
4d9d42:	74 09                	je     0x4d9d4d
4d9d44:	85 d2                	test   %edx,%edx
4d9d46:	75 15                	jne    0x4d9d5d
4d9d48:	39 51 04             	cmp    %edx,0x4(%ecx)
4d9d4b:	75 10                	jne    0x4d9d5d
4d9d4d:	85 d2                	test   %edx,%edx
4d9d4f:	74 06                	je     0x4d9d57
4d9d51:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
4d9d55:	75 06                	jne    0x4d9d5d
4d9d57:	b8 01 00 00 00       	mov    $0x1,%eax
4d9d5c:	c3                   	ret
4d9d5d:	33 c0                	xor    %eax,%eax
4d9d5f:	c3                   	ret
4d9d60:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4d9d64:	33 c0                	xor    %eax,%eax
4d9d66:	39 41 04             	cmp    %eax,0x4(%ecx)
4d9d69:	0f 94 c0             	sete   %al
4d9d6c:	c3                   	ret
4d9d6d:	cc                   	int3
4d9d6e:	cc                   	int3
4d9d6f:	cc                   	int3
4d9d70:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4d9d74:	56                   	push   %esi
4d9d75:	85 c9                	test   %ecx,%ecx
4d9d77:	78 5d                	js     0x4d9dd6
4d9d79:	8b 74 24 08          	mov    0x8(%esp),%esi
4d9d7d:	8b c1                	mov    %ecx,%eax
4d9d7f:	c1 e8 05             	shr    $0x5,%eax
4d9d82:	83 e1 1f             	and    $0x1f,%ecx
4d9d85:	3b 46 04             	cmp    0x4(%esi),%eax
4d9d88:	7d 4c                	jge    0x4d9dd6
4d9d8a:	85 c9                	test   %ecx,%ecx
4d9d8c:	75 05                	jne    0x4d9d93
4d9d8e:	89 46 04             	mov    %eax,0x4(%esi)
4d9d91:	eb 17                	jmp    0x4d9daa
4d9d93:	8d 50 01             	lea    0x1(%eax),%edx
4d9d96:	89 56 04             	mov    %edx,0x4(%esi)
4d9d99:	8b 16                	mov    (%esi),%edx
4d9d9b:	8d 14 82             	lea    (%edx,%eax,4),%edx
4d9d9e:	83 c8 ff             	or     $0xffffffff,%eax
4d9da1:	d3 e0                	shl    %cl,%eax
4d9da3:	f7 d0                	not    %eax
4d9da5:	21 02                	and    %eax,(%edx)
4d9da7:	8b 46 04             	mov    0x4(%esi),%eax
4d9daa:	85 c0                	test   %eax,%eax
4d9dac:	7e 18                	jle    0x4d9dc6
4d9dae:	8b 0e                	mov    (%esi),%ecx
4d9db0:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
4d9db3:	83 79 fc 00          	cmpl   $0x0,-0x4(%ecx)
4d9db7:	8d 49 fc             	lea    -0x4(%ecx),%ecx
4d9dba:	75 05                	jne    0x4d9dc1
4d9dbc:	48                   	dec    %eax
4d9dbd:	85 c0                	test   %eax,%eax
4d9dbf:	7f f2                	jg     0x4d9db3
4d9dc1:	89 46 04             	mov    %eax,0x4(%esi)
4d9dc4:	85 c0                	test   %eax,%eax
4d9dc6:	75 07                	jne    0x4d9dcf
4d9dc8:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
4d9dcf:	b8 01 00 00 00       	mov    $0x1,%eax
4d9dd4:	5e                   	pop    %esi
4d9dd5:	c3                   	ret
4d9dd6:	33 c0                	xor    %eax,%eax
4d9dd8:	5e                   	pop    %esi
4d9dd9:	c3                   	ret
4d9dda:	cc                   	int3
4d9ddb:	cc                   	int3
4d9ddc:	cc                   	int3
4d9ddd:	cc                   	int3
4d9dde:	cc                   	int3
4d9ddf:	cc                   	int3
4d9de0:	68 f6 00 00 00       	push   $0xf6
4d9de5:	68 30 20 61 00       	push   $0x612030
4d9dea:	6a 14                	push   $0x14
4d9dec:	e8 4f 6c 00 00       	call   0x4e0a40
4d9df1:	83 c4 0c             	add    $0xc,%esp
4d9df4:	85 c0                	test   %eax,%eax
4d9df6:	75 1b                	jne    0x4d9e13
4d9df8:	68 f7 00 00 00       	push   $0xf7
4d9dfd:	68 30 20 61 00       	push   $0x612030
4d9e02:	6a 41                	push   $0x41
4d9e04:	6a 71                	push   $0x71
4d9e06:	6a 03                	push   $0x3
4d9e08:	e8 73 f1 ff ff       	call   0x4d8f80
4d9e0d:	83 c4 14             	add    $0x14,%esp
4d9e10:	33 c0                	xor    %eax,%eax
4d9e12:	c3                   	ret
4d9e13:	c7 40 10 01 00 00 00 	movl   $0x1,0x10(%eax)
4d9e1a:	c3                   	ret
4d9e1b:	cc                   	int3
4d9e1c:	cc                   	int3
4d9e1d:	cc                   	int3
4d9e1e:	cc                   	int3
4d9e1f:	cc                   	int3
4d9e20:	b8 0c 00 00 00       	mov    $0xc,%eax
4d9e25:	e8 86 79 0f 00       	call   0x5d17b0
4d9e2a:	8b 44 24 10          	mov    0x10(%esp),%eax
4d9e2e:	53                   	push   %ebx
4d9e2f:	f6 40 10 04          	testb  $0x4,0x10(%eax)
4d9e33:	8b 48 04             	mov    0x4(%eax),%ecx
4d9e36:	8d 59 ff             	lea    -0x1(%ecx),%ebx
4d9e39:	0f 84 88 00 00 00    	je     0x4d9ec7
4d9e3f:	8b 48 08             	mov    0x8(%eax),%ecx
4d9e42:	33 d2                	xor    %edx,%edx
4d9e44:	55                   	push   %ebp
4d9e45:	33 ed                	xor    %ebp,%ebp
4d9e47:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4d9e4e:	00
4d9e4f:	89 54 24 18          	mov    %edx,0x18(%esp)
4d9e53:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4d9e57:	85 c9                	test   %ecx,%ecx
4d9e59:	7e 56                	jle    0x4d9eb1
4d9e5b:	8b 08                	mov    (%eax),%ecx
4d9e5d:	56                   	push   %esi
4d9e5e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4d9e62:	57                   	push   %edi
4d9e63:	ff 31                	push   (%ecx)
4d9e65:	8b c5                	mov    %ebp,%eax
4d9e67:	33 c3                	xor    %ebx,%eax
4d9e69:	8d 78 ff             	lea    -0x1(%eax),%edi
4d9e6c:	f7 d0                	not    %eax
4d9e6e:	c1 ef 1f             	shr    $0x1f,%edi
4d9e71:	c1 e8 1f             	shr    $0x1f,%eax
4d9e74:	23 f8                	and    %eax,%edi
4d9e76:	f7 df                	neg    %edi
4d9e78:	8b f7                	mov    %edi,%esi
4d9e7a:	0b 74 24 14          	or     0x14(%esp),%esi
4d9e7e:	e8 6d 00 00 00       	call   0x4d9ef0
4d9e83:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4d9e87:	8b d6                	mov    %esi,%edx
4d9e89:	f7 d2                	not    %edx
4d9e8b:	89 74 24 14          	mov    %esi,0x14(%esp)
4d9e8f:	83 e2 20             	and    $0x20,%edx
4d9e92:	23 c7                	and    %edi,%eax
4d9e94:	03 54 24 24          	add    0x24(%esp),%edx
4d9e98:	45                   	inc    %ebp
4d9e99:	03 d0                	add    %eax,%edx
4d9e9b:	83 c1 04             	add    $0x4,%ecx
4d9e9e:	83 c4 04             	add    $0x4,%esp
4d9ea1:	89 54 24 20          	mov    %edx,0x20(%esp)
4d9ea5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4d9ea9:	3b 6c 24 18          	cmp    0x18(%esp),%ebp
4d9ead:	7c b4                	jl     0x4d9e63
4d9eaf:	5f                   	pop    %edi
4d9eb0:	5e                   	pop    %esi
4d9eb1:	8b c3                	mov    %ebx,%eax
4d9eb3:	c1 eb 1f             	shr    $0x1f,%ebx
4d9eb6:	f7 d0                	not    %eax
4d9eb8:	48                   	dec    %eax
4d9eb9:	c1 e8 1f             	shr    $0x1f,%eax
4d9ebc:	23 c3                	and    %ebx,%eax
4d9ebe:	48                   	dec    %eax
4d9ebf:	5d                   	pop    %ebp
4d9ec0:	23 c2                	and    %edx,%eax
4d9ec2:	5b                   	pop    %ebx
4d9ec3:	83 c4 0c             	add    $0xc,%esp
4d9ec6:	c3                   	ret
4d9ec7:	85 c9                	test   %ecx,%ecx
4d9ec9:	75 07                	jne    0x4d9ed2
4d9ecb:	33 c0                	xor    %eax,%eax
4d9ecd:	5b                   	pop    %ebx
4d9ece:	83 c4 0c             	add    $0xc,%esp
4d9ed1:	c3                   	ret
4d9ed2:	8b 00                	mov    (%eax),%eax
4d9ed4:	ff 34 98             	push   (%eax,%ebx,4)
4d9ed7:	e8 14 00 00 00       	call   0x4d9ef0
4d9edc:	83 c4 04             	add    $0x4,%esp
4d9edf:	c1 e3 05             	shl    $0x5,%ebx
4d9ee2:	03 c3                	add    %ebx,%eax
4d9ee4:	5b                   	pop    %ebx
4d9ee5:	83 c4 0c             	add    $0xc,%esp
4d9ee8:	c3                   	ret
4d9ee9:	cc                   	int3
4d9eea:	cc                   	int3
4d9eeb:	cc                   	int3
4d9eec:	cc                   	int3
4d9eed:	cc                   	int3
4d9eee:	cc                   	int3
4d9eef:	cc                   	int3
4d9ef0:	53                   	push   %ebx
4d9ef1:	56                   	push   %esi
4d9ef2:	8b 74 24 0c          	mov    0xc(%esp),%esi
4d9ef6:	33 db                	xor    %ebx,%ebx
4d9ef8:	8b d6                	mov    %esi,%edx
4d9efa:	c1 ea 10             	shr    $0x10,%edx
4d9efd:	8b ca                	mov    %edx,%ecx
4d9eff:	f7 d9                	neg    %ecx
4d9f01:	c1 e9 1f             	shr    $0x1f,%ecx
4d9f04:	f7 d9                	neg    %ecx
4d9f06:	85 f6                	test   %esi,%esi
4d9f08:	8b c1                	mov    %ecx,%eax
4d9f0a:	0f 95 c3             	setne  %bl
4d9f0d:	33 d6                	xor    %esi,%edx
4d9f0f:	23 d1                	and    %ecx,%edx
4d9f11:	83 e0 10             	and    $0x10,%eax
4d9f14:	33 f2                	xor    %edx,%esi
4d9f16:	03 d8                	add    %eax,%ebx
4d9f18:	8b d6                	mov    %esi,%edx
4d9f1a:	c1 ea 08             	shr    $0x8,%edx
4d9f1d:	8b ca                	mov    %edx,%ecx
4d9f1f:	33 d6                	xor    %esi,%edx
4d9f21:	f7 d9                	neg    %ecx
4d9f23:	c1 e9 1f             	shr    $0x1f,%ecx
4d9f26:	f7 d9                	neg    %ecx
4d9f28:	23 d1                	and    %ecx,%edx
4d9f2a:	8b c1                	mov    %ecx,%eax
4d9f2c:	33 f2                	xor    %edx,%esi
4d9f2e:	83 e0 08             	and    $0x8,%eax
4d9f31:	8b d6                	mov    %esi,%edx
4d9f33:	03 d8                	add    %eax,%ebx
4d9f35:	c1 ea 04             	shr    $0x4,%edx
4d9f38:	8b ca                	mov    %edx,%ecx
4d9f3a:	33 d6                	xor    %esi,%edx
4d9f3c:	f7 d9                	neg    %ecx
4d9f3e:	c1 e9 1f             	shr    $0x1f,%ecx
4d9f41:	f7 d9                	neg    %ecx
4d9f43:	23 d1                	and    %ecx,%edx
4d9f45:	8b c1                	mov    %ecx,%eax
4d9f47:	83 e0 04             	and    $0x4,%eax
4d9f4a:	33 f2                	xor    %edx,%esi
4d9f4c:	03 d8                	add    %eax,%ebx
4d9f4e:	8b ce                	mov    %esi,%ecx
4d9f50:	c1 e9 02             	shr    $0x2,%ecx
4d9f53:	8b c1                	mov    %ecx,%eax
4d9f55:	33 ce                	xor    %esi,%ecx
4d9f57:	f7 d8                	neg    %eax