5a3c85:	83 c4 0c             	add    $0xc,%esp
5a3c88:	85 c0                	test   %eax,%eax
5a3c8a:	75 03                	jne    0x5a3c8f
5a3c8c:	5f                   	pop    %edi
5a3c8d:	5e                   	pop    %esi
5a3c8e:	c3                   	ret
5a3c8f:	01 7e 0c             	add    %edi,0xc(%esi)
5a3c92:	b8 01 00 00 00       	mov    $0x1,%eax
5a3c97:	01 7e 08             	add    %edi,0x8(%esi)
5a3c9a:	5f                   	pop    %edi
5a3c9b:	5e                   	pop    %esi
5a3c9c:	c3                   	ret
5a3c9d:	cc                   	int3
5a3c9e:	cc                   	int3
5a3c9f:	cc                   	int3
5a3ca0:	57                   	push   %edi
5a3ca1:	8b 7c 24 08          	mov    0x8(%esp),%edi
5a3ca5:	8b 47 14             	mov    0x14(%edi),%eax
5a3ca8:	85 c0                	test   %eax,%eax
5a3caa:	74 20                	je     0x5a3ccc
5a3cac:	56                   	push   %esi
5a3cad:	0f 1f 00             	nopl   (%eax)
5a3cb0:	8b 30                	mov    (%eax),%esi
5a3cb2:	68 a5 01 00 00       	push   $0x1a5
5a3cb7:	68 bc 7c 66 00       	push   $0x667cbc
5a3cbc:	50                   	push   %eax
5a3cbd:	e8 be ca f3 ff       	call   0x4e0780
5a3cc2:	83 c4 0c             	add    $0xc,%esp
5a3cc5:	8b c6                	mov    %esi,%eax
5a3cc7:	85 f6                	test   %esi,%esi
5a3cc9:	75 e5                	jne    0x5a3cb0
5a3ccb:	5e                   	pop    %esi
5a3ccc:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
5a3cd3:	5f                   	pop    %edi
5a3cd4:	c3                   	ret
5a3cd5:	cc                   	int3
5a3cd6:	cc                   	int3
5a3cd7:	cc                   	int3
5a3cd8:	cc                   	int3
5a3cd9:	cc                   	int3
5a3cda:	cc                   	int3
5a3cdb:	cc                   	int3
5a3cdc:	cc                   	int3
5a3cdd:	cc                   	int3
5a3cde:	cc                   	int3
5a3cdf:	cc                   	int3
5a3ce0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a3ce4:	8b 41 14             	mov    0x14(%ecx),%eax
5a3ce7:	85 c0                	test   %eax,%eax
5a3ce9:	74 12                	je     0x5a3cfd
5a3ceb:	83 38 00             	cmpl   $0x0,(%eax)
5a3cee:	74 0d                	je     0x5a3cfd
5a3cf0:	6a 01                	push   $0x1
5a3cf2:	50                   	push   %eax
5a3cf3:	51                   	push   %ecx
5a3cf4:	e8 e7 05 00 00       	call   0x5a42e0
5a3cf9:	83 c4 0c             	add    $0xc,%esp
5a3cfc:	c3                   	ret
5a3cfd:	33 c0                	xor    %eax,%eax
5a3cff:	c3                   	ret
5a3d00:	53                   	push   %ebx
5a3d01:	8b 5c 24 08          	mov    0x8(%esp),%ebx
5a3d05:	56                   	push   %esi
5a3d06:	57                   	push   %edi
5a3d07:	8b 73 14             	mov    0x14(%ebx),%esi
5a3d0a:	85 f6                	test   %esi,%esi
5a3d0c:	74 50                	je     0x5a3d5e
5a3d0e:	66 90                	xchg   %ax,%ax
5a3d10:	8b 43 0c             	mov    0xc(%ebx),%eax
5a3d13:	2b 46 0c             	sub    0xc(%esi),%eax
5a3d16:	75 06                	jne    0x5a3d1e
5a3d18:	f6 46 10 03          	testb  $0x3,0x10(%esi)
5a3d1c:	75 40                	jne    0x5a3d5e
5a3d1e:	8b 56 08             	mov    0x8(%esi),%edx
5a3d21:	85 d2                	test   %edx,%edx
5a3d23:	74 2c                	je     0x5a3d51
5a3d25:	8b 7b 04             	mov    0x4(%ebx),%edi
5a3d28:	85 ff                	test   %edi,%edi
5a3d2a:	75 05                	jne    0x5a3d31
5a3d2c:	8b 0b                	mov    (%ebx),%ecx
5a3d2e:	8b 79 04             	mov    0x4(%ecx),%edi
5a3d31:	8b 4e 04             	mov    0x4(%esi),%ecx
5a3d34:	49                   	dec    %ecx
5a3d35:	03 cf                	add    %edi,%ecx
5a3d37:	03 ca                	add    %edx,%ecx
5a3d39:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5a3d40:	88 01                	mov    %al,(%ecx)
5a3d42:	8d 49 ff             	lea    -0x1(%ecx),%ecx
5a3d45:	c1 e8 08             	shr    $0x8,%eax
5a3d48:	83 ea 01             	sub    $0x1,%edx
5a3d4b:	75 f3                	jne    0x5a3d40
5a3d4d:	85 c0                	test   %eax,%eax
5a3d4f:	75 0d                	jne    0x5a3d5e
5a3d51:	8b 36                	mov    (%esi),%esi
5a3d53:	85 f6                	test   %esi,%esi
5a3d55:	75 b9                	jne    0x5a3d10
5a3d57:	5f                   	pop    %edi
5a3d58:	8d 46 01             	lea    0x1(%esi),%eax
5a3d5b:	5e                   	pop    %esi
5a3d5c:	5b                   	pop    %ebx
5a3d5d:	c3                   	ret
5a3d5e:	5f                   	pop    %edi
5a3d5f:	5e                   	pop    %esi
5a3d60:	33 c0                	xor    %eax,%eax
5a3d62:	5b                   	pop    %ebx
5a3d63:	c3                   	ret
5a3d64:	cc                   	int3
5a3d65:	cc                   	int3
5a3d66:	cc                   	int3
5a3d67:	cc                   	int3
5a3d68:	cc                   	int3
5a3d69:	cc                   	int3
5a3d6a:	cc                   	int3
5a3d6b:	cc                   	int3
5a3d6c:	cc                   	int3
5a3d6d:	cc                   	int3
5a3d6e:	cc                   	int3
5a3d6f:	cc                   	int3
5a3d70:	56                   	push   %esi
5a3d71:	8b 74 24 08          	mov    0x8(%esp),%esi
5a3d75:	8b 46 14             	mov    0x14(%esi),%eax
5a3d78:	85 c0                	test   %eax,%eax
5a3d7a:	74 39                	je     0x5a3db5
5a3d7c:	83 38 00             	cmpl   $0x0,(%eax)
5a3d7f:	75 34                	jne    0x5a3db5
5a3d81:	57                   	push   %edi
5a3d82:	6a 01                	push   $0x1
5a3d84:	50                   	push   %eax
5a3d85:	56                   	push   %esi
5a3d86:	e8 55 05 00 00       	call   0x5a42e0
5a3d8b:	8b f8                	mov    %eax,%edi
5a3d8d:	83 c4 0c             	add    $0xc,%esp
5a3d90:	85 ff                	test   %edi,%edi
5a3d92:	74 1c                	je     0x5a3db0
5a3d94:	68 09 01 00 00       	push   $0x109
5a3d99:	68 bc 7c 66 00       	push   $0x667cbc
5a3d9e:	ff 76 14             	push   0x14(%esi)
5a3da1:	e8 da c9 f3 ff       	call   0x4e0780
5a3da6:	83 c4 0c             	add    $0xc,%esp
5a3da9:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
5a3db0:	8b c7                	mov    %edi,%eax
5a3db2:	5f                   	pop    %edi
5a3db3:	5e                   	pop    %esi
5a3db4:	c3                   	ret
5a3db5:	33 c0                	xor    %eax,%eax
5a3db7:	5e                   	pop    %esi
5a3db8:	c3                   	ret
5a3db9:	cc                   	int3
5a3dba:	cc                   	int3
5a3dbb:	cc                   	int3
5a3dbc:	cc                   	int3
5a3dbd:	cc                   	int3
5a3dbe:	cc                   	int3
5a3dbf:	cc                   	int3
5a3dc0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5a3dc4:	8b 51 04             	mov    0x4(%ecx),%edx
5a3dc7:	85 d2                	test   %edx,%edx
5a3dc9:	75 05                	jne    0x5a3dd0
5a3dcb:	8b 01                	mov    (%ecx),%eax
5a3dcd:	8b 50 04             	mov    0x4(%eax),%edx
5a3dd0:	8b 41 08             	mov    0x8(%ecx),%eax
5a3dd3:	03 c2                	add    %edx,%eax
5a3dd5:	c3                   	ret
5a3dd6:	cc                   	int3
5a3dd7:	cc                   	int3
5a3dd8:	cc                   	int3
5a3dd9:	cc                   	int3
5a3dda:	cc                   	int3
5a3ddb:	cc                   	int3
5a3ddc:	cc                   	int3
5a3ddd:	cc                   	int3
5a3dde:	cc                   	int3
5a3ddf:	cc                   	int3
5a3de0:	8b 44 24 04          	mov    0x4(%esp),%eax
5a3de4:	8b 48 14             	mov    0x14(%eax),%ecx
5a3de7:	85 c9                	test   %ecx,%ecx
5a3de9:	74 16                	je     0x5a3e01
5a3deb:	8b 54 24 08          	mov    0x8(%esp),%edx
5a3def:	85 d2                	test   %edx,%edx
5a3df1:	74 0e                	je     0x5a3e01
5a3df3:	8b 40 0c             	mov    0xc(%eax),%eax
5a3df6:	2b 41 0c             	sub    0xc(%ecx),%eax
5a3df9:	89 02                	mov    %eax,(%edx)
5a3dfb:	b8 01 00 00 00       	mov    $0x1,%eax
5a3e00:	c3                   	ret
5a3e01:	33 c0                	xor    %eax,%eax
5a3e03:	c3                   	ret
5a3e04:	cc                   	int3
5a3e05:	cc                   	int3
5a3e06:	cc                   	int3
5a3e07:	cc                   	int3
5a3e08:	cc                   	int3
5a3e09:	cc                   	int3
5a3e0a:	cc                   	int3
5a3e0b:	cc                   	int3
5a3e0c:	cc                   	int3
5a3e0d:	cc                   	int3
5a3e0e:	cc                   	int3
5a3e0f:	cc                   	int3
5a3e10:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5a3e14:	85 c9                	test   %ecx,%ecx
5a3e16:	75 03                	jne    0x5a3e1b
5a3e18:	33 c0                	xor    %eax,%eax
5a3e1a:	c3                   	ret
5a3e1b:	8b 44 24 04          	mov    0x4(%esp),%eax
5a3e1f:	8b 40 0c             	mov    0xc(%eax),%eax
5a3e22:	89 01                	mov    %eax,(%ecx)
5a3e24:	b8 01 00 00 00       	mov    $0x1,%eax
5a3e29:	c3                   	ret
5a3e2a:	cc                   	int3
5a3e2b:	cc                   	int3
5a3e2c:	cc                   	int3
5a3e2d:	cc                   	int3
5a3e2e:	cc                   	int3
5a3e2f:	cc                   	int3
5a3e30:	8b 44 24 08          	mov    0x8(%esp),%eax
5a3e34:	85 c0                	test   %eax,%eax
5a3e36:	74 54                	je     0x5a3e8c
5a3e38:	56                   	push   %esi
5a3e39:	8b 74 24 08          	mov    0x8(%esp),%esi
5a3e3d:	6a 61                	push   $0x61
5a3e3f:	68 bc 7c 66 00       	push   $0x667cbc
5a3e44:	6a 14                	push   $0x14
5a3e46:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5a3e4d:	89 06                	mov    %eax,(%esi)
5a3e4f:	c7 46 10 ff ff ff ff 	movl   $0xffffffff,0x10(%esi)
5a3e56:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5a3e5d:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
5a3e64:	e8 d7 cb f3 ff       	call   0x4e0a40
5a3e69:	83 c4 0c             	add    $0xc,%esp
5a3e6c:	89 46 14             	mov    %eax,0x14(%esi)
5a3e6f:	5e                   	pop    %esi
5a3e70:	85 c0                	test   %eax,%eax
5a3e72:	75 1b                	jne    0x5a3e8f
5a3e74:	6a 62                	push   $0x62
5a3e76:	68 bc 7c 66 00       	push   $0x667cbc
5a3e7b:	6a 41                	push   $0x41
5a3e7d:	68 79 02 00 00       	push   $0x279
5a3e82:	6a 14                	push   $0x14
5a3e84:	e8 f7 50 f3 ff       	call   0x4d8f80
5a3e89:	83 c4 14             	add    $0x14,%esp
5a3e8c:	33 c0                	xor    %eax,%eax
5a3e8e:	c3                   	ret
5a3e8f:	b8 01 00 00 00       	mov    $0x1,%eax
5a3e94:	c3                   	ret
5a3e95:	cc                   	int3
5a3e96:	cc                   	int3
5a3e97:	cc                   	int3
5a3e98:	cc                   	int3
5a3e99:	cc                   	int3
5a3e9a:	cc                   	int3
5a3e9b:	cc                   	int3
5a3e9c:	cc                   	int3
5a3e9d:	cc                   	int3
5a3e9e:	cc                   	int3
5a3e9f:	cc                   	int3
5a3ea0:	8b 54 24 10          	mov    0x10(%esp),%edx
5a3ea4:	56                   	push   %esi
5a3ea5:	57                   	push   %edi
5a3ea6:	83 fa 04             	cmp    $0x4,%edx
5a3ea9:	73 19                	jae    0x5a3ec4
5a3eab:	85 d2                	test   %edx,%edx
5a3ead:	74 15                	je     0x5a3ec4
5a3eaf:	8d 0c d5 00 00 00 00 	lea    0x0(,%edx,8),%ecx
5a3eb6:	b8 01 00 00 00       	mov    $0x1,%eax
5a3ebb:	d3 e0                	shl    %cl,%eax
5a3ebd:	8d 72 ff             	lea    -0x1(%edx),%esi
5a3ec0:	03 f0                	add    %eax,%esi
5a3ec2:	eb 03                	jmp    0x5a3ec7
5a3ec4:	83 ce ff             	or     $0xffffffff,%esi
5a3ec7:	8b 7c 24 10          	mov    0x10(%esp),%edi
5a3ecb:	85 ff                	test   %edi,%edi
5a3ecd:	74 2a                	je     0x5a3ef9
5a3ecf:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a3ed3:	85 c9                	test   %ecx,%ecx
5a3ed5:	74 22                	je     0x5a3ef9
5a3ed7:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a3edb:	3b f1                	cmp    %ecx,%esi
5a3edd:	52                   	push   %edx
5a3ede:	0f 42 ce             	cmovb  %esi,%ecx
5a3ee1:	50                   	push   %eax
5a3ee2:	89 78 04             	mov    %edi,0x4(%eax)
5a3ee5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5a3eeb:	89 48 10             	mov    %ecx,0x10(%eax)
5a3eee:	e8 9d 04 00 00       	call   0x5a4390
5a3ef3:	83 c4 08             	add    $0x8,%esp
5a3ef6:	5f                   	pop    %edi
5a3ef7:	5e                   	pop    %esi
5a3ef8:	c3                   	ret
5a3ef9:	5f                   	pop    %edi
5a3efa:	33 c0                	xor    %eax,%eax
5a3efc:	5e                   	pop    %esi
5a3efd:	c3                   	ret
5a3efe:	cc                   	int3
5a3eff:	cc                   	int3
5a3f00:	56                   	push   %esi
5a3f01:	8b 74 24 10          	mov    0x10(%esp),%esi
5a3f05:	85 f6                	test   %esi,%esi
5a3f07:	75 05                	jne    0x5a3f0e
5a3f09:	8d 46 01             	lea    0x1(%esi),%eax
5a3f0c:	5e                   	pop    %esi
5a3f0d:	c3                   	ret
5a3f0e:	57                   	push   %edi
5a3f0f:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a3f13:	8d 44 24 14          	lea    0x14(%esp),%eax
5a3f17:	50                   	push   %eax
5a3f18:	56                   	push   %esi
5a3f19:	57                   	push   %edi
5a3f1a:	e8 e1 00 00 00       	call   0x5a4000
5a3f1f:	83 c4 0c             	add    $0xc,%esp
5a3f22:	85 c0                	test   %eax,%eax
5a3f24:	74 1f                	je     0x5a3f45
5a3f26:	01 77 0c             	add    %esi,0xc(%edi)
5a3f29:	01 77 08             	add    %esi,0x8(%edi)
5a3f2c:	56                   	push   %esi
5a3f2d:	ff 74 24 14          	push   0x14(%esp)
5a3f31:	ff 74 24 1c          	push   0x1c(%esp)
5a3f35:	e8 96 ee 02 00       	call   0x5d2dd0
5a3f3a:	83 c4 0c             	add    $0xc,%esp
5a3f3d:	b8 01 00 00 00       	mov    $0x1,%eax
5a3f42:	5f                   	pop    %edi
5a3f43:	5e                   	pop    %esi
5a3f44:	c3                   	ret
5a3f45:	5f                   	pop    %edi
5a3f46:	33 c0                	xor    %eax,%eax
5a3f48:	5e                   	pop    %esi
5a3f49:	c3                   	ret
5a3f4a:	cc                   	int3
5a3f4b:	cc                   	int3
5a3f4c:	cc                   	int3
5a3f4d:	cc                   	int3
5a3f4e:	cc                   	int3
5a3f4f:	cc                   	int3
5a3f50:	56                   	push   %esi
5a3f51:	8b 74 24 10          	mov    0x10(%esp),%esi
5a3f55:	85 f6                	test   %esi,%esi
5a3f57:	75 05                	jne    0x5a3f5e
5a3f59:	8d 46 01             	lea    0x1(%esi),%eax
5a3f5c:	5e                   	pop    %esi
5a3f5d:	c3                   	ret
5a3f5e:	57                   	push   %edi
5a3f5f:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5a3f63:	8d 44 24 14          	lea    0x14(%esp),%eax
5a3f67:	50                   	push   %eax
5a3f68:	56                   	push   %esi
5a3f69:	57                   	push   %edi
5a3f6a:	e8 91 00 00 00       	call   0x5a4000
5a3f6f:	83 c4 0c             	add    $0xc,%esp
5a3f72:	85 c0                	test   %eax,%eax
5a3f74:	74 1f                	je     0x5a3f95